Before you read this post, check out:

 

 

Our recent changes to the Maven archetype, including the inception of the jive-parent-pom, are aimed at making it easier to do those mundane, yet error-prone, tasks around project creation, as well as alerting you to new changes to dependencies and build configuration.  As I mentioned in my last post, your build will tell you if there is a newer release of the jive-parent-pom for your version of Jive.  While this is all well and good, it doesn't help you upgrade your custom project or plugin.  For instance, if you want to upgrade from 7.0.0.2 to 7.0.1.0, you would have to change the version of the jive-parent-pom dependency in the <parent> element of your project's pom.xml file, somewhat blindly, from 7.0.0.2-1 to 7.0.1.0-0, build the project, and see if you needed to change the version again to something like 7.0.1.0-1.  While this is still easier than search for the proper jive, EAE, search, Spring and AspectJ versions for the version of Jive you're upgrading to, it's still not ideal.  That is about to change.

 

The jive:upgrade goal is here!

 

Note that the following is only valid with projects and plugins that were created with the new jive:create-project and jive:create-plugin Maven goals.  You'll need to upgrade any projects you have created using the old maven-jive-archetype or maven-jive-plugin-archetype before you can use this.

 

This goal can only be executed from your root project, or your independently-created plugin (not within a Jive project).  Just run the following command:

mvn -U jive:upgrade

 

You will be prompted to type the Jive version to which you want to upgrade.

 

You are current using Jive version 7.0.0.2. Which version of Jive do you want to upgrade to?: 7.0.1.0

 

All you have to do is enter the full Jive version.  The goal will then automatically detect the latest jive-parent-pom release for that version of Jive, and change the version within your project's pom.xml file.

 

[INFO] Applying com.jivesoftware.maven:jive-parent-pom version 7.0.1.0-3 to /Users/ryan.king/code/test/upgrade-me-again/pom.xml

[INFO] Applying com.jivesoftware.maven:jive-parent-pom version 7.0.1.0-3 to /Users/ryan.king/code/test/upgrade-me-again/run-services/pom.xml

[INFO] Be aware that you may need to change the contents of the following files:

[INFO] run-services/serviceconfig/core.json

[INFO] run-services/main-args.properties

 

While this sounds perfect, there is a caveat.  Sometimes, upgrading from one version of Jive to another requires that you change some files.  Once you complete this process, you may need to make those changes.

 

Stay tuned, as more changes are coming!

 

As always, post your comments and feedback here.