diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | ReleaseInstructions | 58 | ||||
-rw-r--r-- | snap/gui/ant-docs.desktop | 22 | ||||
-rw-r--r-- | snap/gui/ant-logo.png | bin | 0 -> 27191 bytes | |||
-rwxr-xr-x | snap/local/ant-docs.sh | 18 | ||||
-rw-r--r-- | snap/snapcraft.yaml | 54 |
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 Binary files differnew file mode 100644 index 000000000..0a423e2af --- /dev/null +++ b/snap/gui/ant-logo.png 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 |