-
Ensure the version and dependencies of the following files are up to date:
build/click.pom, build/click-extras.pom, build/click-mock.pom, build-nodeps.pom.
-
Build the Maven artifacts:
ant build-maven-bundles
-
The maven sign-and-deploy command does not sign POM files,
so you will have to do this manually. From the maven-upload
folder execute the following commands:
cd maven-upload
gpg --armor --output click/click-X.X.X.pom.asc --detach-sig click/click-X.X.X.pom
gpg --armor --output click-extras/click-extras-X.X.X.pom.asc --detach-sig click-extras/click-extras-X.X.X.pom
gpg --armor --output click-mock/click-mock-X.X.X.pom.asc --detach-sig click-mock/click-mock-X.X.X.pom
gpg --armor --output click-nodeps/click-nodeps-X.X.X.pom.asc --detach-sig click-nodeps/click-nodeps-X.X.X.pom
The signed poms will have to be manually uploaded after the
artifacts have been deployed. More on this in the next section.
-
Maven snapshots must be uploaded to: /home/USER/public_html/click/click/X.X.X/maven2
(USER should be replaced with your home dir on people.apache.org)
while releases must be uploaded to: /www/people.apache.org/repo/m2-ibiblio-rsync-repository.
Please note the mvn gpg:sign-and-deploy-file command will both sign and upload
the maven artifacts to the server. You will be prompted for your
GPG passphrase.
- For snapshots execute the following commands from the maven-upload folder:
(If you have more than 1 GPG Key, use the keyname attribute
to specify the KEY name.)
cd maven-upload
mvn gpg:sign-and-deploy-file -DpomFile=click/click-X.X.X.pom -Dfile=click/click-X.X.X.jar -Durl=scp://people.apache.org:/home/USER/public_html/click/click/X.X.X/maven2 -DrepositoryId=apache.releases
mvn gpg:sign-and-deploy-file -DpomFile=click-extras/click-extras-X.X.X.pom -Dfile=click-extras/click-extras-X.X.X.jar -Durl=scp://people.apache.org:/home/USER/public_html/click/click/X.X.X/maven2 -DrepositoryId=apache.releases
mvn gpg:sign-and-deploy-file -DpomFile=click-nodeps/click-nodeps-X.X.X.pom -Dfile=click-nodeps/click-nodeps-X.X.X.jar -Durl=scp://people.apache.org:/home/USER/public_html/click/click/X.X.X/maven2 -DrepositoryId=apache.releases
mvn gpg:sign-and-deploy-file -DpomFile=click-mock/click-mock-X.X.X.pom -Dfile=click-mock/click-mock-X.X.X.jar -Durl=scp://people.apache.org:/home/USER/public_html/click/click/X.X.X/maven2 -DrepositoryId=apache.releases
For the commands above remember to replace USER with your Apache
username and X.X.X with the Click version.
- For releases execute the following commands from the maven-upload folder:
(If you have more than 1 GPG Key, use the keyname attribute
to specify the KEY name.)
cd maven-upload
mvn gpg:sign-and-deploy-file -DpomFile=click/click-X.X.X.pom -Dfile=click/click-X.X.X.jar -Durl=scp://people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository -DrepositoryId=apache.releases
mvn gpg:sign-and-deploy-file -DpomFile=click-extras/click-extras-X.X.X.pom -Dfile=click-extras/click-extras-X.X.X.jar -Durl=scp://people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository -DrepositoryId=apache.releases
mvn gpg:sign-and-deploy-file -DpomFile=click-nodeps/click-nodeps-X.X.X.pom -Dfile=click-nodeps/click-nodeps-X.X.X.jar -Durl=scp://people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository -DrepositoryId=apache.releases
mvn gpg:sign-and-deploy-file -DpomFile=click-mock/click-mock-X.X.X.pom -Dfile=click-mock/click-mock-X.X.X.jar -Durl=scp://people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository -DrepositoryId=apache.releases
- The sign-and-deploy-file command creates a number
of unnecessary artifacts that can be deleted. The artifacts
that can be deleted are:
click-X.X.X.jar.asc.md5
click-X.X.X.jar.asc.sha1
- Next upload the POM signature files to each artifact folder. The
following POM's must be uploaded to their respective folders:
(this step must be done for both snapshots and releases)
click-X.X.X.pom.asc -> /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/click/click/X.X.X/
click-extras-X.X.X.pom.asc -> /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/click/click-extras/X.X.X/
click-mock-X.X.X.pom.asc -> /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/click/click-mock/X.X.X/
click-nodeps-X.X.X.pom.asc -> /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/click/click-nodeps/X.X.X/
- Once the artifacts and POM signatures have been uploaded, execute
the following commands to ensure the file, directory permissions
and group is correct. Note that because of a bug in "maven deploy", all
maven-metadata.xml* files must have their permissions set
to 664. (this step must be done for both snapshots and releases)
ssh people.apache.org
cd /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/click/
#cd public_html/click/click/X.X.X/maven2
find . ! -perm 775 -type d -user ${USER} -exec chmod 775 {} \;
find . ! -perm 664 -iname maven-metadata.xml* -user ${USER} -exec chmod 664 {} \;
find . ! -perm 644 ! -iname maven-metadata.xml* -type f -user ${USER} -exec chmod 644 {} \;
- Once the artifacts are uploaded you need to verify the signatures:
(this step must be done for both snapshots and releases)
ssh people.apache.org
cd /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/click/
#cd public_html/click/click/X.X.X/maven2/org/apache/click
gpg --verify click/X.X.X/click-X.X.X.jar.asc click/X.X.X/click-X.X.X.jar
gpg --verify click/X.X.X/click-X.X.X.pom.asc click/X.X.X/click-X.X.X.pom
gpg --verify click-extras/X.X.X/click-extras-X.X.X.jar.asc click-extras/X.X.X/click-extras-X.X.X.jar
gpg --verify click-extras/X.X.X/click-extras-X.X.X.pom.asc click-extras/X.X.X/click-extras-X.X.X.pom
gpg --verify click-nodeps/X.X.X/click-nodeps-X.X.X.jar.asc click-nodeps/X.X.X/click-nodeps-X.X.X.jar
gpg --verify click-nodeps/X.X.X/click-nodeps-X.X.X.pom.asc click-nodeps/X.X.X/click-nodeps-X.X.X.pom
gpg --verify click-mock/X.X.X/click-mock-X.X.X.jar.asc click-mock/X.X.X/click-mock-X.X.X.jar
gpg --verify click-mock/X.X.X/click-mock-X.X.X.pom.asc click-mock/X.X.X/click-mock-X.X.X.pom