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

Automate update of .mod files based on pom dependencies #315

Closed
jmcc0nn3ll opened this issue Feb 17, 2016 · 3 comments
Closed

Automate update of .mod files based on pom dependencies #315

jmcc0nn3ll opened this issue Feb 17, 2016 · 3 comments
Assignees
Labels
Build Enhancement Help Wanted Stale For auto-closed stale issues and pull requests
Milestone

Comments

@jmcc0nn3ll
Copy link
Contributor

migrated from Bugzilla #477649
status ASSIGNED severity enhancement in component build for 9.3.x
Reported in version 9.3.0 on platform All
Assigned to: Joakim Erdfelt

On 2015-09-17 02:04:43 -0400, Jan Bartel wrote:

Some modules that have 3rd party dependencies can have a lot of transitive dependencies. Maintaining the .mod file becomes tedious and error-prone.

It would be ideal if there was some tooling to support automatic updating of a .mod file's [lib] section based on the (non-jetty) dependencies expressed in the pom.

On 2015-09-17 10:19:27 -0400, Joakim Erdfelt wrote:

Are we talking about the jetty-distribution mods?
Or something else (3rd party)?

Would a :mod-gen goal on jetty-maven-plugin be appropriate?

Or should a new jetty-module-maven-plugin be created?

On 2015-09-17 20:15:17 -0400, Greg Wilkins wrote:

Joakim,

I think both Jetty and 3rd party modules are valid use-cases.

The situation that inspired this is our session managers, which we currently provide infispan and gcloud implenations of - so they are jetty modules, but with lots of 3rd party dependencies that need to be brought in from the maven repo.

Manually maintaining those modules [files] will be painful, so the main use-case it to generate them perhaps from the output of the maven dependency plugin?

I have no idea if this requires another maven plugin or if it can be done via some other maven magic.

This is low priority as the current modules can be manually maintained for a while.

On 2015-09-17 20:47:32 -0400, Joakim Erdfelt wrote:

Its an interesting idea.

The roles will have to be changed a little bit, as the "output" directory of the libraries will now be defined in the pom.xml as well.

Meaning, if you have the infiniband project, should it put itself into ${jetty.base}/lib/infiniband?

An approach I would probably take is the following ...

Use the maven-dependency-plugin:copy-dependencies
With the useRepositoryLayout set to true.
And the ${jetty.base}/lib/repo/ as the common reference directory.
Then the [files] sections would have fully complete references to what they need.

This would also be a good thing when more than 1 module share a common artifact.
However, this also means that the old concern about library conflict resolution is going to become more relevant.

We should either revisit the use of Eclipse Aether for our library management, or punt on this till Java 9 / JPMS and its solution.

On 2015-09-17 20:49:43 -0400, Jan Bartel wrote:

(In reply to Joakim Erdfelt from comment # 1)

Are we talking about the jetty-distribution mods?
Or something else (3rd party)?

One of our new session manager impls has 1 direct dependency, but it has 32 transitive compile scope dependencies! Hence my concern about trying to keep a .mod file manually up-to-date :)

Would a :mod-gen goal on jetty-maven-plugin be appropriate?

No, I think ideally the jetty-maven-plugin should purely be for end-users to use. This type of a plugin would be for build tooling.

Jan

@joakime joakime removed their assignment Feb 17, 2016
@olamy olamy self-assigned this Apr 2, 2019
@olamy olamy added the Build label Apr 2, 2019
@olamy olamy added this to the 9.4.x milestone Apr 2, 2019
@stale
Copy link

stale bot commented Apr 1, 2020

This issue has been automatically marked as stale because it has been a full year without activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Stale For auto-closed stale issues and pull requests label Apr 1, 2020
@olamy olamy removed the Stale For auto-closed stale issues and pull requests label Apr 1, 2020
@olamy olamy modified the milestones: 9.4.x, 10.0.x Apr 1, 2020
@stale
Copy link

stale bot commented Jun 2, 2021

This issue has been automatically marked as stale because it has been a full year without activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Stale For auto-closed stale issues and pull requests label Jun 2, 2021
@joakime
Copy link
Contributor

joakime commented Jun 2, 2021

Closing as this is a duplicate (or overlap) of #3514

@joakime joakime closed this as completed Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Enhancement Help Wanted Stale For auto-closed stale issues and pull requests
Projects
None yet
Development

No branches or pull requests

3 participants