source: trunk/abcl/doc/releng.org @ 15070

Last change on this file since 15070 was 15070, checked in by Mark Evenson, 5 years ago

Maintenance on file structure

Explicitly note which paragraph constitutes our "classpath exception"
in COPYING.

Use '1.5.0-SNAPSHOT' in POM for publishing snapshots.

File size: 3.5 KB
Line 
1* ABCL Release Engineering practices
2
3** Maven
4
5Instructions for Releasing ABCL on Sonatype's OSS Maven repository
6
7*** settings.xml
8
9This assumes your settings.xml (/etc/maven2/settings.xml for
10Ubuntu-packaged Maven) contains something like this in its
11<servers></servers> section:
12
13#+BEGIN_SRC
14 <server>
15   <id>sonatype-nexus-snapshots</id>
16   <username>sonatype-jira-username</username>
17   <password>sonatype-jira-password</password>
18 </server>
19 <server>
20   <id>sonatype-nexus-staging</id>
21   <username>sonatype-jira-username</username>
22   <password>sonatype-jira-password</password>
23 </server>
24#+END_SRC
25
26*** Process
27
28First, remember to build it!
29
30#+BEGIN_SRC
31ant abcl.jar abcl.source.jar abcl.javadoc.jar abcl.contrib
32#+END_SRC
33
34And maybe test it as well
35
36#+BEGIN_SRC
37ant abcl.test
38#+END_SRC
39
40For snapshots - development versions - the version in the POM should be like x.y.z-SNAPSHOT
41
42#+BEGIN_SRC
43mvn gpg:sign-and-deploy-file -Dfile=dist/abcl.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots
44mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-sources.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots -Dclassifier=sources
45mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-javadoc.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots -Dclassifier=javadoc
46mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-contrib.jar -DpomFile=contrib/pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots
47#+END_SRC
48
49For releases - the version in the POM should be x.y.z
50
51#+BEGIN_SRC
52mvn gpg:sign-and-deploy-file -Dfile=dist/abcl.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging
53mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-${abcl_version}-sources.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -Dclassifier=sources
54mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-${abcl_version}-javadoc.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -Dclassifier=javadoc
55#+END_SRC
56
57abcl-contrib release
58
59#+BEGIN_SRC
60mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-contrib.jar -DpomFile=contrib/pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging
61mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-contrib-${abcl_version}-sources.jar -DpomFile=contrib/pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -Dclassifier=sources
62mvn gpg:sign-and-deploy-file -Dfile=dist/abcl-contrib-${abcl_version}-javadoc.jar -DpomFile=contrib/pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -Dclassifier=javadoc
63#+END_SRC
64
65**** Testing downloads
66
67#+BEGIN_SRC
68mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get -DrepoUrl=https://oss.sonatype.org/content/repositories/snapshots -Dartifact=org.abcl:abcl-contrib:1.5.0-SNAPSHOT:jar
69#+END_SRC
70
71*** See also
72<http://www.sonatype.org/nexus/2015/06/02/how-to-publish-software-artifacts-to-maven-central/>
73<http://central.sonatype.org/pages/releasing-the-deployment.html>
74
75*** Specifiying GPG executable
76
77For specifying gpg executable, use a property specified via
78'-Dgpg.executable=gpg2'.
Note: See TracBrowser for help on using the repository browser.