summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--ReleaseInstructions58
-rw-r--r--snap/gui/ant-docs.desktop22
-rw-r--r--snap/gui/ant-logo.pngbin0 -> 27191 bytes
-rwxr-xr-xsnap/local/ant-docs.sh18
-rw-r--r--snap/snapcraft.yaml54
6 files changed, 140 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index 36e832995..2ad4e317b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
*.ipr
*.iws
*.pif
+*.snap
.ant.properties
.classpath
.DS_Store
diff --git a/ReleaseInstructions b/ReleaseInstructions
index 8644e7df6..4382eb990 100644
--- a/ReleaseInstructions
+++ b/ReleaseInstructions
@@ -47,6 +47,12 @@ Note: This document was adapted from the one created in the context of
while releasing Ant 1.10.x from master branch. Make sure JAVA_HOME
points to a JDK installation which is minimally Java 9.
+ You will need to have the snapcraft CLI tool installed in order to
+ create and publish snap archives. See
+ https://docs.snapcraft.io/snapcraft-overview
+ Also you will need a launchpad id that is a collaborator of Ant's
+ snapcraft store organization, Stefan can add you.
+
3. We don't want tags for failed votes to end up on our branches so
the release is first created from a detached head.
@@ -74,6 +80,7 @@ Note: This document was adapted from the one created in the context of
* ivy.xml in release subdirectory (version should already be correct here)
* WHATSNEW (version should already be correct here)
* src/etc/testcases/taskdefs/conditions/antversion.xml (version should already be correct here)
+ * snap/snapcraft.yml
6. Next bootstrap, build and run the tests.
@@ -196,7 +203,23 @@ Note: This document was adapted from the one created in the context of
"Close" on the top of the table listing the uploads make a note of
the location of the staging repository for the vote email
-14. Once this is committed send a release vote email on dev@ant.
+14. Create the Snap archive and publish it
+
+ You may need to login first
+
+ $ snapcraft login
+
+ And then build and publish
+
+ $ snapcraft clean
+ $ snapcraft snap
+ $ snapcraft push --release candidate ant_*.snap
+
+ This will publish the new release snap to the latest track on the
+ candidate risk level. It will be moved to stable, once the vote
+ has passed.
+
+15. Once this is committed send a release vote email on dev@ant.
The email will typically mention :
- the git tag for the release including commit hash,
- the location of the tarballs, including revision number in
@@ -206,15 +229,15 @@ Note: This document was adapted from the one created in the context of
The vote will only pass if at least three PMC members have voted +1
and more +1s than -1s have been cast. The vote will run for 3 days.
-15. If the vote fails, address the problems and recreate the next RC
+16. If the vote fails, address the problems and recreate the next RC
build.
-16. Once the vote has passed, tag the last RC created with the final tag
+17. Once the vote has passed, tag the last RC created with the final tag
$ git tag -s -m "Tagging version 1.10.0 of Ant" rel/1.10.0 HASH_OF_LAST_RC
$ git push --tags
-17. The distrib artifacts should be published the apache dist. It is
+18. The distrib artifacts should be published the apache dist. It is
managed via svnpubsub so the release should be committed to the
subversion repository
https://dist.apache.org/repos/dist/release/ant/.
@@ -234,16 +257,16 @@ Note: This document was adapted from the one created in the context of
and click the button "Release".
4 hours later, the artifacts will be in the maven central repository.
-18. Update the Apache Reporter System
+19. Update the Apache Reporter System
https://reporter.apache.org/addrelease.html?ant
-19. Address the available version tags in BugZilla. Create new
+20. Address the available version tags in BugZilla. Create new
milestone 1.10.1 and version 1.10.0.
-20. Add a new release tag to doap_Ant.rdf in Ant's site.
+21. Add a new release tag to doap_Ant.rdf in Ant's site.
-21. checkout the master branch, merge the tag but don't push the
+22. checkout the master branch, merge the tag but don't push the
commit
[if a release of Ant 1.9.x happened at the same time, deal with
@@ -279,6 +302,7 @@ Note: This document was adapted from the one created in the context of
* ivy.xml in release subdirectory
* WHATSNEW (add a new section)
* src/etc/testcases/taskdefs/conditions/antversion.xml
+ * snap/snapcraft.yml (bump version to [newversion]alpha)
Amend the merge commit
@@ -286,9 +310,16 @@ Note: This document was adapted from the one created in the context of
$ git commit -a --amend
$ git push
-22. wait a few hours for the mirrors to catch up
+23. copy the candidate snaps to stable. First figure out the revision
+
+ $ snapcraft status ant
+ $ snapcraft release ant REVISION latest/stable 1.10/stable
+
+ where REVISION is the revision you want to promote
+
+24. wait a few hours for the mirrors to catch up
-23. Update the ant.apache.org site :
+25. Update the ant.apache.org site :
The website is managed here: https://svn.apache.org/repos/asf/ant/site/ant/
@@ -314,15 +345,15 @@ Note: This document was adapted from the one created in the context of
Commit the modified/generated files in the 'production' folder, it will go
live on ant.apache.org in a matter on seconds.
-24. At this point in time, the release is done and announcements are made.
+26. At this point in time, the release is done and announcements are made.
PGP-sign your announcement posts.
Apache mailing lists that should get the announcements:
announce@apache.org, dev@ant and user@ant.
-25. You can now reacquaint yourself with your family and friends.
+27. You can now reacquaint yourself with your family and friends.
-26. After a few days "svn rm" the older release artifacts and release
+28. After a few days "svn rm" the older release artifacts and release
notes from https://dist.apache.org/repos/dist/release/ant/
"older" here means any older 1.10.x release but not the latest
@@ -344,6 +375,7 @@ Files containing version information
* ivy.xml in release subdirectory
* WHATSNEW
* src/etc/testcases/taskdefs/conditions/antversion.xml
+ * snap/snapcraft.yml
cover.html, credits.html, POM files, antversion.xml should be
adjusted for the [newversion] right after the build and tagging
diff --git a/snap/gui/ant-docs.desktop b/snap/gui/ant-docs.desktop
new file mode 100644
index 000000000..caee39279
--- /dev/null
+++ b/snap/gui/ant-docs.desktop
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+[Desktop Entry]
+Name=Apache Ant Documentation
+Comment=Browse the Apache Ant documentation locally
+Exec=ant.ant-docs
+Icon=${SNAP}/meta/gui/ant-logo.png
+Terminal=false
+Type=Application
diff --git a/snap/gui/ant-logo.png b/snap/gui/ant-logo.png
new file mode 100644
index 000000000..0a423e2af
--- /dev/null
+++ b/snap/gui/ant-logo.png
Binary files differ
diff --git a/snap/local/ant-docs.sh b/snap/local/ant-docs.sh
new file mode 100755
index 000000000..eb28fb717
--- /dev/null
+++ b/snap/local/ant-docs.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+xdg-open "$@"
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
new file mode 100644
index 000000000..cb62fa56b
--- /dev/null
+++ b/snap/snapcraft.yaml
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: ant
+version: "1.10.7alpha"
+summary: Apache Ant
+description: |
+ Apache Antâ„¢ is a Java library and command-line tool whose mission is
+ to drive processes described in build files as targets and extension
+ points dependent upon each other. The main known usage of Ant is the
+ build of Java applications. Ant supplies a number of built-in tasks
+ allowing to compile, assemble, test and run Java applications. Ant
+ can also be used effectively to build non Java applications, for
+ instance C or C++ applications. More generally, Ant can be used to
+ pilot any type of process which can be described in terms of targets
+ and tasks.
+
+ Ant is written in Java and thus requires Java 8 or a later runtime
+ environment to be installed. If you want to build a Java project you
+ will need a Java Development Kit rather than just a Java Runtime
+ Environment.
+confinement: classic
+grade: devel
+base: core18
+license: Apache-2.0
+architectures:
+ - run-on: all
+ build-on: [amd64, i386]
+
+apps:
+ ant:
+ command: bin/ant
+ ant-docs:
+ command: ant-docs.sh $SNAP/manual/index.html
+
+parts:
+ ant:
+ plugin: dump
+ source: distribution/binaries/apache-ant-${SNAPCRAFT_PROJECT_VERSION}-bin.tar.gz
+ ant-docs:
+ plugin: dump
+ source: snap/local