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

Bump all plugins to latest #54

Merged
merged 1 commit into from
Apr 4, 2017

Conversation

batmat
Copy link
Member

@batmat batmat commented Mar 28, 2017

@jenkinsci/code-reviewers
@reviewbybees esp. @stephenc @aheritier @jglick @andresrc

Before:

mvn versions:display-plugin-updates
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Jenkins Plugin Parent POM 2.26-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.3:display-plugin-updates (default-cli) @ plugin ---
[INFO]
[INFO] The following plugin updates are available:
[INFO]   maven-clean-plugin ..................................... 2.6 -> 3.0.0
[INFO]   maven-compiler-plugin .................................. 3.3 -> 3.6.1
[INFO]   maven-dependency-plugin ............................... 2.10 -> 3.0.0
[INFO]   maven-eclipse-plugin .................................... 2.9 -> 2.10
[INFO]   maven-enforcer-plugin ................................ 1.3.1 -> 1.4.1
[INFO]   maven-failsafe-plugin .............................. 2.18.1 -> 2.19.1
[INFO]   maven-jar-plugin ....................................... 2.6 -> 3.0.2
[INFO]   maven-javadoc-plugin ............................... 2.10.1 -> 2.10.4
[INFO]   maven-resources-plugin ................................. 2.7 -> 3.0.2
[INFO]   maven-scm-plugin ..................................... 1.9.2 -> 1.9.5
[INFO]   maven-site-plugin ........................................ 3.4 -> 3.6
[INFO]   maven-source-plugin .................................... 2.4 -> 3.0.1
[INFO]   maven-war-plugin ....................................... 2.6 -> 3.0.0
[INFO]   org.codehaus.mojo:animal-sniffer-maven-plugin .......... 1.14 -> 1.15
[INFO]   org.codehaus.mojo:build-helper-maven-plugin .......... 1.9.1 -> 3.0.0
[INFO]   org.codehaus.mojo:mrm-maven-plugin ................... 1.0.0 -> 1.0.1
[INFO]   org.jvnet.localizer:maven-localizer-plugin ............. 1.23 -> 1.24
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[INFO] Project defines minimum Maven version as: 3.0.4
[INFO] Plugins require minimum Maven version of: 3.1.0
[INFO]
[ERROR] Project requires an incorrect minimum version of Maven.
[ERROR] Either change plugin versions to those compatible with 3.0.4
[ERROR] or update the pom.xml to contain
[ERROR]     <prerequisites>
[ERROR]       <maven>3.1.0</maven>
[ERROR]     </prerequisites>
[INFO]
[INFO] Require Maven 3.1.0 to use the following plugin updates:
[INFO]   com.github.eirslett:frontend-maven-plugin ....................... 1.4
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.831 s
[INFO] Finished at: 2017-03-28T10:22:05+02:00
[INFO] Final Memory: 29M/528M
[INFO] ------------------------------------------------------------------------

After:

mvn versions:display-plugin-updates
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Jenkins Plugin Parent POM 2.26-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.3:display-plugin-updates (default-cli) @ plugin ---
[INFO]
[INFO] All plugins with a version specified are using the latest versions.
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[INFO] Project defines minimum Maven version as: 3.0.4
[INFO] Plugins require minimum Maven version of: 3.1.0
[INFO]
[ERROR] Project requires an incorrect minimum version of Maven.
[ERROR] Either change plugin versions to those compatible with 3.0.4
[ERROR] or update the pom.xml to contain
[ERROR]     <prerequisites>
[ERROR]       <maven>3.1.0</maven>
[ERROR]     </prerequisites>
[INFO]
[INFO] Require Maven 3.1.0 to use the following plugin updates:
[INFO]   com.github.eirslett:frontend-maven-plugin ....................... 1.4
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.235 s
[INFO] Finished at: 2017-03-28T10:22:27+02:00
[INFO] Final Memory: 29M/535M
[INFO] ------------------------------------------------------------------------

Before:

```
mvn versions:display-plugin-updates
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Jenkins Plugin Parent POM 2.26-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.3:display-plugin-updates (default-cli) @ plugin ---
[INFO]
[INFO] The following plugin updates are available:
[INFO]   maven-clean-plugin ..................................... 2.6 -> 3.0.0
[INFO]   maven-compiler-plugin .................................. 3.3 -> 3.6.1
[INFO]   maven-dependency-plugin ............................... 2.10 -> 3.0.0
[INFO]   maven-eclipse-plugin .................................... 2.9 -> 2.10
[INFO]   maven-enforcer-plugin ................................ 1.3.1 -> 1.4.1
[INFO]   maven-failsafe-plugin .............................. 2.18.1 -> 2.19.1
[INFO]   maven-jar-plugin ....................................... 2.6 -> 3.0.2
[INFO]   maven-javadoc-plugin ............................... 2.10.1 -> 2.10.4
[INFO]   maven-resources-plugin ................................. 2.7 -> 3.0.2
[INFO]   maven-scm-plugin ..................................... 1.9.2 -> 1.9.5
[INFO]   maven-site-plugin ........................................ 3.4 -> 3.6
[INFO]   maven-source-plugin .................................... 2.4 -> 3.0.1
[INFO]   maven-war-plugin ....................................... 2.6 -> 3.0.0
[INFO]   org.codehaus.mojo:animal-sniffer-maven-plugin .......... 1.14 -> 1.15
[INFO]   org.codehaus.mojo:build-helper-maven-plugin .......... 1.9.1 -> 3.0.0
[INFO]   org.codehaus.mojo:mrm-maven-plugin ................... 1.0.0 -> 1.0.1
[INFO]   org.jvnet.localizer:maven-localizer-plugin ............. 1.23 -> 1.24
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[INFO] Project defines minimum Maven version as: 3.0.4
[INFO] Plugins require minimum Maven version of: 3.1.0
[INFO]
[ERROR] Project requires an incorrect minimum version of Maven.
[ERROR] Either change plugin versions to those compatible with 3.0.4
[ERROR] or update the pom.xml to contain
[ERROR]     <prerequisites>
[ERROR]       <maven>3.1.0</maven>
[ERROR]     </prerequisites>
[INFO]
[INFO] Require Maven 3.1.0 to use the following plugin updates:
[INFO]   com.github.eirslett:frontend-maven-plugin ....................... 1.4
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.831 s
[INFO] Finished at: 2017-03-28T10:22:05+02:00
[INFO] Final Memory: 29M/528M
[INFO] ------------------------------------------------------------------------
```

After:

```
mvn versions:display-plugin-updates
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Jenkins Plugin Parent POM 2.26-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.3:display-plugin-updates (default-cli) @ plugin ---
[INFO]
[INFO] All plugins with a version specified are using the latest versions.
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[INFO] Project defines minimum Maven version as: 3.0.4
[INFO] Plugins require minimum Maven version of: 3.1.0
[INFO]
[ERROR] Project requires an incorrect minimum version of Maven.
[ERROR] Either change plugin versions to those compatible with 3.0.4
[ERROR] or update the pom.xml to contain
[ERROR]     <prerequisites>
[ERROR]       <maven>3.1.0</maven>
[ERROR]     </prerequisites>
[INFO]
[INFO] Require Maven 3.1.0 to use the following plugin updates:
[INFO]   com.github.eirslett:frontend-maven-plugin ....................... 1.4
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.235 s
[INFO] Finished at: 2017-03-28T10:22:27+02:00
[INFO] Final Memory: 29M/535M
[INFO] ------------------------------------------------------------------------
```
@ghost
Copy link

ghost commented Mar 28, 2017

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

@KostyaSha
Copy link
Member

What is the reason to do this?

@rpionke
Copy link
Member

rpionke commented Mar 28, 2017

@batmat Why dont you change the required minimum version?

[ERROR] Project requires an incorrect minimum version of Maven.
[ERROR] Either change plugin versions to those compatible with 3.0.4
[ERROR] or update the pom.xml to contain
[ERROR]     <prerequisites>
[ERROR]       <maven>3.1.0</maven>
[ERROR]     </prerequisites>

@batmat
Copy link
Member Author

batmat commented Mar 28, 2017

@KostyaSha simply because updating plugins, and software is generally recommended.
@rpionke right, I wanted to link also to #53 and forgot when filing the PR, I separated that part.

@rpionke
Copy link
Member

rpionke commented Mar 28, 2017

👍

Copy link
Member

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

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

Would be nice to get a more extensive CI before merging, but I do not see any specific issues with the proposed upgrade 🐝

@KostyaSha
Copy link
Member

KostyaSha commented Mar 28, 2017

@KostyaSha simply because updating plugins, and software is generally recommended.

Lol what? I had enough bugs with libs and plugins especially with 0.x. Updates without reason is way to get issues where there are no issues.
You can bump updates every day, that waste of your time and reviewers time with possibility to cause issues for a lot of developers.

When you do updates on plugin side, you test them right now, but you can't test your change on all plugins. That unsafe upgrade for upgrade.

Copy link
Member

@KostyaSha KostyaSha left a comment

Choose a reason for hiding this comment

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

Update for update without reason and testing

@batmat
Copy link
Member Author

batmat commented Mar 28, 2017

@KostyaSha if an issue is ever discovered, I think the plugin parent pom is released often enough to just easily go back from 2.X to 2.X-1 and release a fixed parent if necessary.

@KostyaSha
Copy link
Member

@batmat should i remind how it was easy for maintainers to resolve m-r-p issues with simple bump of single plugin version?

@aheritier
Copy link
Member

Similar to jenkinsci/pom#13
I never progressed :(

Copy link
Member

@aheritier aheritier left a comment

Choose a reason for hiding this comment

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

Maven is stable, no risk

Copy link
Contributor

@MarkEWaite MarkEWaite left a comment

Choose a reason for hiding this comment

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

The git plugin and git client plugin had already used the technique described by @KostyaSha to update the plugin versions in their own pom files.

I assume this change will allow those plugins to return to using the versions provided by the plugin pom.

</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<version>3.6.1</version>
Copy link
Contributor

Choose a reason for hiding this comment

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

This is the compiler plugin version used by the git plugin and the git client plugin and it has worked well for me.

</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<version>2.10.4</version>
Copy link
Contributor

Choose a reason for hiding this comment

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

This is the javadoc plugin version used by the git plugin and the git client plugin and it has worked well for me.

@@ -350,11 +350,11 @@
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<version>3.6</version>
Copy link
Contributor

Choose a reason for hiding this comment

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

This is the site plugin version used by the git plugin and the git client plugin and it has worked well for me.

@batmat
Copy link
Member Author

batmat commented Mar 28, 2017

I assume this change will allow those plugins to return to using the versions provided by the plugin pom.

@MarkEWaite exactly. Defining those in the git-plugin's pom.xml is an override. So, if you don't define the <version> there, you basically inherit values from the parent pom.

The goal of this is indeed to make the plugins' pom.xml as small as possible, and still using recent versions, inheriting fixes and so on. Even more important for newcomers, and try to reduce differences between one plugin and another.

I guess: to test this quite big update, we could release a beta version of this parent pom, then use it and release some plugins maintained by some of us. Then if nothing bad happens within, say, 2 weeks or so, release a GA one.

@batmat
Copy link
Member Author

batmat commented Mar 28, 2017

@reviewbybees done

@jglick
Copy link
Member

jglick commented Mar 29, 2017

BTW the testing done in the Jenkinsfile covers basic sanity checking of most goals on an example plugin.

Copy link
Member

@orrc orrc left a comment

Choose a reason for hiding this comment

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

👍 for keeping things up-to-date.

I tested against a couple of my plugins and also had no problems.

@batmat
Copy link
Member Author

batmat commented Apr 4, 2017

@KostyaSha many people here have tested the changes, and Jesse explained the PR build does test some of the main things. So does it address your concerns?

@andresrc do you think this PR got enough feedback to be mergeable/merged?

Thanks

@batmat
Copy link
Member Author

batmat commented Apr 4, 2017

Great, thanks @KostyaSha

Mergeing and releasing a beta version as proposed previously.

@batmat batmat merged commit b5add21 into jenkinsci:master Apr 4, 2017
@batmat batmat deleted the bump-all-plugins-to-latest branch April 4, 2017 19:08
@batmat
Copy link
Member Author

batmat commented Apr 4, 2017

2.26-beta-1 released.

@MarkEWaite if you can possibly use this version in your plugin(s) and remove the overrides to see if there's no issue, that would be very interesting feedback.

Obviously, anyone willing to do so is warmly welcome.

Thanks!

@batmat
Copy link
Member Author

batmat commented Apr 4, 2017

Released buildtriggerbadge-2.8.1 with this parent pom, though this plugin has probably not a big enough install base to provide significant feedback.

@MarkEWaite
Copy link
Contributor

MarkEWaite commented Apr 5, 2017

I've switched the git plugin and the git client plugin to use the 2.26-beta-1 release and removed the overrides of maven plugin versions. I've run automated tests and interactive tests and found no surprises on any of the agent platforms I tested (Windows, CentOS 6, CentOS 7, Debian 7, Debian 8, Ubuntu 14, Ubuntu 16).

@batmat
Copy link
Member Author

batmat commented Apr 6, 2017

OK, thanks for the feedback Mark, I'll leave it until roughly early next week and will release a GA if nothing wrong is wrong until then.

@batmat batmat self-assigned this Apr 8, 2017
@batmat
Copy link
Member Author

batmat commented Apr 10, 2017

Releasing GA now.

@batmat
Copy link
Member Author

batmat commented Apr 10, 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

Successfully merging this pull request may close these issues.

9 participants