source: trunk/abcl/doc/releng.org

Last change on this file was 15591, checked in by Mark Evenson, 2 years ago

abcl-1.9.0: rc-5 metadata

"Complete" metadata for abcl-1.9.0

From 3883dccb28d42eabebcf3644242ce87467ade19d Mon Sep 17 00:00:00 2001

File size: 5.5 KB
Line 
1* ABCL Release Engineering
2
3See also <https://abcl.org/trac/wiki/ReleaseSteps>.
4
5** Signing binary release
6
7   #+begin_src bash
8   gpg --default-key YOUR-KEY --detach-sign --armor FILE   
9   #+end_src
10
11
12   #+begin_src bash
13   key="evenson.not.org@gmail.com"
14   for file in *; do gpg --default-key ${key} --detach-sign --armor ${file} ; done
15   #+end_src
16
17** Maven Artifacts
18
19Instructions for releasing ABCL on Sonatype's OSS Maven repository.
20
21You need a Sonatype account, see
22<https://central.sonatype.org/pages/ossrh-guide.html>.  This will
23result in providing you with a "JIRA username and a password".
24
25**** settings.xml
26
27Enter your "JIRA username and a password" in a
28<file:.m2/settings.xml>.  This will be used for authentication when
29the =mvn= tool uploads artifacts to the Sonatype snapshot and staging
30infrastructure.
31
32#+BEGIN_SRC xml
33  <settings>
34    <servers>
35      <server>
36        <id>sonatype-nexus-snapshots</id>
37        <username>sonatype-jira-username</username>
38        <password>sonatype-jira-password</password>
39      </server>
40      <server>
41        <id>sonatype-nexus-staging</id>
42        <username>sonatype-jira-username</username>
43        <password>sonatype-jira-password</password>
44      </server>
45    </servers>
46  </settings>
47#+END_SRC
48
49**** Process
50
51Ensure that the artifacts you wish to upload are present by building
52them.
53#+begin_src
54ant abcl.release abcl.source.jar abcl.javadoc.jar abcl.contrib.javadoc.jar abcl.contrib.source.jar
55#+end_src
56
57#+BEGIN_SRC
58ant abcl.jar abcl.source.jar abcl.javadoc.jar abcl.contrib
59#+END_SRC
60
61And maybe test it as well
62
63#+BEGIN_SRC
64ant abcl.test
65#+END_SRC
66
67**** Snapshots
68For snapshots (aka development versions) the version in the POM should
69be of the form ~x.y.z-SNAPSHOT~.
70
71#+BEGIN_SRC bash
72keyname='<your_pgp_key@example.com>'
73mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -Dfile=dist/abcl.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots
74mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -Dfile=dist/abcl-sources.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots -Dclassifier=sources
75mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -Dfile=dist/abcl-javadoc.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots -Dclassifier=javadoc
76mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -Dfile=dist/abcl-contrib.jar -DpomFile=contrib/pom.xml -Durl=https://oss.sonatype.org/content/repositories/snapshots/ -DrepositoryId=sonatype-nexus-snapshots
77#+END_SRC
78
79**** Release
80For releases the version in the POM should be of the form  ~x.y.z~
81
82#+BEGIN_SRC bash
83#keyname='<your_pgg_key@example.com>'
84#abcl_version=1.9.0
85mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -Dfile=dist/abcl.jar -DpomFile=pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging
86mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -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
87mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -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
88#+END_SRC
89
90abcl-contrib release
91
92#+BEGIN_SRC bash
93keyname='<evenson.not.org@gmail.com>'
94abcl_version=1.9.0
95mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -Dfile=dist/abcl-contrib.jar -DpomFile=contrib/pom.xml -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging
96mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -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
97mvn gpg:sign-and-deploy-file -Dgpg.keyname=${keyname} -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
98#+END_SRC
99
100**** Releasing through Sonatype interface
101<https://www.sonatype.org/nexus/2015/06/02/how-to-publish-software-artifacts-to-maven-central/>
102<https://central.sonatype.org/pages/releasing-the-deployment.html>
103
1041. "Close" the repo
105
1062. wait
107
1083. "Release" the repo
109
110**** Testing downloads
111
112#+BEGIN_SRC
113mvn 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
114#+END_SRC
115
116
117**** Specifying GPG executable
118
119For specifying the =gpg= executable used via =mvn= use a property
120specified via the =gpg.executable= property (e.g. '-Dgpg.executable=gpg2'.)
121
122** Update CLiki page
123   <https://www.cliki.net/ABCL>
124Roswell parses it for release information?
125
126** Update MacPorts lang/abcl
127
128* Notes
129
130#+caption: Push locally built 1.9.0 artifacts to abcl.org
131#+begin_src bash
132  rsync -avzP ~/work/abcl/dist/ mevenson@abcl.org:/project/armedbear/public_html/releases/1.9.0/
133#+end_src
134
135#+caption: Remote hg+git URIs
136#+begin_example
137alanruttenberg = git+https://github.com/alanruttenberg/abcl
138default = git@github.com:easye/abcl
139upstream = git+https://github.com/armedbear/abcl
140#+end_example
141
142
143* Colophon
144 
145  #+begin_example
146  Created: 2019-10-31
147  Revised: <2022-04-30 Sat 09:10Z>
148  #+end_example
149 
Note: See TracBrowser for help on using the repository browser.