Skip to content
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
Merged

Tools: Scan for "components" #7644

merged 7 commits into from Aug 28, 2018

Conversation

theotherjimmy
Copy link
Contributor

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-
Copy link
Contributor

sg- commented Jul 30, 2018

Great, naming TBD but otherwise looks great 👍

@theotherjimmy
Copy link
Contributor Author

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

@sg-
Copy link
Contributor

sg- commented Jul 30, 2018

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

both

@bulislaw
Copy link
Member

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- July 31, 2018 09:06
@SeppoTakalo
Copy link
Contributor

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
Copy link
Contributor Author

@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!

@0Grit
Copy link

0Grit commented Aug 10, 2018

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

@0Grit
Copy link

0Grit commented Aug 10, 2018

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

@cmonr
Copy link
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
Copy link
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.

Copy link
Member

@bulislaw bulislaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Contributor

@theotherjimmy could you please respond to @cmonr comments ?

@0Grit
Copy link

0Grit 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
Copy link
Contributor

0xc0170 commented Aug 22, 2018

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

@cmonr
Copy link
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
Copy link
Contributor Author

@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.

@cmonr
Copy link
Contributor

cmonr commented Aug 27, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Aug 28, 2018

Build : FAILURE

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

@cmonr
Copy link
Contributor

cmonr commented Aug 28, 2018

Wow. License issue.

/morph build

@mbed-ci
Copy link

mbed-ci commented Aug 28, 2018

Build : ABORTED

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

@cmonr
Copy link
Contributor

cmonr commented Aug 28, 2018

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

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 28, 2018

/morph build

@mbed-ci
Copy link

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
Copy link

mbed-ci commented Aug 28, 2018

@mbed-ci
Copy link

mbed-ci commented Aug 28, 2018

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

Successfully merging this pull request may close these issues.

None yet

10 participants