PluginBuildSteps
A Plugin has to be constructed in exactly the right way to allow installation - there are several places where data is unavoidably replcated.
Currently there is no way to automatically ensure that the build will be correct, so this page provides a check list
Pre Build Checks
For the parent project
Ensure that the parent project versions are correct. For full release the parent project should be a non-snapshot release)
Check that the dependency versions are non SNAPSHOT.
In the dist project
Ensure that
src/main/resources/bootstrap/idp.propertyexists and defines a properypluginIdwhich must be the same as the value returned by#getPluginId()in the DwescriptionOptionally check that
src/main/resources/bootstrap/keys.txtcontains the public key for corresponding to the private key you are going to sign the package with (see PluginTrustEnsure that any license information is up to date usually in
src/main/resources/bootstrap/doc/....
In the impl project
Ensure that the version numbers returned from the plugin description match the version you are about to build (and as defined in the pom)
Ensure that
getUpdateURLs()returns a non-empty list of https URLs pointing to property files that you have write permission for
Build
Build in the usual manner and upload the version to a website. Maven works well
Post Build Work
Update the version number in the Description to match the pom
Update the property file to reflect the new release.
Change the
supportLevelof the old version appropriately. Levels are defined innet.shibboleth.idp.plugin.PluginSupport.SupportLevel(in idp module idp=admin-api} and currently consist ofCurrentOutOfDateUnsupportedSecadvWithdrawn
Add
downloadURLandbaseNameinformation about the new release.The
idpVersionMinfor the new release will usually be the version of the IdP that that version of the plugin was built against.
An example file is available here
net.shibboleth.idp.plugin.nashorn.versions=0.1.0 0.1.1 # # NASHORN # 0.1.0 # net.shibboleth.idp.plugin.nashorn.idpVersionMax.0.1.0=5.0.0 net.shibboleth.idp.plugin.nashorn.idpVersionMin.0.1.0=4.1.0 net.shibboleth.idp.plugin.nashorn.supportLevel.0.1.0 = OutOfDate net.shibboleth.idp.plugin.nashorn.downloadURL.0.1.0 = https://build.shibboleth.net/nexus/service/local/repositories/releases/content/net/shibboleth/idp/plugin/scripting/idp-plugin-nashorn-dist/0.1.0 net.shibboleth.idp.plugin.nashorn.baseName.0.1.0 = idp-plugin-nashorn-dist-0.1.0 # # 0.1.1 # net.shibboleth.idp.plugin.nashorn.idpVersionMax.0.1.1=5.0.0 net.shibboleth.idp.plugin.nashorn.idpVersionMin.0.1.1=4.1.0 net.shibboleth.idp.plugin.nashorn.supportLevel.0.1.1 = Current