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

Prevent platform_feature creation #25

Closed
dannmartens opened this issue Oct 29, 2016 · 6 comments
Closed

Prevent platform_feature creation #25

dannmartens opened this issue Oct 29, 2016 · 6 comments

Comments

@dannmartens
Copy link

Hi,

I was wondering why there is a need for the platform_feature.

Isn't it possible to have the features created with their plugin dependencies populated directly? Now all the dependencies are populated at the level of the platform_feature. I could be mistaken, but doesn't that kind of break the feature definitions?

Cheers,
Dann

@dannmartens
Copy link
Author

Hold on, this seems to be a side effect of the Maven dependency I was trying this on.

feature(id: 'org.apache.jena', name: 'Apache Jena', version: '3.1.0') {
    plugin 'org.apache.jena:apache-jena-libs:3.1.0'
}

@dannmartens
Copy link
Author

This seems to happen if the artifact is a .pom. Perhaps I am making the wrong assumption, here.
With a similar top-level .pom for GWT, nothing gets included and the feature is empty.

feature(id: 'com.google.gwt', name: 'GWT', version: '2.8.0') {
    plugin 'com.google.gwt:gwt:2.8.0'
}

@stempler
Copy link
Owner

stempler commented Oct 31, 2016

If I remember correctly the platform feature is needed because it describes what is to be content of the p2 repository / update site. If you don't give the same ID to the platform feature as to one of the others you shouldn't have a problem. The platform feature exists in addition to any feature that you define.

I'm not sure, but it might cause problems when you have feature IDs that are equal to bundle symbolic names. So you could try something like com.google.gwt.feature your feature's ID.

I'm not sure what you mean with pom dependency - bundles can only be created for Jars, so it might be that it is skipped if it's only artifact is a pom. Might also be that is ignored in the dependency mechanism because there is no Jar.
Does your dependency get properly resolved by Gradle? What is listed for gradle dependencies?

@dannmartens
Copy link
Author

The .pom is a container, a convience construct to get all the jars of GWT. Of course, if it gets ignored, its dependencies will be ignored, as well. Which explains the empty feature.

@stempler
Copy link
Owner

stempler commented Oct 31, 2016

Well, I just say it might. I have no idea how Gradle deals with this kind of dependency. Does it work for you in other Gradle projects?

If your dependency is a so-called bill-of-materials (bom) which is supported in Maven, you might need a third-party plugin to be able to resolve it. See for instance here, here and here.

@stempler
Copy link
Owner

stempler commented Aug 2, 2017

Assuming this is solved, as there was no further feedback. Please reopen if that's not the case.

@stempler stempler closed this as completed Aug 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants