You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by da...@apache.org on 2015/06/12 18:11:47 UTC
[1/4] wicket git commit: Cleanup of Maven's compiler settings
Repository: wicket
Updated Branches:
refs/heads/master b762f6085 -> e9944ee2b
Cleanup of Maven's compiler settings
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/fad84d8f
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fad84d8f
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fad84d8f
Branch: refs/heads/master
Commit: fad84d8f7014813c99f92c21a0dd8b45db0e7774
Parents: b762f60
Author: Martijn Dashorst <da...@apache.org>
Authored: Fri Jun 12 13:51:29 2015 +0200
Committer: Martijn Dashorst <da...@apache.org>
Committed: Fri Jun 12 13:51:29 2015 +0200
----------------------------------------------------------------------
pom.xml | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/fad84d8f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d28c9ce..6b11c5a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
- <version>14</version>
+ <version>17</version>
</parent>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-parent</artifactId>
@@ -118,9 +118,14 @@
<!-- Encoding -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
+
+ <maven.compiler.optimize>true</maven.compiler.optimize>
+ <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
+ <maven.compiler.showWarnings>true</maven.compiler.showWarnings>
+ <maven.compiler.source>1.7</maven.compiler.source>
+ <maven.compiler.target>1.7</maven.compiler.target>
+
<!-- Project Versions -->
- <mvn.build.java.version>1.7</mvn.build.java.version>
<jacoco.version>0.7.4.201502262128</jacoco.version>
<jetty.version>8.1.17.v20150415</jetty.version>
<jetty9.version>9.0.7.v20131107</jetty9.version>
@@ -677,19 +682,10 @@
<version>2.3</version>
</plugin>
<plugin>
- <inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
- <configuration>
- <source>${mvn.build.java.version}</source>
- <target>${mvn.build.java.version}</target>
- <compilerVersion>${mvn.build.java.version}</compilerVersion>
- <encoding>${project.build.sourceEncoding}</encoding>
- <showWarnings>true</showWarnings>
- <optimize>true</optimize>
- <debug>true</debug>
- </configuration>
+ <inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
[4/4] wicket git commit: Upgraded release scripts to automate more
Posted by da...@apache.org.
Upgraded release scripts to automate more
Added automatic release notes generation, merged milestone
release creation into the main release script.
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e9944ee2
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e9944ee2
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e9944ee2
Branch: refs/heads/master
Commit: e9944ee2b6d47e670f0dfa28038b9584c78e52d3
Parents: 692247f
Author: Martijn Dashorst <da...@apache.org>
Authored: Fri Jun 12 18:11:05 2015 +0200
Committer: Martijn Dashorst <da...@apache.org>
Committed: Fri Jun 12 18:11:05 2015 +0200
----------------------------------------------------------------------
build-versions.py | 57 +++++++
release-dashorst.sh | 424 +++++++++++++++++++++++++++++++---------------
release-milestone.py | 57 -------
release-milestone.sh | 47 +----
4 files changed, 349 insertions(+), 236 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/e9944ee2/build-versions.py
----------------------------------------------------------------------
diff --git a/build-versions.py b/build-versions.py
new file mode 100755
index 0000000..5dbf488
--- /dev/null
+++ b/build-versions.py
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+#
+# prints a release.properties file for instructing the Maven Release Plugin
+# to generate the proper release artefacts without having to manually version
+# everything.
+#
+# Usage:
+#
+# build-versions.py <release-version> <dev-version>
+#
+# This will generate a release.properties file that will release the
+# release-version, and will continue development on dev-version.
+#
+# Example:
+#
+# build-milestone.py 7.0.0-M1 7.0.0-SNAPSHOT
+#
+
+import sys
+from xml.dom.minidom import parse
+
+groupId = "org.apache.wicket"
+
+if len(sys.argv) != 3:
+ print "Usage: %s <release-version> <dev-version>" % sys.argv[0]
+ sys.exit(1)
+
+relVersion = sys.argv[1]
+devVersion = sys.argv[2]
+
+relVersions = []
+devVersions = []
+
+def addVersions(groupId, module):
+ relVersions.append("project.rel." + groupId + "\\:" + module + "=" + relVersion)
+ devVersions.append("project.dev." + groupId + "\\:" + module + "=" + devVersion)
+
+def getModulesFromParent(parentPomFile):
+ pom = parse(parentPomFile)
+
+ for moduleTag in pom.getElementsByTagName('module'):
+ module = moduleTag.childNodes[0].nodeValue.replace("testing/", "").replace("archetypes/quickstart", "wicket-archetype-quickstart")
+ addVersions(groupId, module)
+
+addVersions(groupId, "wicket-parent")
+addVersions("org.apache.wicket.experimental.wicket7", "wicket-experimental")
+
+getModulesFromParent("pom.xml")
+getModulesFromParent("wicket-native-websocket/pom.xml")
+
+for version in relVersions:
+ print version
+
+print
+
+for version in devVersions:
+ print version
http://git-wip-us.apache.org/repos/asf/wicket/blob/e9944ee2/release-dashorst.sh
----------------------------------------------------------------------
diff --git a/release-dashorst.sh b/release-dashorst.sh
index 42d1174..a6d9a1e 100755
--- a/release-dashorst.sh
+++ b/release-dashorst.sh
@@ -14,105 +14,141 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-log=/tmp/wicketrelease.out
-
function fail {
echo "$1"
- if [ -f $log ] ; then
- echo ""
- cat $log
- fi
- exit
+ exit 1
}
-function setup_gpg {
- gpg --armor --detach-sign --use-agent --sign pom.xml >& $log
- if [ $? -ne 0 ] ; then
- fail "ERROR: Unable to run gpg properly"
- fi
-
- gpg --verify pom.xml.asc >& $log
- if [ $? -ne 0 ]; then
- rm pom.xml.asc
- fail "It appears that you fat-fingered your GPG passphrase"
- fi
- rm pom.xml.asc
+function getJavaVersionFromPom {
+ cat << EOF | xmllint --noent --shell pom.xml | grep content | cut -f2 -d=
+setns pom=http://maven.apache.org/POM/4.0.0
+xpath /pom:project/pom:properties/pom:maven.compiler.source/text()
+EOF
}
-function getVersion {
+function getProjectVersionFromPom {
cat << EOF | xmllint --noent --shell pom.xml | grep content | cut -f2 -d=
setns pom=http://maven.apache.org/POM/4.0.0
xpath /pom:project/pom:version/text()
EOF
}
+function getJdkToolchain {
+ xmllint ~/.m2/toolchains.xml --xpath "/toolchains/toolchain[provides/version/text() = '$JAVA_VERSION']/configuration/jdkHome/text()"
+}
+
# set -e
-echo "Apache Wicket Release script"
-echo "----------------------------"
-echo "Building a release for Apache Wicket."
-echo ""
-echo "This script assumes you are running on OS X, it hasn't been tested on any other"
-echo "operating systems, and you can bet it won't work on Windows..."
-echo ""
-echo "REQUIREMENTS:"
-echo ""
-echo " - a pure JDK 6 environment, JDK 7 or newer won't cut it"
-echo " - Maven 3.0.4 (older releases are b0rked, just don't bother)"
-echo " - gpg, gpg-agent and pinentry for signing"
-echo ""
+# the branch on which the code base lives for this version (master is
+# always current development version)
+GIT_BRANCH=master
-agentcount=`ps aux|grep gpg-agent|wc -l`
+JAVA_VERSION=$(getJavaVersionFromPom)
-current_version=$(getVersion)
-major_version=$(expr $current_version : '\(.*\)\..*\..*\-SNAPSHOT')
-minor_version=$(expr $current_version : '.*\.\(.*\)\..*\-SNAPSHOT')
-bugfix_version=$(expr $current_version : '.*\..*\.\(.*\)-SNAPSHOT')
-version="$major_version.$minor_version.0"
-echo "This script will release version: Apache Wicket $version"
-echo ""
-echo "Press enter to continue or CTRL-C to abort \c"
-read
+echo "
+Apache Wicket Release script
+----------------------------
+Building a release for Apache Wicket.
-branch="build/wicket-$version"
-tag="wicket-$version"
+This script assumes you are running on OS X, it hasn't been tested on any other
+operating systems, and you can bet it won't work on Windows...
-if [ "$agentcount" -ne 1 ]; then
- echo "Found gpg-agent running, killing all agents"
- killall gpg-agent
+REQUIREMENTS:
+
+ - A Java version $JAVA_VERSION configured through the Maven toolchain
+ - Maven 3.3.0 (older releases are b0rked, just don't bother)
+ - gpg, gpg-agent and pinentry for signing
+"
+
+if [ ! -f ~/.m2/toolchains.xml ] ; then
+ fail "
+Maven will load the Java $JAVA_VERSION environment from the toolchain specified in
+~/.m2/toolchains.xml
+
+You don't have a toolchains.xml file in your .m2 folder. Please specify your
+JDK's in the toolchains.xml file.
+"
fi
-echo ""
-echo "You are asked twice for your passphrase, one for scripting purposes, and one "
-echo "for gpg-agent using pinentry such that gpg and git are able to sign things."
-echo ""
-echo "Enter your GPG passphrase (input will be hidden) \c"
-stty_orig=`stty -g`
-stty -echo
-read passphrase
-stty $stty_orig
-
-# test the GPGP passphrase to fail-fast:
-echo "$passphrase" | gpg --passphrase-fd 0 --armor --output pom.xml.asc --detach-sig pom.xml
-gpg --verify pom.xml.asc
-if [ $? -ne 0 ]; then
- echo "It appears that you fat-fingered your GPG passphrase"
- rm pom.xml.asc
- exit $?
+grep -q "<version>$JAVA_VERSION</version>" ~/.m2/toolchains.xml
+
+if [ $? -ne 0 ] ; then
+ fail "
+Your ~/.m2/toolchains.xml file doesn't provide a Java $JAVA_VERSION toolchain.
+"
fi
-rm pom.xml.asc
-echo "Starting new gpg-agent"
-eval $(gpg-agent --daemon --pinentry-program $(which pinentry))
+echo "Java version for running Maven is: $(java -version 2>&1 | tail -n 2 | head -n 1)
+Java used to compile (from toolchain) is: $(getJdkToolchain)
+"
+
+agentcount=`ps aux|grep gpg-agent|wc -l`
+
+if [ ! -z "$1" ] ; then
+ current_version="$1"
+ major_version=$(expr $current_version : '\(.*\)\..*\..*\-.*')
+ minor_version=$(expr $current_version : '.*\.\(.*\)\..*\-.*')
+ bugfix_version=$(expr $current_version : '.*\..*\.\(.*\)-.*')
+ milestone_version=$(expr $current_version : '.*\..*-M\(.*\)')
+ version="$major_version.$minor_version.0-M$milestone_version"
+ next_version="$major_version.0.0-SNAPSHOT"
+ previous_version="$major_version.0.0-SNAPSHOT"
+else
+ current_version=$(getProjectVersionFromPom)
+ major_version=$(expr $current_version : '\(.*\)\..*\..*\-.*')
+ minor_version=$(expr $current_version : '.*\.\(.*\)\..*\-.*')
+ bugfix_version=$(expr $current_version : '.*\..*\.\(.*\)-.*')
+ version="$major_version.$minor_version.0"
+ next_version="$major_version.$(expr $minor_version + 1).0-SNAPSHOT"
+ previous_minor_version=$(expr $minor_version - 1)
+ if [ $previous_minor_version -lt 0 ] ; then
+ previous_version="$major_version.0.0-SNAPSHOT"
+ else
+ previous_version="$major_version.$(expr $minor_version - 1).0"
+ fi
+fi
+
+# Check if the changelog has the issues this release
+
+grep -q "$version\$" CHANGELOG-$major_version.x
if [ $? -ne 0 ] ; then
- fail "ERROR: Unable to start gpg-agent"
+ fail "You have forgotten to add the closed tickets for Wicket $version to the CHANGELOG-$major_version.x file
+
+Use build-changelog.sh to add the release notes to the changelog.
+"
fi
-setup_gpg
+log=$(pwd)/release.out
-echo "Ensuring we are starting from master"
+if [ -f $log ] ; then
+ rm $log
+fi
+
+branch="build/wicket-$version"
+tag="wicket-$version"
+
+echo "# Release configuration for Wicket-$version
+scm.tag=${tag}
+" > release.properties
+
+./build-versions.py $version $next_version >> release.properties
+
+echo "Contents of the release properties generated for Maven:
+-------------------------------------------------------------------------------
+$(cat ./release.properties)
+-------------------------------------------------------------------------------
+
+Writing detailed log to $log
+
+This script will release version: Apache Wicket $version and continue
+development with $next_version
+
+Press enter to continue or CTRL-C to abort \c"
+read
+
+echo "Ensuring we are starting from wicket-$major_version.x"
# otherwise we can't remove a previous release branch that failed
-git checkout master
+git checkout $GIT_BRANCH
echo "Cleaning up any release artifacts that might linger"
mvn -q release:clean
@@ -131,20 +167,20 @@ git checkout -b $branch
echo "Creating notice file."
NOTICE=NOTICE
-> $NOTICE
-echo "Apache Wicket" >> $NOTICE
-echo "Copyright 2006-$(date +%Y) The Apache Software Foundation" >> $NOTICE
-echo "" >> $NOTICE
-echo "This product includes software developed at" >> $NOTICE
-echo "The Apache Software Foundation (http://www.apache.org/)." >> $NOTICE
-echo "" >> $NOTICE
-echo "This is an aggregated NOTICE file for the Apache Wicket projects included" >> $NOTICE
-echo "in this distribution." >> $NOTICE
-echo "" >> $NOTICE
-echo "NB: DO NOT ADD LICENSES/NOTICES/ATTRIBUTIONS TO THIS FILE, BUT IN THE" >> $NOTICE
-echo " NOTICE FILE OF THE CORRESPONDING PROJECT. THE RELEASE PROCEDURE WILL" >> $NOTICE
-echo " AUTOMATICALLY INCLUDE THE NOTICE IN THIS FILE." >> $NOTICE
-echo "" >> $NOTICE
+
+echo "Apache Wicket
+Copyright 2006-$(date +%Y) The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This is an aggregated NOTICE file for the Apache Wicket projects included
+in this distribution.
+
+NB: DO NOT ADD LICENSES/NOTICES/ATTRIBUTIONS TO THIS FILE, BUT IN THE
+ NOTICE FILE OF THE CORRESPONDING PROJECT. THE RELEASE PROCEDURE WILL
+ AUTOMATICALLY INCLUDE THE NOTICE IN THIS FILE.
+" > $NOTICE
# next concatenate all NOTICE files from sub projects to the root file
for i in `find . -name "NOTICE" -not -regex ".*/target/.*" -not -regex "./NOTICE"`
@@ -168,7 +204,7 @@ mvn -q clean -Pall
# package and assemble the release
echo "Prepare the release"
-mvn --batch-mode release:prepare -DpreparationGoals="clean" -Dtag=$tag
+mvn --batch-mode release:prepare -l $log -DpreparationGoals="clean" -Dtag=$tag -Papache-release,release
if [ $? -ne 0 ] ; then
fail "ERROR: mvn release:prepare was not successful"
fi
@@ -183,11 +219,17 @@ fi
#git tag --sign --force --message "Signed release tag for Apache Wicket $version" $tag >> $log
echo "Performing the release using Maven"
-mvn -Dgpg.passphrase="$passphrase" -ff -l $log release:perform -DlocalCheckout=true -Dtag=$tag
+mvn -Dgpg.passphrase="$passphrase" -ff -l $log release:perform -DlocalCheckout=true -Dtag=$tag -Papache-release,release
if [ $? -ne 0 ] ; then
fail "ERROR: mvn release:perform was not successful"
fi
+# Determine the staging repository and close it after deploying the release to the staging area
+stagingrepoid=$(mvn org.sonatype.plugins:nexus-staging-maven-plugin:LATEST:rc-list -DnexusUrl=https://repository.apache.org -DserverId=apache.releases.https | grep -v "CLOSED" | grep -Eo "(orgapachewicket-\d+)";)
+
+echo "Closing staging repository with id $stagingrepoid"
+mvn org.sonatype.plugins:nexus-staging-maven-plugin:LATEST:rc-close -DstagingRepositoryId=$stagingrepoid -DnexusUrl=https://repository.apache.org -DserverId=apache.releases.https -Ddescription="Release has been built, awaiting vote"
+
echo "Create and sign the source tarballs"
mkdir -p target/dist/binaries
@@ -224,7 +266,7 @@ gpg --print-md SHA1 dist/binaries/apache-wicket-$version-bin.zip > dist/binaries
gpg --print-md MD5 dist/binaries/apache-wicket-$version-bin.zip > dist/binaries/apache-wicket-$version-bin.zip.md5
popd
-echo "Uploading release"
+echo "Uploading release to dist.apache.org"
pushd target/dist
svn mkdir https://dist.apache.org/repos/dist/dev/wicket/$version -m "Create $version release staging area"
svn co --force --depth=empty https://dist.apache.org/repos/dist/dev/wicket/$version .
@@ -233,49 +275,165 @@ svn add *
svn commit -m "Upload wicket-$version to staging area"
popd
-echo ""
-echo "The release has been created. It is up to you to check if the release is up"
-echo "to par, and perform the following commands yourself when you start the vote"
-echo "to enable future development during the vote and after."
-echo ""
-echo "You can find the distribution in target/dist"
-echo ""
-echo " cd target/dist"
-echo ""
-echo "To verify all signatures:"
-echo ""
-echo " find . -name \"*.asc\" -exec gpg --verify {} \; "
-echo ""
-echo "To push the release branch to ASF git servers"
-echo ""
-echo " git push origin $branch:refs/heads/$branch"
-echo ""
-
-echo "To move the release from staging to the mirrors:"
-echo ""
-echo " svn mv https://dist.apache.org/repos/dist/dev/wicket/$version https://dist.apache.org/repos/dist/release/wicket -m \"Upload release to the mirrors\""
-echo ""
-
-echo "To sign the release tag issue the following three commands: "
-echo ""
-echo " git checkout $tag"
-echo " git tag --sign --force --message \"Signed release tag for Apache Wicket $version\" $tag >> $log"
-echo " git checkout $branch"
-echo ""
+echo "========================================================================
+
+The signatures for the source release artefacts:
+
+" > /tmp/release-$version-sigs.txt
+
+pushd target/dist > /dev/null
+for i in apache-wicket*{zip,tar.gz}
+do
+ echo "Signature for $i:
+
+$(cat $i.asc)
+" >> /tmp/release-$version-sigs.txt
+done
+popd > /dev/null
+
+echo "========================================================================
+
+CHANGELOG for $version:
+" >> /tmp/release-$version-sigs.txt
+
+awk "/Release Notes - Wicket - Version $version/{flag=1;next} /==================/{flag=0} flag { print }" CHANGELOG-6.x >> /tmp/release-$version-sigs.txt
+
+
+echo "Generating Vote email"
+
+echo "This is a vote to release Apache Wicket $version
+
+Please download the source distributions found in our staging area
+linked below.
+
+I have included the signatures for both the source archives. This vote
+lasts for 72 hours minimum.
+
+[ ] Yes, release Apache Wicket $version
+[ ] No, don't release Apache Wicket $version, because ...
+
+Distributions, changelog, keys and signatures can be found at:
+
+ https://dist.apache.org/repos/dist/dev/wicket/$version
+
+Staging repository:
+
+ https://repository.apache.org/content/repositories/$stagingrepoid/
+
+The binaries are available in the above link, as are a staging
+repository for Maven. Typically the vote is on the source, but should
+you find a problem with one of the binaries, please let me know, I can
+re-roll them some way or the other.
+
+" > release-vote.txt
+
+cat /tmp/release-$version-sigs.txt >> release-vote.txt
+
+echo "The Apache Wicket PMC is proud to announce Apache Wicket $version!
+
+This release marks another minor release of Wicket $major_version. We
+use semantic versioning for the development of Wicket, and as such no
+API breaks are present breaks are present in this release compared to
+$major_version.0.0.
+
+New and noteworthy
+------------------
+
+<OPTIONAL>
+
+Using this release
+------------------
+
+With Apache Maven update your dependency to (and don't forget to
+update any other dependencies on Wicket projects to the same version):
+
+<dependency>
+ <groupId>org.apache.wicket</groupId>
+ <artifactId>wicket-core</artifactId>
+ <version>$version</version>
+</dependency>
+
+Or download and build the distribution yourself, or use our
+convenience binary package
+
+ * Source: http://www.apache.org/dyn/closer.cgi/wicket/$version
+ * Binary: http://www.apache.org/dyn/closer.cgi/wicket/$version/binaries
+
+Upgrading from earlier versions
+-------------------------------
+
+If you upgrade from $major_version.y.z this release is a drop in replacement. If
+you come from a version prior to $major_version.0.0, please read our Wicket $major_version
+migration guide found at
+
+ * http://s.apache.org/wicket${major_version}migrate
+
+Have fun!
+
+— The Wicket team
+
+" > release-announce.txt
+
+cat /tmp/release-$version-sigs.txt >> release-announce.txt
+
+# Done with the tasks, now print out the next things the release manager
+# needs to do
mvn_version_to_replace="$major_version.$minor_version.1-SNAPSHOT"
-next_dev_version="$major_version.$(expr $minor_version + 1).0-SNAPSHOT"
-
-echo "To renumber the next development iteration $next_dev_version:"
-echo ""
-echo " git checkout master"
-echo " mvn release:update-versions --batch-mode"
-echo " find . ! \\( -type d -name \"target\" -prune \\) -name pom.xml -exec sed -i \"\" -E \"s/$mvn_version_to_replace/$next_dev_version/g\" {} \\;"
-# do the same for the original snapshot version, as our maven release
-# plugin friend doesn't do that for us in the dependency management section
-mvn_version_to_replace="$major_version.$minor_version.0-SNAPSHOT"
-echo " find . ! \\( -type d -name \"target\" -prune \\) -name pom.xml -exec sed -i \"\" -E \"s/$mvn_version_to_replace/$next_dev_version/g\" {} \\;"
-echo " git add \`find . ! \\( -type d -name \"target\" -prune \\) -name pom.xml\`"
-echo " git commit -m \"Start next development version\""
-echo " git push"
-echo ""
+mvn_version_to_replace2="$major_version.$minor_version.0-SNAPSHOT"
+
+echo "
+The release has been created. It is up to you to check if the release is up
+to par, and perform the following commands yourself when you start the vote
+to enable future development during the vote and after.
+
+A vote email has been generated in release-vote.txt, you can copy/paste it using:
+
+ cat release-vote.txt | pbcopy
+
+You can find the distribution in target/dist
+
+ cd target/dist
+
+To verify all signatures:
+
+ find . -name \"*.asc\" -exec gpg --verify {} \;
+
+To push the release branch to ASF git servers
+
+ git push origin $branch:refs/heads/$branch
+
+To move the release from staging to the mirrors:
+
+ svn mv https://dist.apache.org/repos/dist/dev/wicket/$version https://dist.apache.org/repos/dist/release/wicket -m \"Upload release to the mirrors\"
+
+Remove previous version $previous_version from the mirrors
+
+ svn rm https://dist.apache.org/repos/dist/release/wicket/$previous_version -m \"Remove previous version from mirrors\"
+
+To sign the release tag issue the following three commands:
+
+ git checkout $tag
+ git tag --sign --force --message \"Signed release tag for Apache Wicket $version\" $tag >> $log
+ git checkout $branch
+
+To renumber the next development iteration $next_version:
+
+ git checkout $GIT_BRANCH
+ mvn release:update-versions --batch-mode
+ find . ! \\( -type d -name \"target\" -prune \\) -name pom.xml -exec sed -i \"\" -E \"s/$mvn_version_to_replace/$next_version/g\" {} \\;
+ find . ! \\( -type d -name \"target\" -prune \\) -name pom.xml -exec sed -i \"\" -E \"s/$mvn_version_to_replace/$next_version/g\" {} \\;
+ git add \`find . ! \\( -type d -name \"target\" -prune \\) -name pom.xml\`
+ git commit -m \"Start next development version\"
+ git push
+
+To release the Maven artefacts:
+
+ mvn org.sonatype.plugins:nexus-staging-maven-plugin:LATEST:rc-release -DstagingRepositoryId=$stagingrepoid -DnexusUrl=https://repository.apache.org -DserverId=apache.releases.https -Ddescription=\"Release vote has passed\"
+
+Or in case of a failed vote, to drop the staging repository:
+
+ mvn org.sonatype.plugins:nexus-staging-maven-plugin:LATEST:rc-drop -DstagingRepositoryId=$stagingrepoid -DnexusUrl=https://repository.apache.org -DserverId=apache.releases.https -Ddescription=\"Release vote has failed\"
+" > release.txt
+
+cat release.txt
http://git-wip-us.apache.org/repos/asf/wicket/blob/e9944ee2/release-milestone.py
----------------------------------------------------------------------
diff --git a/release-milestone.py b/release-milestone.py
deleted file mode 100755
index c85913f..0000000
--- a/release-milestone.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/python
-#
-# prints a release.properties file for instructing the Maven Release Plugin
-# to generate the proper release artefacts without having to manually version
-# everything.
-#
-# Usage:
-#
-# release-milestone.py <release-version> <dev-version>
-#
-# This will generate a release.properties file that will release the
-# release-version, and will continue development on dev-version.
-#
-# Example:
-#
-# release-milestone.py 7.0.0-M1 7.0.0-SNAPSHOT
-#
-
-import sys
-from xml.dom.minidom import parse
-
-groupId = "org.apache.wicket"
-
-if len(sys.argv) != 3:
- print "Usage: %s <release-version> <dev-version>" % sys.argv[0]
- sys.exit(1)
-
-relVersion = sys.argv[1]
-devVersion = sys.argv[2]
-
-relVersions = []
-devVersions = []
-
-def addVersions(groupId, module):
- relVersions.append("project.rel." + groupId + "\\:" + module + "=" + relVersion)
- devVersions.append("project.dev." + groupId + "\\:" + module + "=" + devVersion)
-
-def getModulesFromParent(parentPomFile):
- pom = parse(parentPomFile)
-
- for moduleTag in pom.getElementsByTagName('module'):
- module = moduleTag.childNodes[0].nodeValue.replace("testing/", "").replace("archetypes/quickstart", "wicket-archetype-quickstart")
- addVersions(groupId, module)
-
-addVersions(groupId, "wicket-parent")
-addVersions("org.apache.wicket.experimental.wicket7", "wicket-experimental")
-
-getModulesFromParent("pom.xml")
-getModulesFromParent("wicket-native-websocket/pom.xml")
-
-for version in relVersions:
- print version
-
-print
-
-for version in devVersions:
- print version
http://git-wip-us.apache.org/repos/asf/wicket/blob/e9944ee2/release-milestone.sh
----------------------------------------------------------------------
diff --git a/release-milestone.sh b/release-milestone.sh
index ee32dca..1cc45d2 100755
--- a/release-milestone.sh
+++ b/release-milestone.sh
@@ -23,51 +23,6 @@ function fail {
exit
}
-function setup_gpg {
-
- if [ "$agentcount" -ne 1 ]; then
- echo "Found gpg-agent running, killing all agents"
- killall gpg-agent
- fi
-
- echo ""
- echo "You are asked twice for your passphrase, one for scripting purposes, and one "
- echo "for gpg-agent using pinentry such that gpg and git are able to sign things."
- echo ""
- echo "Enter your GPG passphrase (input will be hidden) \c"
- stty_orig=`stty -g`
- stty -echo
- read passphrase
- stty $stty_orig
-
- # test the GPGP passphrase to fail-fast:
- echo "$passphrase" | gpg --passphrase-fd 0 --armor --output pom.xml.asc --detach-sig pom.xml
- gpg --verify pom.xml.asc
- if [ $? -ne 0 ]; then
- echo "It appears that you fat-fingered your GPG passphrase"
- rm pom.xml.asc
- exit $?
- fi
- rm pom.xml.asc
-
- echo "Starting new gpg-agent"
- eval $(gpg-agent --daemon --pinentry-program $(which pinentry))
- if [ $? -ne 0 ] ; then
- fail "ERROR: Unable to start gpg-agent"
- fi
- gpg --armor --detach-sign --use-agent --sign pom.xml >& $log
- if [ $? -ne 0 ] ; then
- fail "ERROR: Unable to run gpg properly"
- fi
-
- gpg --verify pom.xml.asc >& $log
- if [ $? -ne 0 ]; then
- rm pom.xml.asc
- fail "It appears that you fat-fingered your GPG passphrase"
- fi
- rm pom.xml.asc
-}
-
function getVersion {
cat << EOF | xmllint --noent --shell pom.xml | grep content | cut -f2 -d=
setns pom=http://maven.apache.org/POM/4.0.0
@@ -154,7 +109,7 @@ echo "# Release configuration for Wicket-$version
scm.tag=${tag}
" > release.properties
-./release-milestone.py $version 7.0.0-SNAPSHOT >> release.properties
+./build-versions.py $version 7.0.0-SNAPSHOT >> release.properties
cat ./release.properties
[3/4] wicket git commit: Automated adding releasenotes to changelog
Posted by da...@apache.org.
Automated adding releasenotes to changelog
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/692247f7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/692247f7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/692247f7
Branch: refs/heads/master
Commit: 692247f70ec87d7a2a69c9a7d3dfdc6f21789163
Parents: 1cfeab0
Author: Martijn Dashorst <da...@apache.org>
Authored: Fri Jun 12 17:13:45 2015 +0200
Committer: Martijn Dashorst <da...@apache.org>
Committed: Fri Jun 12 17:13:45 2015 +0200
----------------------------------------------------------------------
build-changelog.sh | 147 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/692247f7/build-changelog.sh
----------------------------------------------------------------------
diff --git a/build-changelog.sh b/build-changelog.sh
new file mode 100755
index 0000000..2c9c3d9
--- /dev/null
+++ b/build-changelog.sh
@@ -0,0 +1,147 @@
+#!/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
+#
+# http://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.
+
+function fail {
+ echo "$1"
+ exit 1
+}
+
+function getProjectVersionFromPom {
+ cat << EOF | xmllint --noent --shell pom.xml | grep content | cut -f2 -d=
+setns pom=http://maven.apache.org/POM/4.0.0
+xpath /pom:project/pom:version/text()
+EOF
+}
+
+if [ "$1" = "--help" ] ; then
+ echo "
+Usage: $0 [--help] [version]
+
+Retrieves the release notes for the next release of Apache Wicket,
+and merges this into the CHANGELOG file.
+
+ version
+ optional version number to retrieve the release notes for
+
+ --help
+ shows this help
+
+"
+ exit 0
+fi
+
+if [ ! -z "$1" ] ; then
+ current_version="$1"
+ major_version=$(expr $current_version : '\(.*\)\..*\..*\-.*')
+ minor_version=$(expr $current_version : '.*\.\(.*\)\..*\-.*')
+ bugfix_version=$(expr $current_version : '.*\..*\.\(.*\)-.*')
+ milestone_version=$(expr $current_version : '.*\..*-\(.*\)')
+ version="$major_version.$minor_version.0-$milestone_version"
+ previous_version="$major_version.$(expr $minor_version - 1).0"
+else
+ current_version=$(getProjectVersionFromPom)
+ major_version=$(expr $current_version : '\(.*\)\..*\..*\-.*')
+ minor_version=$(expr $current_version : '.*\.\(.*\)\..*\-.*')
+ bugfix_version=$(expr $current_version : '.*\..*\.\(.*\)-.*')
+ version="$major_version.$minor_version.0"
+ previous_version="$major_version.$(expr $minor_version - 1).0"
+fi
+
+echo "
+Apache Wicket release notes generator
+=====================================
+This tool retrieves the release notes for the upcoming release from JIRA
+and merges this with the existing CHANGELOG in a text format.
+
+Version to retrieve the release notes from: $version
+
+Press <enter> to continue \c"
+
+read
+
+git status --porcelain CHANGELOG-$major_version.x | grep -q "CHANGELOG-$major_version.x"
+if [ $? -eq 0 ] ; then
+ fail "You already have changes in the CHANGELOG-$major_version.x
+"
+fi
+
+grep -q "$version\$" CHANGELOG-$major_version.x
+if [ $? -eq 0 ] ; then
+ fail "You already have added release notes for this version to the changelog.
+"
+fi
+
+
+echo "
+Extracting JIRA Release notes -- making web requests"
+echo " - determining JIRA version id for $version: \c"
+jira_project_id=12310561
+jira_version_id=$( \
+ curl -s https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=$jira_project_id \
+ | xmllint --noout --noblanks --html --xpath "string(//select[@id=\"version_select\"]/option[translate(normalize-space(text()), ' ', '')=\"$version\"]/@value)" - 2>/dev/null \
+ )
+
+re='^[0-9]+$'
+if ! [[ $jira_version_id =~ $re ]] ; then
+ echo "ERROR"
+ echo "
+Unable to retrieve the version ID from JIRA: received '$jira_version_id'" >&2
+ exit 1
+fi
+
+echo "$jira_version_id"
+
+echo " - retrieving text release notes: \c"
+curl -s "https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=$jira_project_id&version=$jira_version_id&styleName=Text&Create=Create" \
+ | xmllint --noout --noblanks --html --xpath "string(//textarea)" - 2>/dev/null | cat -s | awk '{ if ($0 ~ /^\*\* / ) {
+ printf( "%s\n\n", $0);
+} else {
+ printf( "%s\n", $0 );
+}
+}' > /tmp/release-notes-$version.txt
+
+echo "done"
+
+echo " - merging release notes into changelog: \c"
+
+echo "This file contains all changes done in releases for Apache Wicket 7.x.
+
+=======================================================================
+$(cat /tmp/release-notes-$version.txt)
+
+=======================================================================
+$(tail -n +4 CHANGELOG-$major_version.x)
+" > /tmp/changelog-$version.txt
+cp /tmp/changelog-$version.txt CHANGELOG-$major_version.x
+
+echo "done"
+
+echo "
+The CHANGELOG-$major_version.x file has been updated. Please check the contents
+and commit the changes.
+
+To see the status:
+
+ git status
+ git diff
+
+To add and commit the CHANGELOG:
+
+ git add CHANGELOG-$major_version.x
+ git commit -m \"Added CHANGELOG for release $version
+
+Have fun!
+"
[2/4] wicket git commit: Fix Maven enforcer errors
Posted by da...@apache.org.
Fix Maven enforcer errors
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/1cfeab0a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/1cfeab0a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/1cfeab0a
Branch: refs/heads/master
Commit: 1cfeab0af0b6d1b36b2bbc23d21b695576bbb9bd
Parents: fad84d8
Author: Martijn Dashorst <da...@apache.org>
Authored: Fri Jun 12 13:52:36 2015 +0200
Committer: Martijn Dashorst <da...@apache.org>
Committed: Fri Jun 12 13:52:36 2015 +0200
----------------------------------------------------------------------
pom.xml | 10 +++---
wicket-core/pom.xml | 18 +++++++---
wicket-examples/pom.xml | 10 +++---
wicket-jmx/pom.xml | 8 ++---
wicket-user-guide/pom.xml | 75 ++++++++++++++++++++++++------------------
5 files changed, 70 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/1cfeab0a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6b11c5a..643d8d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -258,11 +258,6 @@
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
- <artifactId>wicket-eclipse-settings</artifactId>
- <version>2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
<version>7.0.0-SNAPSHOT</version>
<!-- It seems there is a bug in Maven (2.2.1 & 3.0.1) and
@@ -314,6 +309,11 @@
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
+ <artifactId>wicket-eclipse-settings</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>7.0.0-SNAPSHOT</version>
<type>jar</type>
http://git-wip-us.apache.org/repos/asf/wicket/blob/1cfeab0a/wicket-core/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-core/pom.xml b/wicket-core/pom.xml
index bf6006d..3b88940 100644
--- a/wicket-core/pom.xml
+++ b/wicket-core/pom.xml
@@ -68,15 +68,23 @@
</dependency>
</dependencies>
<build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>yuicompressor-maven-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/jquery*.js</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>**/jquery*.js</exclude>
- </excludes>
- </configuration>
</plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/wicket/blob/1cfeab0a/wicket-examples/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-examples/pom.xml b/wicket-examples/pom.xml
index c184b27..e7eb538 100644
--- a/wicket-examples/pom.xml
+++ b/wicket-examples/pom.xml
@@ -97,6 +97,11 @@
<artifactId>jhighlight</artifactId>
</dependency>
<dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
@@ -158,11 +163,6 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/wicket/blob/1cfeab0a/wicket-jmx/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-jmx/pom.xml b/wicket-jmx/pom.xml
index 7efc48b..ca35450 100644
--- a/wicket-jmx/pom.xml
+++ b/wicket-jmx/pom.xml
@@ -33,12 +33,12 @@
<artifactId>cglib</artifactId>
</dependency>
<dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-util</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm-util</artifactId>
+ </dependency>
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/wicket/blob/1cfeab0a/wicket-user-guide/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-user-guide/pom.xml b/wicket-user-guide/pom.xml
index 5829954..50f6e97 100644
--- a/wicket-user-guide/pom.xml
+++ b/wicket-user-guide/pom.xml
@@ -30,28 +30,52 @@
<description>
Provides the user guide of wicket
</description>
-
+ <repositories>
+ <repository>
+ <id>grails</id>
+ <name>grails</name>
+ <url>http://repo.grails.org/grails/core</url>
+ </repository>
+ <repository>
+ <id>grails-plugins</id>
+ <name>grails-plugins</name>
+ <url>http://repo.grails.org/grails/plugins</url>
+ </repository>
+ </repositories>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.grails</groupId>
+ <artifactId>grails-dependencies</artifactId>
+ <version>${grails.version}</version>
+ <type>pom</type>
+ <exclusions>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.grails</groupId>
+ <artifactId>grails-plugin-log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.grails</groupId>
+ <artifactId>grails-docs</artifactId>
+ <version>${grails.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<dependencies>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-dependencies</artifactId>
- <version>${grails.version}</version>
<type>pom</type>
- <exclusions>
- <exclusion>
- <artifactId>log4j</artifactId>
- <groupId>log4j</groupId>
- </exclusion>
- <exclusion>
- <artifactId>grails-plugin-log4j</artifactId>
- <groupId>org.grails</groupId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-docs</artifactId>
- <version>${grails.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@@ -63,19 +87,6 @@
</dependency>
</dependencies>
- <repositories>
- <repository>
- <id>grails</id>
- <name>grails</name>
- <url>http://repo.grails.org/grails/core</url>
- </repository>
- <repository>
- <id>grails-plugins</id>
- <name>grails-plugins</name>
- <url>http://repo.grails.org/grails/plugins</url>
- </repository>
- </repositories>
-
<build>
<plugins>
<plugin>
@@ -84,11 +95,11 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
+ <artifactId>maven-javadoc-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
+ <artifactId>maven-source-plugin</artifactId>
</plugin>
</plugins>
<pluginManagement>
@@ -103,18 +114,18 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
+ <artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<!-- Just documentation, no sources -->
- <skipSource>true</skipSource>
+ <skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
+ <artifactId>maven-source-plugin</artifactId>
<configuration>
<!-- Just documentation, no sources -->
- <skip>true</skip>
+ <skipSource>true</skipSource>
</configuration>
</plugin>
</plugins>