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

Which minimal Maven version is usable? #290

Closed
vberruchon opened this issue Sep 17, 2015 · 14 comments
Closed

Which minimal Maven version is usable? #290

vberruchon opened this issue Sep 17, 2015 · 14 comments
Assignees
Labels
Milestone

Comments

@vberruchon
Copy link

Sorry if it's more a question than an issue but I'd like to know if the defined prerequisite on the maven version >=3.2.1 is a strong dependencies or if it could be possible to use an older one?
vberruchon@3b63fce

I'm working on a CI platform using Maven 3.0.3 and it will be hard to change for the moment :(

I've quickly cloned the m-d-p and changed this prerequisite to 3.0.3 and test it in my project to build and start an image and it seems to work...
So is there some reason to impose this version, and what would be the risk to use an older one like the 3.0.3?

Thank you

@rhuss
Copy link
Collaborator

rhuss commented Sep 21, 2015

I'll have to check, I know there is some stuff which only works on newer Maven version.

@vberruchon
Copy link
Author

I did mention that it seems to work using maven 3.0.3 before but it didn't. I would have to check again but I could probably build the plugin but had errors using it to build and image :

build failed: Unable to load the mojo 'build' (or one of its required components) from the plugin 'org.jolokia:docker-maven-plugin:0.13.5-MY-SNAPSHOT': com.google.inject.ProvisionException: Guice provision errors:...

I probably could test again for more details but that's all I had kept in my notes as since that I created an another brand new plugin for our very specific needs.
But I'm still interested by this one for the future and some others more generic needs.

@andyshinn
Copy link

I'd love to know more about this as well. We standardize on Ubuntu LTS (currently 14.04) which comes with Maven 3.0.5 and is difficult to upgrade. It would be nice to know what features specifically are required for later Maven versions and a way that we could override this requirement to use an older Maven without those features.

@kevinconaway
Copy link

@rhuss any updates here?

As of now, Travis CI uses Maven 3.1.1 on its Trusty environment which is where Docker is supported. This makes it hard to use this plugin as part of travis builds.

@rhuss
Copy link
Collaborator

rhuss commented Feb 13, 2016

Ok, I will try to find out why I bumped up the version (there was a reason, I just don't remember it ;-)

@rhuss
Copy link
Collaborator

rhuss commented Feb 13, 2016

The issue is that the wiring of various components has changed between 3.1.x and 3.2.x so currently I ran into the same problems as here.

I will try to find a solution, but for the moment 3.2.1 is the smallest working version. sorry for the moment.

@kevinconaway
Copy link

Isn't that a build time dependency though? Is the dependency necessary for the actual runtime of the plugin?

If you compile against maven 3.2.x, will the plugin still run with maven 3.1 or 3.0?

@rhuss
Copy link
Collaborator

rhuss commented Feb 13, 2016

Unfortunately its a runtime requirement. I can build it with 3.0.5 libs with only minor glitches (which I could resolve), but using it fails on 3.0.x and 3.1.x when wiring the internal container where I use some own components with dependencies on Maven provided objects.

I'm still looking how to resolve this but it's quite tricky because of the difference between non-container objects and container objects (see e.g. here or here)

rhuss added a commit that referenced this issue Feb 13, 2016
* javadoc annotations has been changed to real Java annotations
* components.xml has been removed and will be created by plexus-component-metadata plugin.
* MavenSession dependencies from the plexus container and will be provided as arguments when needed
@rhuss
Copy link
Collaborator

rhuss commented Feb 13, 2016

I was able to adapt the Plugin for 3.0.5 (and 3.1.1), at least the first tests are positive (and I don't expect much more problems).

0.14.0-SNAPSHOT has just been pushed to Maven central, if you could give it try and give some feedback, this would be awesome.

@rhuss rhuss added the fixed label Feb 13, 2016
@rhuss rhuss added this to the 0.14.0 milestone Feb 13, 2016
@rhuss rhuss self-assigned this Feb 13, 2016
rhuss added a commit that referenced this issue Feb 13, 2016
@rhuss
Copy link
Collaborator

rhuss commented Feb 13, 2016

@vberruchon I just relaxed it to 3.0.3 as minimal version, should work now, too.

rhuss added a commit that referenced this issue Feb 14, 2016
* javadoc annotations has been changed to real Java annotations
* components.xml has been removed and will be created by plexus-component-metadata plugin.
* MavenSession dependencies from the plexus container and will be provided as arguments when needed
rhuss added a commit that referenced this issue Feb 14, 2016
@vberruchon
Copy link
Author

Great news.
I won't have time to test the plugin again those weeks to come but it would allow us enviage the use of your plugin for our CI system.

Danke schön Roland

@kevinconaway
Copy link

The changes looks good from my testing, thanks.

rhuss added a commit that referenced this issue Feb 22, 2016
* javadoc annotations has been changed to real Java annotations
* components.xml has been removed and will be created by plexus-component-metadata plugin.
* MavenSession dependencies from the plexus container and will be provided as arguments when needed
rhuss added a commit that referenced this issue Feb 22, 2016
@kevinconaway
Copy link

@rhuss is it possible to release a new version with the new maven dependency changes?

@rhuss
Copy link
Collaborator

rhuss commented Feb 23, 2016

I'm about moving the plugin to a new place on github and will soon release a new version 0.14.0 when done. So hopefully either today or tomorrow.

@rhuss rhuss closed this as completed Feb 25, 2016
rhuss added a commit that referenced this issue Nov 17, 2016
* javadoc annotations has been changed to real Java annotations
* components.xml has been removed and will be created by plexus-component-metadata plugin.
* MavenSession dependencies from the plexus container and will be provided as arguments when needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants