Skip to content

Commit daef2c5

Browse files
authored
Merge pull request #3942 from windauer/feature/mvn-github-release-plugin
[feature] switched releasing via mvn from bintray to github-releases
2 parents b2d7c5e + c0f9b30 commit daef2c5

File tree

4 files changed

+67
-64
lines changed

4 files changed

+67
-64
lines changed

exist-distribution/pom.xml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,36 +1066,39 @@
10661066
</execution>
10671067
</executions>
10681068
</plugin>
1069-
10701069
<plugin>
1071-
<groupId>com.carrotgarden.maven</groupId>
1072-
<artifactId>bintray-maven-plugin</artifactId>
1070+
<groupId>de.jutzig</groupId>
1071+
<artifactId>github-release-plugin</artifactId>
10731072
<executions>
10741073
<execution>
1075-
<id>upload-distributions-to-bintray</id>
1074+
<id>github-upload</id>
10761075
<phase>deploy</phase>
10771076
<goals>
1078-
<goal>upload</goal>
1077+
<goal>release</goal>
10791078
</goals>
1079+
<inherited>false</inherited>
10801080
<configuration>
1081-
<restApiUrl>https://api.bintray.com</restApiUrl>
1082-
<subject>existdb</subject>
1083-
<repository>releases</repository>
1084-
<bintrayPackage>exist</bintrayPackage>
1085-
<targetFolder>/</targetFolder>
1086-
1087-
<packageLicenses>GNU Lesser General Public License, version 2.1</packageLicenses>
1088-
1089-
<!-- Bintray API credentials must be in ~/.m2/settings.xml for server id -->
1090-
<serverId>exist-bintray</serverId>
1081+
<description>
1082+
Release Notes: https://exist-db.org/exist/apps/wiki/blogs/eXist/exist${project.version}
10911083

1092-
<sourceFolder>${project.build.directory}</sourceFolder>
1093-
<uploadRegex>.+/((${project.artifactId})|(eXist-db))-${project.version}((\.dmg)|(-unix\.tar\.bz2)|(-win\.zip))$</uploadRegex>
1084+
Maven Central: https://search.maven.org/search?q=g:org.exist-db
1085+
</description>
1086+
<releaseName>eXist-db ${project.version}</releaseName>
1087+
<tag>eXist-${project.version}</tag>
1088+
<fileSets>
1089+
<fileSet>
1090+
<directory>${project.build.directory}</directory>
1091+
<includes>
1092+
<include>eXist-db-${project.version}.dmg</include>
1093+
<include>${project.artifactId}-${project.version}-unix.tar.bz2</include>
1094+
<include>${project.artifactId}-${project.version}-win.zip</include>
1095+
</includes>
1096+
</fileSet>
1097+
</fileSets>
10941098
</configuration>
10951099
</execution>
10961100
</executions>
10971101
</plugin>
1098-
10991102
</plugins>
11001103
</build>
11011104

exist-installer/pom.xml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -135,36 +135,37 @@
135135
<skip>true</skip>
136136
</configuration>
137137
</plugin>
138-
139138
<plugin>
140-
<groupId>com.carrotgarden.maven</groupId>
141-
<artifactId>bintray-maven-plugin</artifactId>
139+
<groupId>de.jutzig</groupId>
140+
<artifactId>github-release-plugin</artifactId>
142141
<executions>
143142
<execution>
144-
<id>upload-installer-to-bintray</id>
143+
<id>github-upload</id>
145144
<phase>deploy</phase>
146145
<goals>
147-
<goal>upload</goal>
146+
<goal>release</goal>
148147
</goals>
148+
<inherited>true</inherited>
149149
<configuration>
150-
<restApiUrl>https://api.bintray.com</restApiUrl>
151-
<subject>existdb</subject>
152-
<repository>releases</repository>
153-
<bintrayPackage>exist</bintrayPackage>
154-
<targetFolder>/</targetFolder>
155-
156-
<packageLicenses>GNU Lesser General Public License, version 2.1</packageLicenses>
157-
158-
<!-- Bintray API credentials must be in ~/.m2/settings.xml for server id -->
159-
<serverId>exist-bintray</serverId>
160-
161-
<sourceFolder>${project.build.directory}</sourceFolder>
162-
<uploadRegex>.+/${project.artifactId}-${project.version}\.jar</uploadRegex>
150+
<description>
151+
Release Notes: https://exist-db.org/exist/apps/wiki/blogs/eXist/exist${project.version}
152+
153+
Maven Central: https://search.maven.org/search?q=g:org.exist-db
154+
</description>
155+
<releaseName>eXist-db ${project.version}</releaseName>
156+
<tag>eXist-${project.version}</tag>
157+
<fileSets>
158+
<fileSet>
159+
<directory>${project.build.directory}</directory>
160+
<includes>
161+
<include>${project.artifactId}-${project.version}.jar</include>
162+
</includes>
163+
</fileSet>
164+
</fileSets>
163165
</configuration>
164166
</execution>
165167
</executions>
166168
</plugin>
167-
168169
</plugins>
169170
</build>
170171

exist-parent/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -784,9 +784,9 @@
784784
<version>1.6</version>
785785
</plugin>
786786
<plugin>
787-
<groupId>com.carrotgarden.maven</groupId>
788-
<artifactId>bintray-maven-plugin</artifactId>
789-
<version>1.5.20191113165555</version>
787+
<groupId>de.jutzig</groupId>
788+
<artifactId>github-release-plugin</artifactId>
789+
<version>1.1.1</version>
790790
</plugin>
791791
<plugin>
792792
<groupId>org.eluder.coveralls</groupId>

exist-versioning-release.md

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ Version 3.0.0 was released before Semantic Versioning. The following steps will
109109
110110
### Preparing a Product Release
111111
112-
Once development on a new stable version is complete, the following steps will prepare the version for release. For purposes of illustration, we will assume we are preparing the stable release of version 5.0.0.
112+
Once development on a new stable version is complete, the following steps will prepare the version for release. For purposes of illustration, we will assume we are preparing the stable release of version 5.3.0.
113113
You will require a system with:
114114
* macOS
115115
* JDK 8
@@ -119,11 +119,11 @@ You will require a system with:
119119
* A GPG key (for signing release artifacts)
120120
* A Java KeyStore with key (for signing IzPack Installer)
121121
* A valid Apple Developer Certificate (for signing Mac DMG)
122+
* A Github account and username / password or Github Personal access tokens (https://github.com/settings/tokens) with permission to publish Github releases to the eXist-db .org
122123
123124
1. You will need login credentials for the eXist-db organisation on:
124125
1. Sonatype OSS staging for Maven Central - https://oss.sonatype.org/
125-
2. Bintray - https://bintray.com/existdb
126-
3. DockerHub - https://cloud.docker.com/orgs/existdb/
126+
2. DockerHub - https://cloud.docker.com/orgs/existdb/
127127
128128
Your credentials for these should be stored securely in the `<servers`> section on your machine in your local `~/.m2/settings.xml` file, e.g.:
129129
```xml
@@ -147,11 +147,10 @@ You will require a system with:
147147
<password>YOUR-PASSWORD</password>
148148
</server>
149149
150-
<!-- eXist-db BinTray -->
150+
<!-- eXist-db Github Release -->
151151
<server>
152-
<id>exist-bintray</id>
153-
<username>YOUR-USERNAME</username>
154-
<password>YOUR-PASSWORD</password>
152+
<id>github</id>
153+
<privateKey>[Github Personal access tokens]</privateKey>
155154
</server>
156155
</servers>
157156
</settings>
@@ -186,7 +185,7 @@ You will require a system with:
186185
</activeProfiles>
187186
```
188187
189-
3. Merge any outstanding PRs that have been reviewed and accepted for the milestone eXist-5.0.0.
188+
3. Merge any outstanding PRs that have been reviewed and accepted for the milestone eXist-5.3.0.
190189
191190
4. Make sure that you have the HEAD of `origin/develop` (or `upstream` if you are on a fork).
192191
@@ -204,24 +203,24 @@ You will require a system with:
204203
[INFO] Executing: /bin/sh -c cd /Users/aretter/code/exist.maven && git status
205204
[INFO] Working directory: /Users/aretter/code/exist.maven
206205
[INFO] Checking dependencies and plugins for snapshots ...
207-
What is the release version for "eXist-db"? (org.exist-db:exist) 5.0.0: :
208-
What is SCM release tag or label for "eXist-db"? (org.exist-db:exist) eXist-5.0.0: :
209-
What is the new development version for "eXist-db"? (org.exist-db:exist) 5.1.0-SNAPSHOT: :
206+
What is the release version for "eXist-db"? (org.exist-db:exist) 5.3.0: :
207+
What is SCM release tag or label for "eXist-db"? (org.exist-db:exist) eXist-5.3.0: :
208+
What is the new development version for "eXist-db"? (org.exist-db:exist) 5.4.0-SNAPSHOT: :
210209
```
211210
212211
6. Once the prepare process completes you can perform the release. This will upload Maven Artifacts to Maven
213-
Central (staging), Docker images to Docker Hub, and eXist-db distributions and installer to BinTray:
212+
Central (staging), Docker images to Docker Hub, and eXist-db distributions and installer to Github releases:
214213
```
215214
$ mvn -Ddocker=true -Dmac-signing=true -Djarsigner.skip=false -Darguments="-Ddocker=true -Dmac-signing=true -Djarsigner.skip=false" release:perform
216215
```
217216
218217
7. Update the stable branch (`master`) of eXist-db to reflect the latest release:
219218
```
220-
$ git push origin eXist-5.0.0:master
219+
$ git push origin eXist-5.3.0:master
221220
```
222221
223222
#### Publishing/Promoting the Product Release
224-
1. Check that the new versions are visible on [BinTray](https://bintray.com/existdb/releases/exist).
223+
1. Check that the new versions are visible on [Github](https://github.com/eXist-db/exist/releases).
225224
226225
2. Check that the new versions are visible on [DockerHub](https://hub.docker.com/r/existdb/existdb).
227226
@@ -238,13 +237,13 @@ Central (staging), Docker images to Docker Hub, and eXist-db distributions and i
238237
<div class="row">
239238
<div class="col-md-12">
240239
<h2 id="download">Download</h2>
241-
<a href="https://bintray.com/existdb/releases/exist/5.0.0/view">
240+
<a href="https://github.com/eXist-db/exist/releases/tag/eXist-5.3.0">
242241
<button class="btn btn-default download-btn stable" type="button">
243242
<span class="status">Latest Release</span>
244243
<span class="icon">
245244
<i class="fa fa-download"/>
246245
</span>
247-
<span class="exist-version">Version 5.0.0</span>
246+
<span class="exist-version">Version 5.3.0</span>
248247
</button>
249248
</a>
250249
<a href="https://hub.docker.com/r/evolvedbinary/exist-db/tags/">
@@ -253,7 +252,7 @@ Central (staging), Docker images to Docker Hub, and eXist-db distributions and i
253252
<span class="icon">
254253
<i class="fa fa-ship"/>
255254
</span>
256-
<span class="exist-version">Version 5.0.0</span>
255+
<span class="exist-version">Version 5.3.0</span>
257256
</button>
258257
</a>
259258
<a href="https://github.com/exist-db/mvn-repo">
@@ -262,28 +261,28 @@ Central (staging), Docker images to Docker Hub, and eXist-db distributions and i
262261
<span class="icon">
263262
<i class="fa fa-github"/>
264263
</span>
265-
<span class="exist-version">Version 5.0.0</span>
264+
<span class="exist-version">Version 5.3.0</span>
266265
</button>
267266
</a>
268267
```
269268

270269
3. Edit the file `expath-pkg.xml` and bump the version i.e. `version="4"` to reflect the new version.
271270

272-
4. Commit your change and push: `$ git commit index.html expath-pkg.xml -m "Update for eXist-5.0.0 website" && git push origin master`
271+
4. Commit your change and push: `$ git commit index.html expath-pkg.xml -m "Update for eXist-5.3.0 website" && git push origin master`
273272

274-
5. Tag your release of the Website and push the tag: `$ git tag -s -m "Release tag for eXist 5.0.0 website" eXist-5.0.0 && git push origin eXist-5.0.0`.
273+
5. Tag your release of the Website and push the tag: `$ git tag -s -m "Release tag for eXist 5.3.0 website" eXist-5.3.0 && git push origin eXist-5.3.0`.
275274

276-
6. Create a XAR for the website: `$ git checkout eXist-5.0.0 && ant`.
275+
6. Create a XAR for the website: `$ git checkout eXist-5.3.0 && ant`.
277276

278277
7. Visit http://www.exist-db.org/exist/apps/dashboard/index.html, login and upload the new `build/homepage.xar` file via the Package Manager.
279278

280279
6. Login to the blog at [http://exist-db.org/exist/apps/wiki/blogs/eXist/](http://exist-db.org/exist/apps/wiki/blogs/eXist/) and add a new news item which announces the release and holds the release notes. It should be named like [http://exist-db.org/exist/apps/wiki/blogs/eXist/eXistdb500](http://exist-db.org/exist/apps/wiki/blogs/eXist/eXistdb500)
281280

282281
6.1. Warning: there is a know issue in Atomic-Wiki where your release notes might suddenly disappear. In case this happens your data is not lost but stored in /db/apps/wiki/data/blogs/eXist/.md. You can rename it or move the content to a eXistdb<VERSION>.md file and create an according eXistdb<VERSION>.atom for it. Once these two files are available the blog entry will become visible on the eXist-db homepage and it will be visible in the eXist-db blog.
283282

284-
7. Visit the GitHub releases page [https://github.com/eXist-db/exist/releases](https://github.com/eXist-db/exist/releases) and create a new release, enter the tag you previously created and link the release notes from the blog and the binaries from BinTray.
283+
7. Visit the GitHub releases page [https://github.com/eXist-db/exist/releases](https://github.com/eXist-db/exist/releases) and create a new release, enter the tag you previously created and link the release notes from the blog.
285284

286-
8. Send an email to the `exist-open` mailing list announcing the release with a title similar to `[ANN] Release of eXist 5.0.0`, copy and paste the release notes from the blog into the email and reformat appropriately (see past emails).
285+
8. Send an email to the `exist-open` mailing list announcing the release with a title similar to `[ANN] Release of eXist 5.3.0`, copy and paste the release notes from the blog into the email and reformat appropriately (see past emails).
287286

288287
9. Tweet about it using the `existdb` twitter account.
289288

@@ -315,7 +314,7 @@ cask-repair exist-db
315314
The cask-repair tool will prompt you to enter the new version number. It will then use this version number to construct a download URL using the formula (where `{version}` represents the version number):
316315

317316
```
318-
https://bintray.com/artifact/download/existdb/releases/eXist-db-#{version}.dmg
317+
https://github.com/eXist-db/exist/releases/download/eXist-{version}/eXist-db-{version}.dmg
319318
```
320319

321320
**Note:** It is important that both version number components (the tag and version number) match, so that the formula can find the installer's URL.

0 commit comments

Comments
 (0)