New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tools: Scan for "components" #7644

Merged
merged 7 commits into from Aug 28, 2018

Conversation

Projects
None yet
10 participants
@theotherjimmy
Contributor

theotherjimmy commented Jul 30, 2018

Description

Requested by @sg-

Creates the COMPONENT_ scanning rule to match the target.components,
target.components_add and targets.components_remove configuration values.

@sg- to provide justification

Pull request type

[ ] Fix
[ ] Refactor
[ ] New target
[x] Feature
[ ] Breaking change
@sg-

This comment has been minimized.

Member

sg- commented Jul 30, 2018

Great, naming TBD but otherwise looks great 👍

@theotherjimmy

This comment has been minimized.

Contributor

theotherjimmy commented Jul 30, 2018

@sg-, when you say naming TBD, are you referring to the scan rule? the config variables? both?

@sg-

This comment has been minimized.

Member

sg- commented Jul 30, 2018

@sg-, when you say naming TBD, are you referring to the scan rule? the config variables? both?

both

@bulislaw

This comment has been minimized.

Member

bulislaw commented Jul 31, 2018

I think we need a strong documentation to match these changes. It'll confuse people, we should explain what's the difference between feature and a component.

@0xc0170 0xc0170 requested review from bulislaw and sg- Jul 31, 2018

@SeppoTakalo

This comment has been minimized.

Contributor

SeppoTakalo commented Aug 1, 2018

I'm unsure is this really needed.
Feels like we have too many different ways to selectively compile things in. For example, what this PR achieves, could have been done by just target.extra_labels_add which is what our test application used for a while.

(Sorry, not public links)

If I could vote on this design, I would have gone to direction where we use more generic ways of flagging buildable stuff. For example all TARGET_*, TOOLCHAIN_* and FEATURE_* could be just using one single build rules. Now FEATURES and TARGETS use different rules, and behave little bit differently. FEATURES cannot be nested but TARGETS and TOOLCHAINS can. How about COMPONENTS?

@theotherjimmy

This comment has been minimized.

Contributor

theotherjimmy commented Aug 1, 2018

@SeppoTakalo

If I could vote on this design,

Luckily, your info is out of date:

would have gone to direction where we use more generic ways of flagging buildable stuff.

If you look at all that I changed to add another one, it's pretty generic.

For example all TARGET_, TOOLCHAIN_ and FEATURE_* could be just using one single build rules.

This is currently the case.

FEATURES cannot be nested but TARGETS and TOOLCHAINS can. How about COMPONENTS?

All scan rules can be nested on current master branch. Give it a shot!

@theotherjimmy theotherjimmy force-pushed the theotherjimmy:components branch from 4e183a8 to a4aa485 Aug 6, 2018

@loverdeg-ep

This comment has been minimized.

loverdeg-ep commented Aug 10, 2018

@theotherjimmy I assume components refer to "on board" components versus "on die" components?

@loverdeg-ep

This comment has been minimized.

loverdeg-ep commented Aug 10, 2018

@theotherjimmy also are component sources intended to exist within mbed-os or externally?

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 14, 2018

@SeppoTakalo @loverdeg-ep If it helps, this is an example use case of why having this descriptor would help: #7774

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 14, 2018

@sg- @bulislaw @theotherjimmy Any more thoughts on the naming, since it this PR has been open for a while? Imo, "Components" seems a bit too generic, but I also don't have any better suggestions.

@theotherjimmy Be advised this still needs to pass Travis.

@bulislaw

Looks good. That needs to be documented in Handbook including some guidance what belongs in TARGET, FEATURE, COMPONENT and TOOLCHAIN even if you think it's obvious.

@adbridge

This comment has been minimized.

Contributor

adbridge commented Aug 15, 2018

@theotherjimmy could you please respond to @cmonr comments ?

@cmonr cmonr added needs: work and removed needs: review labels Aug 17, 2018

@loverdeg-ep

This comment has been minimized.

loverdeg-ep commented Aug 20, 2018

Would the build system support using this scan rule to have a "target support package" pull a sensor driver, for example, from an external repository?

My thinking,

  • For boards with particular sensors the current required approach is to bring the sensor driver in as part of the application.
  • I'd prefer the BSP pull in recommended/default sensor drivers from an external repository.
  • I want to reduce redundant effort as much as possible by taking BSP/target support very literally

Probably wandering a little too far down a side road, but this is what I want as a user.

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Aug 22, 2018

@theotherjimmy What is the status ? There are few dependent PR targeting also 5.10 release. Documentation PR?

@cmonr cmonr added risk: G risk: A and removed risk: G labels Aug 23, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 24, 2018

Making a note here that this is a dependency for #7774, which will need some TLC to get in.

@theotherjimmy

This comment has been minimized.

Contributor

theotherjimmy commented Aug 24, 2018

@cmonr @0xc0170 @adbridge I can't answer any questions about how I intend this to be used, because I don't know the answers. @sg- should be asked instead.

@theotherjimmy theotherjimmy force-pushed the theotherjimmy:components branch from 5ae4e6c to e695a34 Aug 27, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 27, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Aug 28, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 28, 2018

Wow. License issue.

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Aug 28, 2018

@cmonr

This comment has been minimized.

Contributor

cmonr commented Aug 28, 2018

Looks like something's happened to the ARM compiler license server.

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Aug 28, 2018

/morph build

@0xc0170 0xc0170 added needs: CI and removed needs: work labels Aug 28, 2018

@mbed-ci

This comment has been minimized.

mbed-ci commented Aug 28, 2018

Build : SUCCESS

Build number : 2937
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/7644/

Triggering tests

/morph test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@cmonr cmonr added risk: A risk: G and removed risk: R risk: A labels Aug 28, 2018

@mbed-ci

This comment has been minimized.

@cmonr cmonr added ready for merge and removed needs: CI labels Aug 28, 2018

@cmonr

cmonr approved these changes Aug 28, 2018

@cmonr cmonr merged commit 2e081dc into ARMmbed:master Aug 28, 2018

14 checks passed

ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed , RTOS ROM(+0.0%) RAM(+0.0%)
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/cloud_client_smoke_test Test job was successful
Details
travis-ci/astyle Passed, 555 files
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 9149 cycles (-1091 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8372B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details

@cmonr cmonr removed the risk: G label Sep 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment