This explains how to build and release the plugin.
Build assumes Java 6+ (7+ since 2.6.x releases), Maven 3+. Atlassian SDK does not need to be installed, as it is an authenticator jar loaded on classpath, not a plugin, nor can it or should it be, even in Confluence 4.x+.
For larger changes, you'd want to create an issue first to ask if it would be something that would be of interest to everyone.
Please discuss publically within an issue in GitHub. Otherwise, consider sending an email directly to one or more team members.
Releases can be found here.
To build, type:
mvn clean install
When committing, please try to include the issue number when possible in the beginning on the comment, e.g.:
git commit -m "#123 Added compatibility for Confluence v2.5"
-
Add yourself to the list of developers in the pom.xml.
-
Build and manually test jar in target/*.jar (or have someone test)
mvn clean install
-
Edit pom.xml to be new release version (remove "-SNAPSHOT" from release version, e.g. change from 1.2.3-SNAPSHOT to 1.2.3).
-
Build and manually test again as needed (or have someone test)
mvn clean install
-
Put changes from git log into release info in the CHANGELOG.md (note: prior releases used Jira ticket id, but newer releases should use the #(GitHub issue num) format, e.g. "#123 Added compatibility for Confluence v2.5").
-
Copy new release to releases directory, add pom.xml change and new release, commit, and push, then tag, and push tags:
cp target/(name of jar).jar releases/
git add releases
git add pom.xml
git commit -m "releasing 1.2.3"
git push
git tag v1.2.3
git push --tags
-
Edit pom.xml to increment patch version and add "-SNAPSHOT" to version (e.g. change from 1.2.3 to 1.2.4-SNAPSHOT).
-
Add pom.xml, commit, and push.
git add pom.xml
git commit -m "incrementing pom.xml version to 1.2.4-SNAPSHOT"
git push
-
Add release info/jar also to (this url may change):
https://plugins.atlassian.com/plugins/shibauth.confluence.authentication.shibboleth
-
Have fun!
Alternatively (experimental) use instead of the versioning steps in 3.- 7. the following commands (this requires no uncommitted changes):
mvn release:prepare -DdryRun=true -Dtag=v<version>
Revisit release.properties and tags in pom.next, etc. and if all checks are done
mvn release:clean
Remove -DdryRun=true (example shows version=v2.7.4)
mvn release:prepare -Dtag=v2.7.4
mvn release:performs
Optional, to remove the backups, but wait ..
mvn release:clean
Of course, the edit changes and the release in sub folder releases have to be added manually still.
See git log or the CHANGELOG