Skip to content

Commit 4e3dd0d

Browse files
committed
Use mbed build api to compile framework
1 parent 1c9b2ae commit 4e3dd0d

9 files changed

+876
-292
lines changed

.travis.yml

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
language: python
22
python:
33
- "2.7"
4+
- "3.6"
45

56
env:
6-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/benchmarks/all PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nrf51_dk -b seeedArchPro"
7+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/benchmarks/all PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nrf52840_dk -b seeedArchPro"
78
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/benchmarks/cenv
89
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/benchmarks/float_math
910
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/benchmarks/mbed PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b mbuino -b dfcm_nnn40"
1011
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/benchmarks/printf
1112
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/dsp/cmsis/fir_f32
1213
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/dsp/mbed/fir_f32
13-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/KL25Z/lptmr PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_kl25z"
14-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/KL25Z/pit PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_kl25z"
15-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/KL25Z/rtc PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_kl25z"
16-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/blinky
14+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/KL25Z/lptmr PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_k64f -b max32620hsp"
15+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/KL25Z/pit PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_k82f -b nucleo_l4r5zi"
16+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/blinky PLATFORMIO_BUILD_FLAGS="-D PIO_FRAMEWORK_MBED_RTOS_PRESENT" PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b lpc1768"
1717
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/can PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b b96b_f446ve -b lpc1549"
1818
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/can_interrupt PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f042k6 -b lpc4088"
19-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/dir PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768"
20-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/echo_flow_control PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b samd21_xpro"
21-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/freopen PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768"
22-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/interruptin_2 PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1114fn28 -b samr21_xpro"
23-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/portout PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b saml21_xpro_b"
24-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/reset PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc11u24 -b frdm_kl05z"
19+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/dir PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b max32620hsp"
20+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/echo_flow_control PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b wizwiki_w7500p"
21+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/freopen PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b nrf52_dk"
22+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/interruptin_2 PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b seeedArchPro -b sdt32625b"
23+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/portout PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b max32620hsp"
24+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/reset PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b wizwiki_w7500p -b frdm_k66f"
2525
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/serial_interrupt
26-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/serial_interrupt_2 PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc4088 -b samd21_xpro"
26+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/serial_interrupt_2 PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc4088 -b wizwiki_w7500p"
2727
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/sleep_timeout
28-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/spi PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b samd21_xpro"
29-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/spi_slave PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1549 -b samr21_xpro"
30-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/stdio_benchmark PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768"
31-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/audio PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b frdm_kl25z -b efm32hg_stk3400 -b lpc4088"
32-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/basic PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_kl25z -b efm32lg_stk3600 -b lpc11u35"
33-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/keyboard PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b disco_f407vg -b frdm_kl25z -b lpc1768"
34-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/midi PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b frdm_kl25z -b efm32lg_stk3600 -b lpc4088"
35-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/mouse_keyboard PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f411re -b frdm_kl25z -b efm32lg_stk3600 -b lpc11u35"
36-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/raw_hid PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_kl25z -b efm32wg_stk3800 -b lpc1768"
37-
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/serial PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b frdm_kl25z -b efm32lg_stk3600 -b lpc11u35"
38-
28+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/spi PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b wizwiki_w7500p"
29+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/spi_slave PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1549 -b sdt32625b"
30+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/mbed/stdio_benchmark PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b lpc1768 -b teensy31"
31+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/audio PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b frdm_k64f -b efm32hg_stk3400 -b lpc4088"
32+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/basic PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_k64f -b efm32lg_stk3600 -b lpc54114"
33+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/keyboard PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b disco_f407vg -b frdm_k82f -b lpc1768"
34+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/midi PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b frdm_k66f -b efm32lg_stk3600 -b lpc4088"
35+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/mouse_keyboard PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f411re -b frdm_k64f -b efm32lg_stk3600 -b lpc54114"
36+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/raw_hid PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b frdm_k64f -b efm32wg_stk3800 -b lpc1768"
37+
- PLATFORMIO_CI_SRC=/home/travis/.platformio/packages/framework-mbed/features/unsupported/tests/usb/device/serial PLATFORMIO_CI_BOARDS_ARGS="--project-option=framework=mbed -b nucleo_f401re -b frdm_k66f -b efm32lg_stk3600 -b lpc54114"
38+
3939
install:
4040
# Don't forget to switch to stable PlatformIO 3.0 (line below) when it will be released
4141
# - pip install -U platformio
@@ -48,6 +48,8 @@ install:
4848
- pio platform install https://github.com/platformio/platform-siliconlabsefm32.git
4949
- pio platform install https://github.com/platformio/platform-teensy.git
5050

51-
51+
before_script:
52+
- python test_latest_framework.py
53+
5254
script:
53-
- if [[ $PLATFORMIO_CI_BOARDS_ARGS ]]; then bash -c 'platformio ci $PLATFORMIO_CI_BOARDS_ARGS'; else platformio ci --project-option=framework=mbed --board bbcmicrobit --board efm32pg_stk3401 --board nucleo_l152re --board frdm_kl46z --board samd21_xpro --board lpc11u35; fi
55+
- if [[ $PLATFORMIO_CI_BOARDS_ARGS ]]; then bash -c 'platformio ci $PLATFORMIO_CI_BOARDS_ARGS'; else platformio ci --project-option=framework=mbed --board efm32pg_stk3401 --board nucleo_l152re --board frdm_kl46z --board wizwiki_w7500eco --board lpc4330_m4; fi

install_python_deps.py

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Copyright 2019-present PlatformIO <[email protected]>
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
16+
import sys
17+
import subprocess
18+
19+
from os import makedirs, remove, walk
20+
from os.path import abspath, dirname, isdir, join, normpath
21+
from shutil import rmtree
22+
23+
pio_tools = dirname(abspath(__file__))
24+
python_exe = normpath(sys.executable)
25+
26+
27+
def exec_cmd(*args, **kwargs):
28+
print(" ".join(args[0]))
29+
return subprocess.call(*args, **kwargs)
30+
31+
32+
def build_packages():
33+
34+
packages = (
35+
"intelhex==2.2.1",
36+
"jinja2==2.10",
37+
"pyelftools==0.25",
38+
"beautifulsoup4==4.7.1",
39+
"fuzzywuzzy==0.17.0",
40+
"future==0.17.1",
41+
"prettytable==0.7.2",
42+
"jsonschema==2.6.0",
43+
"six==1.12.0"
44+
)
45+
46+
target_dir = join(
47+
pio_tools, "package_deps", "py%s" % sys.version_info.major)
48+
if isdir(target_dir):
49+
rmtree(target_dir)
50+
makedirs(target_dir)
51+
for name in packages:
52+
exec_cmd([
53+
python_exe, "-m", "pip", "install", "--no-cache-dir",
54+
"--no-compile", "-t", target_dir, name
55+
])
56+
cleanup_packages(target_dir)
57+
58+
59+
def cleanup_packages(package_dir):
60+
for root, dirs, files in walk(package_dir):
61+
for t in ("_test", "test", "tests"):
62+
if t in dirs:
63+
rmtree(join(root, t))
64+
for name in files:
65+
if name.endswith((".chm", ".pyc")):
66+
remove(join(root, name))
67+
68+
build_packages()

0 commit comments

Comments
 (0)