我有许多Arduino项目使用的库。我使用PlatformIO作为构建系统,因此我在库的根目录中创建了一个library.json
文件,以标识当我将此库包含在项目中时应加载的相关库。一切都很好。
有时依赖库会发生变化-PlatformIO对在Arduino library.properties
文件中重命名它们特别敏感。当我发现我的库仅在尝试构建使用该库的项目时才被破坏,这真令人痛苦。
我想将Travis配置为定期运行(感谢Travis cron作业!),并确认我可以加载所有依赖的库。
pio ci
并不真正适用于库。 pio test
需要PlatformIO订阅(强烈建议使用,但并非总是这样)。
答案 0 :(得分:0)
在.travis.yml
中放置以下内容:
```
- language: python
python: 2.7
install:
- pip install -U platformio
script:
- mkdir test_platformio_deps
- cd test_platformio_deps
- echo "[env:adafruit_feather_m0]" > platformio.ini
- echo "platform = atmelsam" >> platformio.ini
- echo "board = adafruit_feather_m0" >> platformio.ini
- echo "framework = arduino" >> platformio.ini
- if [ "${TRAVIS_PULL_REQUEST_SLUG}" = "" ]; then echo "lib_deps = SPI, https://github.com/${TRAVIS_REPO_SLUG}" ; else echo "lib_deps = SPI, https://github.com/${TRAVIS_PULL_REQUEST_SLUG}#${TRAVIS_PULL_REQUEST_BRANCH}" ; fi >> platformio.ini
- cat platformio.ini
- mkdir src
- echo "int main() {}" > src/main.cpp
- platformio run
cache:
directories:
- "~/.platformio"
```
它将创建一个依赖于您的库的简单项目,然后尝试构建它。如果所有依赖项都加载,它将成功。
带有TRAVIS_PULL_REQUEST_SLUG
的棘手行可以处理在PR中运行测试。