Skip to content

Restored scope of transitive dependencies to 'compile' in eclipse-base. #707

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

Merged
merged 1 commit into from
Sep 24, 2020

Conversation

fvgh
Copy link
Member

@fvgh fvgh commented Sep 24, 2020

With #428 we modernized the build, replacing compile dependencies by implementation.
As pointed out already in that PR by @jbduncan, api from java-library might also be required.

The relevant change for eclipse-base is actually not caused by the java-library, but by the maven-publish.
In the Customizing dependencies versions section it is described that implementation is mapped to the runtime scope, whereas api is mapped to the compile.

Apache Maven explained in their documentation why their default scope is compile. So the "silent change" of Gradle from compile to runtime comes unexpected.

Where Gradle really fails is the latter usage in testImplementation, where for imported M2 runtime dependencies the class loading fails at runtime. It seems to be a bug in Gradle or at least an inconsistency.

However, form the Maven perspective the compile scope is cleaner, since eclipse-base is meant as a framework, providing a minimal Eclipse setup. This explicitly foresees that the interfaces provided by the transitive dependencies shall be used by the eclipse-baseuser.

So the Gradle problem is not investigated further. Instead the dependency scope of eclipse-base is restored to compile as it has been before version 3.4.0.

@fvgh fvgh requested a review from nedtwigg September 24, 2020 17:17
@fvgh
Copy link
Member Author

fvgh commented Sep 24, 2020

@nedtwigg Please check whether you can agree to my arguing. In that case you/I can release the fixed version (minor version upgrade). BTW: Do you still use Gitter?

Copy link
Member

@nedtwigg nedtwigg left a comment

Choose a reason for hiding this comment

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

LGTM! I'll let you press merge and the release button. I do still use gitter, so happy to help if you have any issues.

@fvgh
Copy link
Member Author

fvgh commented Sep 24, 2020

I do still use gitter, so happy to help if you have any issues.
Just wrote something today...

@fvgh fvgh merged commit ba8d79d into main Sep 24, 2020
@fvgh fvgh deleted the eclipse-base branch September 24, 2020 17:27
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

Successfully merging this pull request may close these issues.

2 participants