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

Switch from Aether to Maven Resolver #7627

Closed
philwebb opened this issue Dec 12, 2016 · 13 comments
Closed

Switch from Aether to Maven Resolver #7627

philwebb opened this issue Dec 12, 2016 · 13 comments
Assignees
Labels
type: task A general task
Milestone

Comments

@philwebb philwebb added the type: enhancement A general enhancement label Dec 12, 2016
@philwebb philwebb added this to the 2.0.0.M1 milestone Dec 12, 2016
philwebb referenced this issue Dec 12, 2016
We use some internal Mockito classes and some  breaking API changes
have been made to them in Mockito 2. This commit introduces a utility
class, SpringBootMockUtil, to shield our code from these differences.
Mockito 1 is called directly and Mockito 2 is called via reflection.

To allow these changes to be tested, FilteredClassPathRunner has been
enhanced to also support overriding a dependency on the class path.
As a result it has been renamed to ModifiedClassPathRunner. The new
ClassPathOverrides annotation can be used to provide the Maven
coordinates of one or more dependencies that should be resolved and
added to the class path. Such additions are added to the start of
the class path so that they override any existing dependency that
contains the same classes.

Closes gh-6520
@philwebb philwebb modified the milestones: 2.0.0.M1, 2.0.0, 2.0.0.RC1 Jan 12, 2017
@bclozel bclozel changed the title Switch from Aeither to Maven Resolver (when it's released) Switch from Aether to Maven Resolver (when it's released) Jan 12, 2017
@philwebb philwebb modified the milestones: 2.0.0.RC1, 2.0.0.M6 Sep 20, 2017
@wilkinsona wilkinsona added type: task A general task and removed type: enhancement A general enhancement labels Oct 25, 2017
@wilkinsona wilkinsona modified the milestones: 2.0.0.M6, 2.0.0.RC1 Oct 25, 2017
@wilkinsona
Copy link
Member

Moving from Aether to Maven Resolver also requires moving from Maven's Aether Provider to Maven's Maven Resolver Provider. Unfortunately, the latter depends on Guava which is 2.4MB. This is the biggest contributor to the CLI zip ballooning from 9.77MB to 13MB.

I'm not sure what we should do here as we seem to have two options and neither of them is very appealing:

  1. Move to Maven Resolver and make the CLI zip 13MB
  2. Stick with Aether and depend on something that, AFAIK, is no longer maintained.

@wilkinsona
Copy link
Member

On closer inspect Maven's Aether Provider has required Guava since 3.2.3. We're currently using 3.2.1 so we're avoiding Guava more by luck than good measure.

@wilkinsona wilkinsona added for: team-attention An issue we'd like other members of the team to review status: blocked An issue that's blocked on an external project change labels Nov 11, 2017
@philwebb philwebb removed the for: team-attention An issue we'd like other members of the team to review label Nov 15, 2017
@wilkinsona
Copy link
Member

I've opened https://issues.apache.org/jira/browse/MNG-6306 to see if Maven Resolver Provider can drop its Guava dependency.

@wilkinsona wilkinsona removed this from the 2.0.0.M7 milestone Nov 15, 2017
@michael-o
Copy link

Guava will be dropped by me this day...

@michael-o
Copy link

Issue has been fixed.

@wilkinsona
Copy link
Member

@michael-o Thanks!

@philwebb philwebb added this to the 2.0.0.RC1 milestone Nov 28, 2017
@philwebb
Copy link
Member Author

Not sure if we'll have a maven-resolver release by then, but I'll stick this in RC1 since it would be nice to migrate for 2.0.

@wilkinsona wilkinsona self-assigned this Jan 5, 2018
@philwebb philwebb modified the milestones: 2.0.0.RC1, 2.0.0.RC2 Jan 24, 2018
@philwebb philwebb modified the milestones: 2.0.0.RC2, 2.0.0 Feb 16, 2018
@wilkinsona wilkinsona removed this from the 2.0.0 milestone Feb 21, 2018
@slachiewicz
Copy link
Contributor

New maven-resolver version 1.1.1 released by Maven Team 2017-02-15

@wilkinsona
Copy link
Member

@slachiewicz That doesn't help us unfortunately. We need a release of maven-resolver-provider that contains this change that you authored. It looks like 3.5.3 has been tagged, but it's not available in Maven Central yet.

@bclozel bclozel added this to the Icebox milestone Mar 22, 2018
@wilkinsona wilkinsona removed the status: blocked An issue that's blocked on an external project change label Jul 18, 2018
@wilkinsona wilkinsona modified the milestones: Icebox, Backlog Jul 18, 2018
@philwebb
Copy link
Member Author

Looks like 1.1.1 has been released.

@michael-o
Copy link

Anyhow I can help?

@philwebb
Copy link
Member Author

@michael-o Thanks for the offer but I think we've got everything we need now.

@philwebb philwebb changed the title Switch from Aether to Maven Resolver (when it's released) Switch from Aether to Maven Resolver Sep 11, 2018
@philwebb
Copy link
Member Author

There's unfortunately still a Guava dependency, but it appears to be unnecessary. I've raise https://issues.apache.org/jira/browse/MNG-6475

@philwebb philwebb assigned philwebb and unassigned wilkinsona Sep 12, 2018
@philwebb philwebb modified the milestones: 2.1.x, 2.1.0.M3 Sep 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: task A general task
Projects
None yet
Development

No branches or pull requests

6 participants