Prerequisites to publish
org.apache.netbeans:nb-repository-plugin is the key tool for artifacts preparation.
https://builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/ should contains the release version to be published. Navigate to lastSuccessfulBuild/artifact/mavenrepository/ in the target release to check that this repository is populated.
If something went wrong, prepare patch nb-repository-plugin and update build process https://github.com/apache/netbeans-jenkins-lib/blob/master/vars/asfMainNetBeansBuild.groovy to the version you want to use "def repopluginversion="1.7-SNAPSHOT".
Publishing
Release
(need improvement list findings.)
You shall have a PGP Key,.
Verify your access to repository https://repository.apache.org/ (as commiter it should be automatic)
The release process is using Apache Maven. You need to have a settings.xml configured as follow https://www.apache.org/dev/publishing-maven-artifacts.html
get zip
from jenkins build and extract localy (ie https://builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/job/release123/lastSuccessfulBuild/artifact/ ) repository is generated according to a git tag to match a released version
do sign (it may takes some time as we have an important amount of artefacts)
find . -name '*.nbm' -exec gpg --armor --output {}.asc --detach-sig {} \; find . -name '*.xml' -exec gpg --armor --output {}.asc --detach-sig {} \; find . -name '*.pom' -exec gpg --armor --output {}.asc --detach-sig {} \; find . -name '*.sha1' -exec gpg --armor --output {}.asc --detach-sig {} \; find . -name '*.md5' -exec gpg --armor --output {}.asc --detach-sig {} \; find . -name '*.jar' -exec gpg --armor --output {}.asc --detach-sig {} \;
test signing
find . -name '*.asc' -exec gpg --verify {} \;
The release process is using Apache Maven. You need to have a settings.xml configured as follow https://www.apache.org/dev/publishing-maven-artifacts.html
Optional: get the stagingprofileid
mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7:rc-list-profiles -DserverId=apache.releases.https -DnexusUrl=https://repository.apache.org | grep 'netbeans'
give the stagingprofile id: 20604114d0070e for Apache NetBeans
populate the staging repository
mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7:deploy-staged-repository -DserverId=apache.releases.https -DnexusUrl=https://repository.apache.org -DstagingProfileId=20604114d0070e -DrepositoryDirectory=pathofsignedartefacts
close the repository using web UI at https://repository.apache.org/
Artifacts are now in staged state, waiting to be released. To press the button you must wait a vote.
Release option
You can propose the staging repository in the main voting thread.
You can propose a standalone vote.
If the vote is ok you can press the release button and the artifacts will move to maven central.
If the vote is cancel you can delete the artifacts to save some space.
Snapshots
Apache NetBeans snapshot maven artefacts are automaticaly populated on Apache Snapshot repository after master build.