You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ra...@apache.org on 2019/01/28 16:32:41 UTC
[sling-tooling-release] branch master updated (e9f1f4c -> af1ed82)
This is an automated email from the ASF dual-hosted git repository.
radu pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git.
from e9f1f4c added a simple script to update the Apache Reporter service after a release
new d112c2a updated .gitignore
new af1ed82 read update_reporter.config from ~/.config
The 29 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
update_reporter.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
[sling-tooling-release] 22/29: Update script for Sling 11
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 9de1b03069af980ef9ecec467fbecd68279bae07
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Oct 23 11:33:11 2018 +0200
Update script for Sling 11
---
generate_javadoc_for_release.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 78cdb87..8f1a2d6 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-VERSION=10
+VERSION=11
WORKDIR=out
ALLOW_SNAPSHOT=0
[sling-tooling-release] 11/29: Disable jenkins builds
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit fb2438522b5a652910ae765825ba22d8e52ca9db
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Wed Dec 6 16:20:21 2017 +0200
Disable jenkins builds
---
.sling-module.xml | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/.sling-module.xml b/.sling-module.xml
new file mode 100644
index 0000000..452f6a6
--- /dev/null
+++ b/.sling-module.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ 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.
+-->
+<sling-module>
+ <jenkins>
+ <enabled>false</enabled>
+ </jenkins>
+</sling-module>
[sling-tooling-release] 07/29: SLING-6766 include
adapter-annotations in the javadoc for the launchpad
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 64e2a7a6879df1942791d78bf17476525155936b
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Apr 3 09:02:43 2017 +0000
SLING-6766 include adapter-annotations in the javadoc for the launchpad
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1789927 13f79535-47bb-0310-9956-ffa450edef68
---
generate_javadoc_for_release.sh | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index c7f99e4..6515328 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -17,9 +17,14 @@ else
wget https://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad/$VERSION/org.apache.sling.launchpad-$VERSION-slingfeature.txt -O $WORKDIR/slingfeature.txt
fi
-# checkout tags
+# extract <artifactId>-<version> from slingfeature.txt
artifacts=$(awk -F '/' '/org.apache.sling\// { print $2"-"$3 }' < $WORKDIR/slingfeature.txt)
+# add additional artifacts which are not part of the launchpad
+# https://issues.apache.org/jira/browse/SLING-6766
+artifacts+=" adapter-annotations-1.0.0"
+
+# checkout tags
for artifact in $artifacts; do
if [ -d $WORKDIR/$artifact ] ; then
echo "Not checking out $artifact, already present";
[sling-tooling-release] 23/29: Add patch for jcr.repoinit
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit b649c164145e05c613e120c5270de22cf82a4064
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Oct 23 13:27:30 2018 +0200
Add patch for jcr.repoinit
For some reason, the Javadoc aggregator fails without this patch.
---
patches/sling-org.apache.sling.jcr.repoinit-1.1.8 | 57 +++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/patches/sling-org.apache.sling.jcr.repoinit-1.1.8 b/patches/sling-org.apache.sling.jcr.repoinit-1.1.8
new file mode 100644
index 0000000..4a2347f
--- /dev/null
+++ b/patches/sling-org.apache.sling.jcr.repoinit-1.1.8
@@ -0,0 +1,57 @@
+diff --git a/pom.xml b/pom.xml
+index dae9123..b9dadd9 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -107,52 +107,6 @@
+ </execution>
+ </executions>
+ </plugin>
+- <plugin>
+- <!-- the Sling instance is provisioned from the model in src/main/provisioning/model.txt -->
+- <groupId>org.apache.sling</groupId>
+- <artifactId>slingstart-maven-plugin</artifactId>
+- <version>1.7.16</version>
+- <extensions>true</extensions>
+- <executions>
+- <execution>
+- <id>prepare-launchpad-package</id>
+- <phase>pre-integration-test</phase>
+- <goals>
+- <goal>prepare-package</goal>
+- </goals>
+- </execution>
+- <execution>
+- <id>build-launchpad-package</id>
+- <phase>pre-integration-test</phase>
+- <goals>
+- <goal>package</goal>
+- </goals>
+- </execution>
+- <execution>
+- <id>start-container-before-IT</id>
+- <goals>
+- <goal>start</goal>
+- </goals>
+- </execution>
+- <execution>
+- <id>stop-container-after-IT</id>
+- <goals>
+- <goal>stop</goal>
+- </goals>
+- </execution>
+- </executions>
+- <configuration>
+- <usePomDependencies>true</usePomDependencies>
+- <attachArtifact>false</attachArtifact>
+- <servers>
+- <server>
+- <id>singleinstance</id>
+- <port>${http.port}</port>
+- <vmOpts>${sling.vm.options}</vmOpts>
+- </server>
+- </servers>
+- </configuration>
+- </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
[sling-tooling-release] 06/29: SLING-5096 - Deploy API
documentation for Sling 8
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 8c63a3b611a7332c1106270190978007fc6d0671
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Oct 12 13:02:14 2015 +0000
SLING-5096 - Deploy API documentation for Sling 8
Update generate_javadoc_for_release.sh to work with the provisioning model.
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1708104 13f79535-47bb-0310-9956-ffa450edef68
---
generate_javadoc_for_release.sh | 26 +++++++++++++++++++-------
patches/org.apache.sling.discovery.impl-1.1.8 | 10 ++++++++++
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 5b4b49f..c7f99e4 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -1,7 +1,8 @@
#!/bin/bash -e
-VERSION=7
+VERSION=8
WORKDIR=out
+ALLOW_SNAPSHOT=1
# create work directory
if [ ! -d $WORKDIR ] ; then
@@ -9,20 +10,28 @@ if [ ! -d $WORKDIR ] ; then
fi
# get bundle list
-if [ -f $WORKDIR/bundleList.xml ] ; then
- echo "bundleList.xml already present, not downloading";
+if [ -f $WORKDIR/slingfeature.txt ] ; then
+ echo "slingfeature.txt already present, not downloading";
else
- echo "Downloading bundleList for Sling $VERSION"
- wget https://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad/$VERSION/org.apache.sling.launchpad-$VERSION-bundlelist.xml -O $WORKDIR/bundleList.xml
+ echo "Downloading bundle list for Sling $VERSION"
+ wget https://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad/$VERSION/org.apache.sling.launchpad-$VERSION-slingfeature.txt -O $WORKDIR/slingfeature.txt
fi
# checkout tags
-artifacts=$(xsltproc bundleList-to-tagNames.xslt $WORKDIR/bundleList.xml)
+artifacts=$(awk -F '/' '/org.apache.sling\// { print $2"-"$3 }' < $WORKDIR/slingfeature.txt)
for artifact in $artifacts; do
if [ -d $WORKDIR/$artifact ] ; then
echo "Not checking out $artifact, already present";
else
+ if [[ "$artifact" == *-SNAPSHOT ]]; then
+ if [ $ALLOW_SNAPSHOT == 0 ] ; then
+ echo "Failing build due to SNAPSHOT artifact $artifact";
+ exit 1;
+ else
+ continue
+ fi
+ fi
echo "Exporting $artifact from source control"
svn export https://svn.apache.org/repos/asf/sling/tags/$artifact $WORKDIR/$artifact
if [ -f patches/$artifact ]; then
@@ -61,6 +70,9 @@ echo >> $POM
echo " <modules> " >> $POM
for artifact in $artifacts; do
+ if [[ "$artifact" == *-SNAPSHOT ]]; then
+ continue
+ fi
echo " <module>$artifact</module>" >> $POM
done
@@ -79,7 +91,7 @@ echo "Starting javadoc generation"
pushd $WORKDIR
mvn -DexcludePackageNames="*.impl:*.internal:*.jsp:sun.misc:*.juli:*.testservices:*.integrationtest:*.maven:javax.*:org.osgi.*" \
- org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:aggregate
+ org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:aggregate
popd
echo "Generated Javadocs can be found in $WORKDIR/target/site/apidocs/"
diff --git a/patches/org.apache.sling.discovery.impl-1.1.8 b/patches/org.apache.sling.discovery.impl-1.1.8
new file mode 100644
index 0000000..5e8929b
--- /dev/null
+++ b/patches/org.apache.sling.discovery.impl-1.1.8
@@ -0,0 +1,10 @@
+--- pom.xml.orig 2015-10-12 15:56:36.623998965 +0300
++++ pom.xml 2015-10-12 15:56:47.284876611 +0300
+@@ -247,7 +247,6 @@
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.threads</artifactId>
+ <version>3.1.0</version>
+- <type>bundle</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
[sling-tooling-release] 03/29: SLING-2387 - OBR at
http://sling.apache.org/obr/repository.xml is totally out of date
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit a00d646696a9778be2c02347325fd17c329425ed
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri Apr 24 14:27:08 2015 +0000
SLING-2387 - OBR at http://sling.apache.org/obr/repository.xml is totally out of date
Added tooling/release/sync_obr_with_dist.sh
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1675868 13f79535-47bb-0310-9956-ffa450edef68
---
sync_obr_with_dist.sh | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/sync_obr_with_dist.sh b/sync_obr_with_dist.sh
new file mode 100755
index 0000000..fd32ac4
--- /dev/null
+++ b/sync_obr_with_dist.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+if [ $# -ne 0 ]; then
+ echo "Usage: DIST_CHECKOUT=... SITE_CHECKOUT=... $0";
+ echo ""
+ echo "The DIST_CHECKOUT and SITE_CHECKOUT can also pe placed ~/.config/sling/checkouts.conf"
+ exit -1;
+fi
+
+if [ -f ~/.config/sling/checkouts.conf ]; then
+ . ~/.config/sling/checkouts.conf
+fi
+
+if [ -z $DIST_CHECKOUT ]; then
+ echo "DIST_CHECKOUT not set";
+ exit 1;
+fi
+
+if [ ! -d $DIST_CHECKOUT ]; then
+ echo "DIST_CHECKOUT ( $DIST_CHECKOUT ) is not a directory";
+ exit 1;
+fi
+
+if [ -z $SITE_CHECKOUT ]; then
+ echo "SITE_CHECKOUT not set";
+ exit 1;
+fi
+
+if [ ! -d $SITE_CHECKOUT ]; then
+ echo "SITE_CHECKOUT ( $SITE_CHECKOUT ) is not a directory";
+ exit 1;
+fi
+
+OBR_FILE=$SITE_CHECKOUT/trunk/content/obr/sling.xml
+
+if [ ! -f $OBR_FILE ]; then
+ echo "Did not find OBR repository file at ${OBR_FILE}";
+ exit 1;
+fi
+
+echo "Looking for bundles in $DIST_CHECKOUT";
+
+for POM_FILE in $(ls -1 $DIST_CHECKOUT/*.pom); do
+ # extract PACKAGING from pom ; not perfect
+ POM_FILE=$(basename $POM_FILE)
+ PACKAGING=$(cat $DIST_CHECKOUT/$POM_FILE | sed -rn 's/<(\/)?packaging>//pg' | tr -d ' \n');
+ # default to jar if not present
+ if [ "x$PACKAGING" = "x" ] ; then
+ PACKAGING=jar
+ fi
+
+ # OBR only makes sense for bundles
+ if [ $PACKAGING != "bundle" ]; then
+ continue;
+ fi
+
+ # get artifact base name, without extension
+ BASENAME=${POM_FILE%.pom}
+ JAR_FILE="${BASENAME}.jar"
+
+ # find dash which precedes the version
+ #VERSION_IDX=$(expr index $BASENAME '-[123456789]')
+ # extract version as 'the first dash followed by a digit'
+ VERSION=$(echo $BASENAME | grep -Eo "\-[0-9].*")
+ # clean version to remove the dash
+ VERSION=${VERSION:1}
+
+ VERSION_IDX=$(expr ${#BASENAME} - ${#VERSION})
+ ARTIFACT_ID="${BASENAME:0:($VERSION_IDX - 1)}"
+
+ # check for artifact presence in sling.xml
+ OBR_KEY="$ARTIFACT_ID/$VERSION"
+ ALREADY_EXISTS=$(grep -c $OBR_KEY $OBR_FILE)
+ if [ $ALREADY_EXISTS = 1 ]; then
+ # no need to process files already included
+ continue
+ fi
+
+ echo "Adding $OBR_KEY to $OBR_FILE"
+ mvn -q org.apache.felix:maven-bundle-plugin:deploy-file -Dfile=$DIST_CHECKOUT/$JAR_FILE -DpomFile=$DIST_CHECKOUT/$POM_FILE -DbundleUrl=http://repo1.maven.org/maven2/org/apache/sling/$ARTIFACT_ID-$VERSION.jar -Durl=file://$SITE_CHECKOUT/trunk/content/obr -DprefixUrl=http://repo1.maven.org/maven2 -DremoteOBR=sling.xml
+done
[sling-tooling-release] 02/29: tooling/release: add .gitignore
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 25131ead5e52a0866d18d11cbf627332d4f35789
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Thu Oct 9 12:27:25 2014 +0000
tooling/release: add .gitignore
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1630400 13f79535-47bb-0310-9956-ffa450edef68
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6a3417b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/out/
[sling-tooling-release] 24/29: SLING-8095 list latest sling servlet
annotations artifact with correct separator
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 37398977654e56939fe26487a3990c3170a5fdde
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Nov 12 13:35:17 2018 +0100
SLING-8095 list latest sling servlet annotations artifact with correct
separator
---
generate_javadoc_for_release.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 78cdb87..721983c 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-VERSION=10
+VERSION=11
WORKDIR=out
ALLOW_SNAPSHOT=0
@@ -23,7 +23,7 @@ artifacts=$(awk -F '/' '/org.apache.sling\// { print $2 ":" $3 }' < $WORKDIR/sli
# add additional artifacts which are not part of the launchpad
# https://issues.apache.org/jira/browse/SLING-6766
artifacts+=" adapter-annotations:1.0.0"
-artifacts+="org.apache.sling.servlets.annotations:1.0.0"
+artifacts+=" org.apache.sling.servlets.annotations:1.1.0"
# checkout tags
for artifact in $artifacts; do
[sling-tooling-release] 21/29: trivial: added license header to
*.md files
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 66119041a496857016be34915f2ffd9e650c6678
Author: Radu Cotescu <co...@adobe.com>
AuthorDate: Thu Sep 20 11:09:09 2018 +0200
trivial: added license header to *.md files
---
CODE_OF_CONDUCT.md | 18 ++++++++++++++++++
CONTRIBUTING.md | 18 ++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 52f21cb..0fa18e5 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,3 +1,21 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
Apache Software Foundation Code of Conduct
====
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ca36072..ac82a1a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,3 +1,21 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
Contributing
====
[sling-tooling-release] 16/29: Updating badges for tooling-release
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit e0ae57cd9b5f5e71834892806cc7856583f5b682
Author: Dan Klco <dk...@apache.org>
AuthorDate: Sat Jun 9 03:26:11 2018 -0400
Updating badges for tooling-release
---
README.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/README.md b/README.md
index 5a3cfc2..89c05b4 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,7 @@
+[<img src="http://sling.apache.org/res/logos/sling.png"/>](http://sling.apache.org)
+
+ [](https://www.apache.org/licenses/LICENSE-2.0)
+
# sling-tooling-release
Tools used by the [Apache Sling PMC](http://sling.apache.org) to create releases.
[sling-tooling-release] 15/29: SLING-6766 - Javadoc: Include
package org.apache.sling.adapter.annotations in the Sling javadocs
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 1003837991b73d322b19f1f5f069736f569390f0
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Feb 12 10:38:19 2018 +0200
SLING-6766 - Javadoc: Include package org.apache.sling.adapter.annotations in the Sling javadocs
Correct inclusion of adapter-annotations in the Javadocs.
---
generate_javadoc_for_release.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index ad8db7a..9c48fea 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -22,7 +22,7 @@ artifacts=$(awk -F '/' '/org.apache.sling\// { print $2 ":" $3 }' < $WORKDIR/sli
# add additional artifacts which are not part of the launchpad
# https://issues.apache.org/jira/browse/SLING-6766
-artifacts+="adapter-annotations:1.0.0"
+artifacts+=" adapter-annotations:1.0.0"
# checkout tags
for artifact in $artifacts; do
[sling-tooling-release] 10/29: Create README.md
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 97c7b12c94c766f401b3f098a66dca176b41442d
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Thu Nov 23 09:09:21 2017 +0100
Create README.md
---
README.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5a3cfc2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# sling-tooling-release
+
+Tools used by the [Apache Sling PMC](http://sling.apache.org) to create releases.
[sling-tooling-release] 12/29: SLING-7410 - Deploy API
documentation for Sling 10
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit c0df23e7a4e6141fa2db287509f8178484681126
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Feb 6 15:12:50 2018 +0200
SLING-7410 - Deploy API documentation for Sling 10
Update javadoc script for Sling 10 and Github
---
generate_javadoc_for_release.sh | 47 ++++++++++++++++++++++++++---------------
1 file changed, 30 insertions(+), 17 deletions(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 63950a5..86457ff 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -1,6 +1,6 @@
#!/bin/bash -e
-VERSION=9
+VERSION=10
WORKDIR=out
ALLOW_SNAPSHOT=0
@@ -14,22 +14,36 @@ if [ -f $WORKDIR/slingfeature.txt ] ; then
echo "slingfeature.txt already present, not downloading";
else
echo "Downloading bundle list for Sling $VERSION"
- wget https://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad/$VERSION/org.apache.sling.launchpad-$VERSION-slingfeature.txt -O $WORKDIR/slingfeature.txt
+ wget https://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.starter/$VERSION/org.apache.sling.starter-$VERSION-slingfeature.txt -O $WORKDIR/slingfeature.txt
fi
# extract <artifactId>-<version> from slingfeature.txt
-artifacts=$(awk -F '/' '/org.apache.sling\// { print $2"-"$3 }' < $WORKDIR/slingfeature.txt)
+artifacts=$(awk -F '/' '/org.apache.sling\// { print $2 ":" $3 }' < $WORKDIR/slingfeature.txt)
# add additional artifacts which are not part of the launchpad
# https://issues.apache.org/jira/browse/SLING-6766
-artifacts+=" adapter-annotations-1.0.0"
+artifacts+="adapter-annotations:1.0.0"
# checkout tags
for artifact in $artifacts; do
- if [ -d $WORKDIR/$artifact ] ; then
- echo "Not checking out $artifact, already present";
+ artifact_name=$(echo $artifact | sed 's/:.*//')
+ artifact_version=$(echo $artifact | sed 's/.*://')
+ artifact_dir="${artifact_name}-${artifact_version}"
+ artifact_repo=$(echo $artifact_name | tr '.' '-')
+ artifact_repo="sling-${artifact_repo}"
+ branch_name=${artifact_dir}
+
+ # - don't document Slingshot sample
+ # - threaddump was renamed and tag history is lost
+ # - validation core fails on Javadoc aggregation, but does not export anything
+ if [[ ${artifact_name} == *slingshot || ${artifact_name} = "org.apache.sling.extensions.threaddump" || ${artifact_name} == "org.apache.sling.validation.core" ]]; then
+ continue;
+ fi
+
+ if [ -d $WORKDIR/$artifact_dir ] ; then
+ echo "Not checking out $artifact_dir, already present";
else
- if [[ "$artifact" == *-SNAPSHOT ]]; then
+ if [[ "$artifact_version" == *-SNAPSHOT ]]; then
if [ $ALLOW_SNAPSHOT == 0 ] ; then
echo "Failing build due to SNAPSHOT artifact $artifact";
exit 1;
@@ -38,11 +52,11 @@ for artifact in $artifacts; do
fi
fi
echo "Exporting $artifact from source control"
- svn export https://svn.apache.org/repos/asf/sling/tags/$artifact $WORKDIR/$artifact
+ git clone https://github.com/apache/${artifact_repo} --branch ${branch_name} ${WORKDIR}/${artifact_dir}
if [ -f patches/$artifact ]; then
echo "Applying patch"
- pushd $WORKDIR/$artifact
- patch -p0 < ../../patches/$artifact
+ pushd $WORKDIR/$artifact_dir
+ patch -p0 < ../../patches/$artifact_dir
popd
fi
fi
@@ -51,8 +65,9 @@ done
# generate dummy pom.xml
echo "Generating pom.xml"
+pushd $WORKDIR
-POM=$WORKDIR/pom.xml
+POM=pom.xml
echo "<project>" > $POM
echo " <modelVersion>4.0.0</modelVersion>" >> $POM
echo " <groupId>org.apache.sling</groupId>" >> $POM
@@ -74,15 +89,13 @@ echo " </properties>" >> $POM
echo >> $POM
echo " <modules> " >> $POM
-for artifact in $artifacts; do
- if [[ "$artifact" == *-SNAPSHOT ]]; then
- continue
- fi
- echo " <module>$artifact</module>" >> $POM
+for artifact_dir in $(find . -type d -maxdepth 1 -name '*sling*'); do
+ echo " <module>$artifact_dir</module>" >> $POM
done
echo " </modules>" >> $POM
echo "</project>" >> $POM
+popd
if [ ! -f $WORKDIR/src/main/javadoc/overview.html ] ; then
echo "Downloading javadoc overview file"
@@ -96,7 +109,7 @@ echo "Starting javadoc generation"
pushd $WORKDIR
mvn -DexcludePackageNames="*.impl:*.internal:*.jsp:sun.misc:*.juli:*.testservices:*.integrationtest:*.maven:javax.*:org.osgi.*" \
- org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:aggregate
+ org.apache.maven.plugins:maven-javadoc-plugin:3.0.0:aggregate
popd
echo "Generated Javadocs can be found in $WORKDIR/target/site/apidocs/"
[sling-tooling-release] 20/29: SLING-7215 - [nice-to-have] Add a
CONTRIBUTING file to every module
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 632cc7152c8cceda8064b81e5739394fd9e40631
Author: Radu Cotescu <co...@adobe.com>
AuthorDate: Wed Sep 19 18:29:22 2018 +0200
SLING-7215 - [nice-to-have] Add a CONTRIBUTING file to every module
---
CONTRIBUTING.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..ca36072
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,6 @@
+Contributing
+====
+
+Thanks for choosing to contribute!
+
+You will find all the necessary details about how you can do this at https://sling.apache.org/contributing.html.
[sling-tooling-release] 01/29: SLING-4005 - Deploy API
documentation for Sling 7
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 34514ea74418a9d5cadb09f73ed6eb9ef5a96c11
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Oct 7 09:52:41 2014 +0000
SLING-4005 - Deploy API documentation for Sling 7
Add the release tooling to SVN
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1629844 13f79535-47bb-0310-9956-ffa450edef68
---
bundleList-to-tagNames.xslt | 17 ++++++
generate_javadoc_for_release.sh | 85 ++++++++++++++++++++++++++
patches/org.apache.sling.discovery.impl-1.0.10 | 10 +++
3 files changed, 112 insertions(+)
diff --git a/bundleList-to-tagNames.xslt b/bundleList-to-tagNames.xslt
new file mode 100644
index 0000000..7739082
--- /dev/null
+++ b/bundleList-to-tagNames.xslt
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:output method="text" omit-xml-declaration="yes"/>
+
+ <!-- start at the root node and apply templates for all nodes named 'bundle' whose groupId child is equal to 'org.apache.sling' -->
+ <xsl:template match="/">
+ <xsl:apply-templates select="//bundle[groupId='org.apache.sling']"/>
+ </xsl:template>
+
+ <!-- for each matched bundle node output the expected SVN tag value - ${artifactId}-${groupId} - on a single line -->
+ <xsl:template match="bundle">
+ <xsl:value-of select="artifactId"/>
+ <xsl:text>-</xsl:text>
+ <xsl:value-of select="version"/>
+ <xsl:text><!-- newline -->
</xsl:text>
+ </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
new file mode 100755
index 0000000..5b4b49f
--- /dev/null
+++ b/generate_javadoc_for_release.sh
@@ -0,0 +1,85 @@
+#!/bin/bash -e
+
+VERSION=7
+WORKDIR=out
+
+# create work directory
+if [ ! -d $WORKDIR ] ; then
+ mkdir -p $WORKDIR
+fi
+
+# get bundle list
+if [ -f $WORKDIR/bundleList.xml ] ; then
+ echo "bundleList.xml already present, not downloading";
+else
+ echo "Downloading bundleList for Sling $VERSION"
+ wget https://repo1.maven.org/maven2/org/apache/sling/org.apache.sling.launchpad/$VERSION/org.apache.sling.launchpad-$VERSION-bundlelist.xml -O $WORKDIR/bundleList.xml
+fi
+
+# checkout tags
+artifacts=$(xsltproc bundleList-to-tagNames.xslt $WORKDIR/bundleList.xml)
+
+for artifact in $artifacts; do
+ if [ -d $WORKDIR/$artifact ] ; then
+ echo "Not checking out $artifact, already present";
+ else
+ echo "Exporting $artifact from source control"
+ svn export https://svn.apache.org/repos/asf/sling/tags/$artifact $WORKDIR/$artifact
+ if [ -f patches/$artifact ]; then
+ echo "Applying patch"
+ pushd $WORKDIR/$artifact
+ patch -p0 < ../../patches/$artifact
+ popd
+ fi
+ fi
+done
+
+# generate dummy pom.xml
+
+echo "Generating pom.xml"
+
+POM=$WORKDIR/pom.xml
+echo "<project>" > $POM
+echo " <modelVersion>4.0.0</modelVersion>" >> $POM
+echo " <groupId>org.apache.sling</groupId>" >> $POM
+echo " <artifactId>org.apache.sling.javadoc-builder</artifactId>" >> $POM
+echo " <packaging>pom</packaging>" >> $POM
+echo " <version>$VERSION</version>" >> $POM
+echo >> $POM
+echo " <parent>" >> $POM
+echo " <groupId>org.apache</groupId>" >> $POM
+echo " <artifactId>apache</artifactId>" >> $POM
+echo " <version>8</version>" >> $POM
+echo " </parent>" >> $POM
+echo >> $POM
+echo " <name>Apache Sling</name>" >> $POM
+echo >> $POM
+echo " <properties>" >> $POM
+echo " <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>" >> $POM
+echo " </properties>" >> $POM
+echo >> $POM
+echo " <modules> " >> $POM
+
+for artifact in $artifacts; do
+ echo " <module>$artifact</module>" >> $POM
+done
+
+echo " </modules>" >> $POM
+echo "</project>" >> $POM
+
+if [ ! -f $WORKDIR/src/main/javadoc/overview.html ] ; then
+ echo "Downloading javadoc overview file"
+ mkdir -p $WORKDIR/src/main/javadoc
+ wget https://svn.apache.org/repos/asf/sling/trunk/src/main/javadoc/overview.html -O $WORKDIR/src/main/javadoc/overview.html
+fi
+
+# generate javadoc
+
+echo "Starting javadoc generation"
+
+pushd $WORKDIR
+mvn -DexcludePackageNames="*.impl:*.internal:*.jsp:sun.misc:*.juli:*.testservices:*.integrationtest:*.maven:javax.*:org.osgi.*" \
+ org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:aggregate
+popd
+
+echo "Generated Javadocs can be found in $WORKDIR/target/site/apidocs/"
diff --git a/patches/org.apache.sling.discovery.impl-1.0.10 b/patches/org.apache.sling.discovery.impl-1.0.10
new file mode 100644
index 0000000..289652d
--- /dev/null
+++ b/patches/org.apache.sling.discovery.impl-1.0.10
@@ -0,0 +1,10 @@
+--- pom.xml.orig 2014-10-05 23:20:24.955180364 +0300
++++ pom.xml 2014-10-05 23:20:30.675149845 +0300
+@@ -246,7 +246,6 @@
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.threads</artifactId>
+ <version>3.1.0</version>
+- <type>bundle</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
[sling-tooling-release] 08/29: tooling/release: prepare snapshot
generation for Sling 9
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 86c918d3d88f36bb0d809f32d610fdadb949f66a
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Jun 12 06:45:35 2017 +0000
tooling/release: prepare snapshot generation for Sling 9
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1798418 13f79535-47bb-0310-9956-ffa450edef68
---
generate_javadoc_for_release.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 6515328..63950a5 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -1,8 +1,8 @@
#!/bin/bash -e
-VERSION=8
+VERSION=9
WORKDIR=out
-ALLOW_SNAPSHOT=1
+ALLOW_SNAPSHOT=0
# create work directory
if [ ! -d $WORKDIR ] ; then
[sling-tooling-release] 14/29: Silence detached head warnings
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 094a68e067bb2fa66b461bb2714891ea892777f0
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Feb 6 18:37:16 2018 +0200
Silence detached head warnings
---
generate_javadoc_for_release.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 5408b7a..ad8db7a 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -52,7 +52,7 @@ for artifact in $artifacts; do
fi
fi
echo "Exporting $artifact from source control"
- git clone https://github.com/apache/${artifact_repo} --branch ${branch_name} ${WORKDIR}/${artifact_dir}
+ git -c advice.detachedHead=false clone https://github.com/apache/${artifact_repo} --branch ${branch_name} ${WORKDIR}/${artifact_dir}
if [ -f patches/$artifact ]; then
echo "Applying patch"
pushd $WORKDIR/$artifact_dir
[sling-tooling-release] 28/29: updated .gitignore
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit d112c2a2d2afdec9fb865589e771063b60689b82
Author: Radu Cotescu <ra...@apache.org>
AuthorDate: Mon Jan 28 17:13:16 2019 +0100
updated .gitignore
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitignore b/.gitignore
index 6a3417b..c3ada51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/out/
+update_reporter.config
[sling-tooling-release] 29/29: read update_reporter.config from
~/.config
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit af1ed82ed6ab2a09dcf7e3847c9547da431ddc7b
Author: Radu Cotescu <ra...@apache.org>
AuthorDate: Mon Jan 28 17:32:33 2019 +0100
read update_reporter.config from ~/.config
---
.gitignore | 1 -
update_reporter.sh | 8 +++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index c3ada51..6a3417b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
/out/
-update_reporter.config
diff --git a/update_reporter.sh b/update_reporter.sh
index 94bed0c..a296d64 100755
--- a/update_reporter.sh
+++ b/update_reporter.sh
@@ -4,7 +4,13 @@ function display_usage() {
echo "$0 <path_to_file_containing_release_names>"
}
-source update_reporter.config
+if [[ -f ~/.config/update_reporter.config ]]; then
+ source ~/.config/update_reporter.config
+else
+ echo "Please provide a configuration file at ~/.config/update_reporter.config. A sample file is provided in this repository."
+ exit 1
+fi
+
if [[ -z "${APACHE_USER}" ]]; then
echo "Please set the APACHE_USER variable in the update_reporter.config file."
exit 1
[sling-tooling-release] 25/29: Merge branch 'master' of
git@github.com:apache/sling-tooling-release.git
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 1af500404a7c241508d3d7307a7f994495569394
Merge: 3739897 b649c16
Author: Konrad Windszus <ko...@netcentric.biz>
AuthorDate: Mon Nov 12 13:36:08 2018 +0100
Merge branch 'master' of git@github.com:apache/sling-tooling-release.git
patches/sling-org.apache.sling.jcr.repoinit-1.1.8 | 57 +++++++++++++++++++++++
1 file changed, 57 insertions(+)
[sling-tooling-release] 09/29: Move release checks to
sling-tooling-release
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit fc5e02ff5128432f864c06f0509ad0c905fd5eca
Author: Robert Munteanu <ro...@gmail.com>
AuthorDate: Wed Nov 22 23:17:19 2017 +0200
Move release checks to sling-tooling-release
---
KEYS | 1114 ++++++++++++++++++++++++++++++++++++++++++
check_release_matches_tag.sh | 46 ++
check_staged_release.sh | 62 +++
3 files changed, 1222 insertions(+)
diff --git a/KEYS b/KEYS
new file mode 100644
index 0000000..be30a55
--- /dev/null
+++ b/KEYS
@@ -0,0 +1,1114 @@
+pub 1024D/859A7237 2006-12-12
+uid Karl Pauls (CODE SIGNING KEY) <pa...@apache.org>
+sub 2048g/1785D5AB 2006-12-12
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.2.2 (Darwin)
+
+mQGiBEV+bNURBACfwIa0nQsHXm5eP//fOHJGy9Sfui6HLJkTnD/DDAZZvj8pt9lq
+4e43Ulm09dMRFfFNfMsSbmPJMYmv4+uwkMUVBBh4kaTi0DTB4Y49vhVX5YB5u5lX
+EF178eXUBHC0dVwnLmf3gcMIiyju+rjG5H92vsBCvpsnRJ71ep2bfk9TewCgtWS8
+V+Y6jTRU43ujrehCkgFB/ssD/ibbU2nC4jQ44tIPHEB96GjQqBKdRpDVRr+DF/Be
+jdf6N2mzcuAnlcc3r8kg6GeRYQTg+JpTKk4Ku8q7YwP5YAfFtNxXiTy9lkqTnjzl
+iPbzuN/fodSwQM9PhW+hiZHX5TS7eYg2uHEq2Zx6DxrEkCJGW8QfdhQ1grRLdzvR
+nRebA/9RyqY0IXqwOzY3zAIELJkrnA5v1TvhJp6NAUfeXQZF4xFCrPE6NH5UU3m/
+Qnia+enuDWC5am5Mii1bkEI3BvQI2VZTHmMKhxvtWiK5UnpyCUuKTC2cf7846A4a
+KGjjjRTJNiJ1CWdyIsywqliH0J6+ikxKcZhWxW85IMqVTvUWlbQwS2FybCBQYXVs
+cyAoQ09ERSBTSUdOSU5HIEtFWSkgPHBhdWxzQGFwYWNoZS5vcmc+iGAEExECACAF
+AkV+bNUCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCQVII6hZpyN3/yAKCP
+J6ZF+NNB/QL3BUy9c0Adr0DxTwCeKgEfRef/+SgU10hnEwGXB23Bg2e5Ag0ERX5s
+4RAIALnvqkAbnY0YhFQNthtI7rWK9Ag5fS0ca3LcPJfA0CiZyPnYT4Pi6Iq1iiYj
+WiDr0yY0eSKEy0axivD57TePFzV5p3ZDAJlhyxD4AUT9GPI6ufFu6uTppatoTK9y
+SCC2njYew64j1ySgtHVPCNudI/0eIeAu4nRvbJjJcWs00meGEz4H1dnBIbBgivPd
+/fmyIE+QACCs7siufZmoMwjYfR83/xoNVyWJqg93/lWQEbSJDE9wpbdh2U9Dz+4b
+WQFh/UtBzSDHUhGYq4PQXLlHNQdrz8RJ/mpV+blEtwawBsQpF4vsbeHJja+cFBZh
+3TdABI1iMqyOxCxf6aSwDoek198ABAsH/0jtY78wT2Ai3FozWq+ps3SDpGzjn7pa
+rbb7vEWIcO5KYsWrqZnETMSuiPJfj0jeBAYqx3z7jTRdiQfHDUSOQMUizGrSKBOS
+0U7zWQAsbmqf3AfqKEjuxkfWQPsTIMLziRXyR51W2VN5i11zqyJqrZqeG/VJ7TE/
+oa20kO1qXhaTo7q1F7Q+fFpLlPphKxFsSKYgBkwcYfxAvg+yyx1J0nK45PRydwB0
+ZEZDwehZHzHaNcjrRdXuzgrwuO7h+hPH0Sdp5v1bQmY9/E0nH2qA4pwhChagHyLq
+c26PuU9NQN0EGnYxsDK5ZdQCHOOX+0cPubQIlL3b/yKqaLUzwBdguMGISQQYEQIA
+CQUCRX5s4QIbDAAKCRCQVII6hZpyNyOuAJ48gMrb7aZDL/7pyEKc5Igsyx+8BgCg
+iLOPLt/uE758uFLHSLMGV1TUnGE=
+=n6T4
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+pub 1024D/F79B7715 2007-09-09
+uid Felix Meschberger <fm...@apache.org>
+sig 3 F79B7715 2007-09-09 Felix Meschberger <fm...@apache.org>
+sig 9C85222B 2007-11-15 Henning Schmiedehausen <hp...@intermeta.de>
+sig E04F9A89 2007-11-15 Roy T. Fielding <fi...@gbiv.com>
+sig 65D5E39A 2007-11-15 Ben Speakmon (ASF Code Signing Key) <bs...@apache.org>
+sig A79C6E18 2007-11-16 Bjorn-Erik G Townsend (Gmail) <er...@gmail.com>
+sig 8780226E 2007-11-16 Nathan Beyer <nd...@apache.org>
+sig 2046D0F5 2007-11-16 Henry Jen (slowhog) <he...@ztune.net>
+sig 3AB8598B 2007-11-16 Jay D. McHugh <ja...@apache.org>
+sig 6FD05E49 2007-11-17 David A. Rush (KY7DR) <da...@rushtone.com>
+sig EB51FBBA 2007-11-18 Marshall I Schor (Code Signing Key) <sc...@apache.org>
+sig 015AFC8A 2007-11-18 Bertrand Delacretaz <bd...@apache.org>
+sig F5BB52CD 2007-11-19 Yegor Kozlov <ye...@gmail.com>
+sig 3 6F9522D8 2007-11-19 Issac Goldstand <ma...@beamartyr.net>
+sig C3110611 2007-11-15 Petar Tahchiev <pa...@gmail.com>
+sig 152924AF 2007-11-21 Sander Temme <sa...@temme.net>
+sig B3B4D98B 2007-11-20 Timothy Olsen <to...@alum.mit.edu>
+sig 69CEEB1B 2007-11-20 Michelle Caisse <mi...@caisse.us>
+sig FE6A7BC1 2007-11-20 Paritosh Shah <sh...@gmail.com>
+sig 9D3AFD4F 2007-11-22 Theodore W. Leung <tw...@sauria.com>
+sig E41EDC7E 2007-12-05 Carsten Ziegeler <cz...@apache.org>
+sig A29640C4 2007-12-18 Tobias Bocanegra <tr...@apache.org>
+sig 407CDD8D 2007-12-22 Santiago Gala (nostromo) <sg...@hisitech.com>
+sig ADBF9E1A 2007-12-22 Santiago Gala (Santiago Juan Gala Perez) <sg...@apache.org>
+sub 2048g/43278832 2007-09-09
+sig F79B7715 2007-09-09 Felix Meschberger <fm...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+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
+=vbMu
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub 4096R/F2F27A06 2009-12-23
+uid Carsten Ziegeler (CODE SIGNING KEY) <cz...@apache.org>
+sig 3 F2F27A06 2009-12-23 Carsten Ziegeler (CODE SIGNING KEY) <cz...@apache.org>
+sig E41EDC7E 2009-12-23 Carsten Ziegeler <cz...@apache.org>
+sub 4096R/EFE73AD1 2009-12-23
+sig F2F27A06 2009-12-23 Carsten Ziegeler (CODE SIGNING KEY) <cz...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.9 (Darwin)
+
+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
+=11io
+-----END PGP PUBLIC KEY BLOCK-----
+pub 1024D/015AFC8A 2004-06-18
+uid Bertrand Delacretaz <bd...@apache.org>
+uid Bertrand Delacretaz <bd...@codeconsult.ch>
+sub 2048g/AC136A02 2004-06-18
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.2.2 (Darwin)
+
+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
+ogCgmYjH58QtfKbN0RMlLmHBKX29iwqIbwQQEQIALwUCR0KcBygcRmVsaXggTWVz
+Y2hiZXJnZXIgPGZtZXNjaGJlQGFwYWNoZS5vcmc+AAoJEF4n+G73m3cVjOIAn1EQ
+od+XJtrkd+NSR8HWMolIoVHyAJ0ds1BQjbTaJXnEM7aloVOJ21fiQYhyBBARAgAy
+BQJIC2TXKxxCZXJuZCBGb25kZXJtYW5uIChBU0YpIDxiZXJuZGZAYXBhY2hlLm9y
+Zz4ACgkQs5fdGlNtq+3L4QCfc46nHEtOTpsR563sd2WmZkxKhGkAnR1nlrMT9P45
+3YQ80cuT/OLYTzB6iJwEEwECAAYFAkLerKoACgkQMaY9luwUC4HsMQP8CpfsktVG
+aPYadYSwGLWLv5pmCWSDFCGoLOto3M6K8gSRnp205OIdPjrqvns/t7NSsIyknG+G
+UdUJQrmr8+KgTnkcuZL0mxU41+jM4wCsCGSmnVB2BYxO/qu/PuywTaNfWA6WWvia
+3hYreyjDxOJFMpkru/UFWVPKD35cQsLCgqSInAQTAQIABgUCQt7IBAAKCRA34/Rf
+7mXjIYdNBADqrnnav8uGG4VYkaDLDX1QqznWr9Gb59VdPwzd+4kETh0Tf1mSCjwn
+nzXfj9+b5U0nt2QnXGoXmO9NLqsIAzcv0w1G+3piEpjGgfpgNwyQ0mqzXNPMcz8Q
+MojcZG6QbTe9f+UvtTG26+1XtGeVFL92WG8bjR04NCqiTd87j8LpB4icBBMBAgAG
+BQJC32kfAAoJEJrNPMCpn3XdgN8D/Alqkq70QLpKcV2m5ouE4veaiCQaNNRGJv3r
+LRN/XJg5uYmFyzn+UmMxPxx49He4Z56JWul1oyWyMEZg7fQrAbtQIlg7DWhn656o
+o3dOTv98s6JX/mPZFwYIWjRshKMkAxMbiHtFBXJ0iBhWD/nHwsIi8NiOBeDh08pu
+UInIKFSbiMYEEBECAIYFAkf+RdsxHERyLiBUaG9tYXMgVmFuZGFobCA8dGhvbWFz
+LnZhbmRhaGxAY29udGVjLWR0LmRlPiQcVGhvbWFzIFZhbmRhaGwgPHRob21hc0B2
+YW5kYWhsLm9yZz4oHFRob21hcyBWYW5kYWhsIChBcGFjaGUpIDx0dkBhcGFjaGUu
+b3JnPgAKCRAuuUaCiIF0AvMgAKCfIBbalY34uYFmBJwcQPda0RzJuACfTP/sdK6W
+2MP7+ZxRdjZU+Mg3L7eIygQQEQIAigUCSAN5GR8cSmltIEphZ2llbHNraSA8amlt
+QGFwYWNoZS5vcmc+IBxKaW0gSmFnaWVsc2tpIDxqaW1AamFndU5FVC5jb20+HxxK
+aW0gSmFnaWVsc2tpIDxqaW1AamltamFnLmNvbT4iHEppbSBKYWdpZWxza2kgPGpp
+bWpAY292YWxlbnQubmV0PgAKCRCLOmAfCMl15XgzAKCKJYwpiQ2jZpx0bVZ8MOTH
+IH2qygCglIG8PqX6pewtA80dLPFz0AOR+06JARwEEAECAAYFAkQtiEcACgkQKbiS
+0MhihQH1ggf/XCKcrykgzVaZdo00rd4wWsbbObUNsC92FHgIP8P3sI8d+2TuA+Lb
+aP73YfQOtOZ2BRpN6bxy/i3oK9A516i+r3sKxQBGc+4U/qanoLs7m4Qd7btUkzff
+N0Vwu5EV4bfhRr0kPvIYD4Jt1g6Sijn3d6eiKQ6bg4o8DPkEukLrNNz2hzstSoGI
+NaMKTHMcoD06Kx3PAYCwNM/cPUKrtu2+IowxSFIbotlfW4gSFZJo8Xj1OnajHgAz
+3sYL8ax/JS3GkfQQJNkbAe8cQG+S+aMh+ZUiPHzRaDDynJ+HuEzQAQ7bUBHRZM8f
+1Dc6ADFp4qyGVPagSFFTtPQJU5afZf/O2YkBHAQQAQIABgUCRzy7YwAKCRAZZYVQ
+wxEGEXb/B/91u2M3XIYP5h7SiV118JYLYj3XA2kprCztV3BRiPf90IhJDDAjq8q9
+TKjY79HDGEi8Tc9WidckaH9MNopXx/qVNNpXdhFQdqoX7sMwyyZo/dZQyW0xWl+Q
+4PDXsra4BxsJqiicwvJDutOluIxxGV6pVPBUZHNxZsiRv+0vMx6ph8/pKrWrPnoR
+HywG4uabNGAtGOu5Vy2IdU76LPQS6BcbgVwIIyqPwMxZ97bSibQuxUhsViq1QgY4
+uuZcieYV0HUoFoBZQYJH8UTrlWdqFYZbJbiU+XSuN3ahb05ZYAjrH6MUdWzXAw0y
+3K+tba4wJ50C0LgbUZTiK3Tkxew0aWCoiQEiBBABAgAMBQJCxTKzBQMAEnUAAAoJ
+EJcQuJvKV618ckwH/j9H7+w45cbGAkqkbwWLQMAzHng+9wgJdoITY9KR2j0c3Vr8
+M70rwB9HINxSR2j9DdNceS5qSzLZTH/gJqQ+EKb8B925mGI7s1K8BpGAR2ipZukq
+xIJdyNcT4UQ85YxDSwyMfCnQhdaK2Ic+Eziu8Hd32pMWbNhckxMux1eJst6ix0jk
+a/yKXu2JJ/MsmJ/0S78DKw0Mf4vIL4YBH14n+hHoXaAkYCH4wdKOVvd+Nu5PGgQx
+VsrIOQMGc5w+/vBDgq3Q4rUs5g4v3zPDm9wDaGLiMwynGY/pOqDx2nnWso35G74A
+LDRJ2mVdC2sk0CPfrhhQjLgDUSPAGI5cQyeNgG+JASIEEAECAAwFAkLWuS4FAwAS
+dQAACgkQlxC4m8pXrXxktwf+J7v3DG0t0zetgH8Ifm7cJD1O6aLKgHoqSLol+/XU
+39DHfkouFl5SifUhszzpVa5ek8kvfmY4KAjxYHYDrWXJeWiDhmcrLNWWK5VqIuJq
+sdYugP3WQuS3GVeufqv/da9a7/1BZQP4l3Mi3HGuqApIIt1ZoIqBX3mupESg/HTO
+FMhSvkHHpFwjUb4rLlHqBHCXoMoYe5I9JTF55mcJyDpjKasMO+2kTeVPEwYvbdpd
+nnElRucQRT+gbxOhiDLxvvUnV0pD4hgzUpiTHueOAOVEMAdloQbYYG2QaZJo67h7
+AMeZgnE275QHqDYZRJPhbyKLp3f9tlkZ6Dhx8E0YUgZpJokBIgQQAQIADAUCQuzG
+BQUDABJ1AAAKCRCXELibyletfDCnB/4yd4O8GQSwIpUI7/eM2419rImnWcx1ptBR
+nWwpAebMo1sMyHeOw/aT44XZ77f7+qevTUP7QTQvaEe+03jgWGRNWudtLMRSN7DZ
+rdLOL/sUZsDJhJ21hsVV7XLucOr/cNi6Dv6sB/NTvZJWco+HL1/3krKWxZQ2e7oY
+ShhHwjPH1JF2f3gpn8re54shxQxF5iE4Dz19IqZ8Om9BCWqtbHYO6cUy6Tg9xewl
+puz5diqYFl/ggyL38UizbJV/lVH/nssRaKeI05OougbA0AeG6AgRrDmOQ96X9EDm
+a4/gB+Lg9aYE8X+C6i6blv+WPQaDuVXb1QkTTH69UxWPnK72N7xmiQEiBBABAgAM
+BQJC7WxFBQMAEnUAAAoJEJcQuJvKV618lYMIALHHVlQC4FSjQ3efeTL8yZyhrqiD
+VA3sieZ9e+AP+vaUs4jx3BodpSm9KZrLS5AczyKgKbse+YfTDvDGXQ5kc+hmcdEw
+ITcqv4rivL3dnLOGIkPUusqqcp0LrrH6MzSL4WHXYan0RMn7MqNkTklQqsqFqSRR
+8tWHtTzFT0xxf28oUNyEIBKnyq/3TmK4cM7u9p5pP3+Ub2i+7Svv/QXevnvJGVsz
+5KS8VLpc5ZLPb+9vxGg0BWuaZMnWjH8cgAMlGMhK11nIA0e/953mBBaADU1xH646
+d8kTlo3DFRVokW5i2V9piSy76InDK08tIpSbe3pvvnhtTaADFACBYYOVgRGJASIE
+EAECAAwFAkRy1x0FAwASdQAACgkQlxC4m8pXrXz/fgf+Id3e60p9f0+XrytDagaQ
+I/mTVrpxwo81St6SzECZCnjPaehlt5OgDumpbPo26YN0fA6kZlFsx0FoJ2Vpp7TZ
+SbsG894e2e/677sHXGvIbKwFV5T6vfLuy7C/M1j+KEeGlfCLL6qHvlmBPMhGu/ky
+8vPeFzZk9HwxSklO6sXgOWp8wiA9MoNjPKyGZQZRdkXVHaSYiLLZ2PHIveM2921i
+UFB5Z1AgRH25USKSV1nalQT9YYmos5QnGcCZhYvcKAGCKKghtOwVSSbhjnFbheur
+vndTHU6koKLACw7PMX56ErPgs8b8/ctSvbLv0fBUMdW8KvCVsMF383m9crIcIYeb
+kIkBIgQQAQIADAUCRISbBwUDABJ1AAAKCRCXELibyletfDPUB/9ZeGJIoEtA603w
+esHud1iUWr31d4tCm9ZK4xu4Kc0dhiewKSOje1UY+dGAqStXrpMLtJeCd/cD/vHW
+IQEsORUFRThfAmvPPbNSReND5TNlS37wlWPZILNUAXjDOFiidpfm3H8lBgf/WMHm
+LL3WEx/4tyfBMeT7/44IESEWpktMNW1dlqAR9jIzcCiru2I4L995p04xMwO3DjEk
+sqEq/KdYmkTm/a138VWb2xlTsyR6oIPu4eDMM9I4x2ZL7eROLs7xE0XykS6iXcJk
+Ss0noSLl2Ub1wmDy1ZWGRcNcES8VDpSlxDhiP396dwJwbCxVPqobch89ShtM2vzx
+8zR3WvGziQEiBBABAgAMBQJElcLEBQMAEnUAAAoJEJcQuJvKV618EGIIAKv/IyCU
+C3sM3PNb/0TIk/04Gxc2TRxNnTYFGASxkG7EdTSrM9dIIDGto+o6y8A/05n1NKao
+Cs0j8eYHoLMkgcyXEfhdEkl4ngfB+B/U85/C/fE9Mbw6hVpsD2Pm48+0WJNhc8vO
+4bCIFUozaI0R8su4Jtl+GhqpwwrGOriLEqUb8cZq/vdN4k/y6g0HjzyaBfQZXqb8
+kZ/K8s/9HhnIDeNAuTtozxcaYZUbrcyDL1xmQtt4YtSGsFd/fZ6cxJz7tHW07a4c
+U0kyaHTUx1c/Dnz5CbHivYczxb/s1DB5gJtR0O6Okjp/suD6ox6YcOzt+LTH1OZh
+F0T8OkhYqIvVOEaJASIEEAECAAwFAkSnkjQFAwASdQAACgkQlxC4m8pXrXxlXQf8
+DaM7U62H2+xAWYR6kXTFZeS7Xr8IF7B4WFZTTdFAmMlmBS+5qhL8+dQbbk2SQUa+
+C/eo4uuhm+cqZBuGPwYD8s6XK1gi01/nPyHiVldHgz5afZ/RBMRUw0qjke67szIr
+wdaFPR7gp9QD7DcwCM79FkH8jWtZKXNZ+jLTdy1KOa/cn0aSsrdmZvUoKN5H8F25
+8zd2DPhh9lLGvSJf83ce6+dofv/a+jeUzAsDfPUwMOJYblWDLsJd0ec0Jk55NedZ
+Nd4ksx1sTJbESARedNeoXILcvtzheDLsx4Zch2Dl8KcSpr4wk2QCBpvXk+pynaYg
+H6w4vnmid3NtThX6pe6+X4kBIgQQAQIADAUCRLlYHAUDABJ1AAAKCRCXELibylet
+fIk6B/4hR4S22HLhH/olAKHHB+XeP3EcFBmIFHYVbqBTt3wiv26v4sGqpk12dAnF
+jiJDyXbsVnc2UR0WrFPWzCyYIqda225Er8QVh2m7jyI/m/ZenmiSxQi2H7Gse9VA
+QT5ixUlZuerUZfzI4PfmMDk2KQ71YsDsY6A4uxyBJm0OuuQswIdswmlCLYNjtLk9
+FlSUdjW2oDA+5VhuE4EeLRqqkcLXvTxnEd7G8RhNDPRyAPuQBkOYPfYlzaYVk9rq
+KIvKhreX2HfRBZGIudx7u64Xv4v62tVI/yAF1au4irSoGUhS0BXCxE1UB/5Bj/5F
+rWVynlEg95PAsx7RbBLS1E+UBneviQEiBBABAgAMBQJEyyfzBQMAEnUAAAoJEJcQ
+uJvKV618cssH/1qeZaFoXf/7hIhFq660Sjz6fMIm1N0bScjZIBnEVrgfMhWGbTvd
+cYYI1pn0jfkj8nY2hIjcA3XzKaMZdMW6i7KuYj2Dfu7cUu9QsycGD0dAVqZrQIqJ
+KvajjFGVXj5lH9fNP9MoTrHQZCQRUMdvTrO9RzOK4oL00rbU5SIJhtGDjJux4aJC
+u9ZZjLLx57YA3XrrVEfKalfNSDgLdjGWHN52mWFfZz11sB7opPp7he4ZDHVzwlkG
+P+TGt0otRRZcp1i3ypAP6n1y+2fVrSL/oLIZ6mHwJN/26wucECbKfFpaBGrYXir4
+5IAybLeYDm02ONabD4n5k7piDrc6SJfD9JeJASIEEAECAAwFAkTc74AFAwASdQAA
+CgkQlxC4m8pXrXydLQf/eNCB/0qmT13DS9/PXUq1lQbZmkdoRGZoA2U/dDzoamrx
+xZX47X2/sQgby+4LvtMNvrL0u++6ZSI+sSEHJja3wjWJJVTFO1leiL+d8woiJDBg
++ZZNOyG2OmPmN44AaoN+bf1EYMNxcdEghM6bokQutgU/PZAjGtV+JQ15IRwddGqV
+w+nUWZSNZxiHAiwRMSftZcCHxY12Uzt86+j3GLtwq0ZU7doHEkjP++VBrq9ZnAQX
+LUjMDkgyUrmP027JEAIDnKRoEIt5MO2HDiAoq4CZID6j4M4IdKqEy+zNH8dsj1RA
+86FjBQ7Q3s7skkKr0ByeiYr0njjYKcOd5f5fB6KwKIkBIgQQAQIADAUCRO7GqgUD
+ABJ1AAAKCRCXELibyletfOXjCACRZvIlbBSoBzh00cvuQT4++9tMgVSa73woINYp
+4BuXb9pEdSL2ShPAirdP5qrl1wdCLOZ+gz/AYF7x9PoqCYfctl9BsNQNb7fW0pq9
+8+vBRiz7OfDs5++r0QkBY9TykM7OoEdxvs7fs2vjCqqgIB1fG771bYEFnXkQVDla
+CmnFJTPQ4ac1DHOLdBWsO3MdK3Gu/HgOu5qqDpI/X9OQ8e9sHhcVTN0uJbH0dfWP
+aEXwhTe1IAz/PUoVBD1o5vVHU0sWjqkLAxFmXfPT2VdCLGtTIam1PrErln7E0DBu
+Hyk/YmhtcZQz2y5E/4qkLho1oTWbZDxXVwniwnEVBQgEw/PGiQEiBBABAgAMBQJF
+AIfnBQMAEnUAAAoJEJcQuJvKV618ff8H/0zxP2QSf0IuxNMM1YDzQuSDTrTed+Xc
+WJJTBgg8f+K1ZDM8bMrehM0DuGrBNUzleS5X7agP/w/3xOj28fcHvzlsTO/Fk/xQ
+SwKQfhnhT0iNu8GgQ3e5i9Bp8QiUnUeCcZSUhbABONpbP66o9T2szXHWUojpnFwj
+aiUmsDq0Ztt4ULnRi69+9d6sC5aEbLTY7/UVSi5GFhuMaFp4RCoyu5TEbndvnvN/
+pt3i54xKQftZRBSR71h6YFykEtMMV9OqnSuGljiZoQ4FfcmO9z/i59NcEQukGuRi
+IR7aSeNN0CyXWEaceU2bJwf/B82UqHRcXU5kioby5tqal5pIioee4YGJASIEEAEC
+AAwFAkUSWDIFAwASdQAACgkQlxC4m8pXrXxwUwf/b97mmmQaNsaoOUSi6Mq1PoKg
+OLFtfb2Bo64Fouc/KtAuZkgcLvG4TBinSTMcgq9GwY///TYl6SuLSD8nOI9D9sej
+DIcs2hBftq30o4n8Zjaca2arWQKxmF4wClcctkQ1zoGe7ko5WiXceZhD8adOvQEH
+hzL+Wb6+5P8fgTZRe5yZFj1dsBlm0/4fpDmBru88+D954tVz/k5fsaoX1gl5Kd3/
+aeGR3kRhow8lZaPF2b+oIRTgSYuNZ7I1JBHs+0zJh8D4rkjYEVIsLvcyvvrp4vUY
+945cDbu8vKnO4txj+SG1mLVwAzdkMn5JWGmG0oJuxRp750PuuPClgd9JxdLdDIkB
+IgQQAQIADAUCRWj54gUDABJ1AAAKCRCXELibyletfCFMB/4wmU3ClHq9O3moUbxu
+hUyUC60CJWNrVRi5+68TrFz7mds9rmw1+klAbaRuhjXb/IqaJ5LreI+7WLhu4Mk+
+NPq3KCaS6iFyJMthLCMhEktSWdtVb7/fIq1ZMtIAYq2OwFAKuIlOWpmvi7PAOSMb
+BrICcYVq3JCcb0Ubmx4hzN9JNY9vngO2QBxEjYIgh03laP2mhMu7uRk7mD17MMlT
+ifZJ9SsP6twL5I5NqPhKX2G8xM6KpD+68rIdg6xVWFJDdk4/hv48r8wq0a91tjkj
+FetCr8EQ+6bc+8qW5qcUOtSMna3kPiKevX7xE0sUkIgYvwCipGNIc4ESu0uNJDeE
+MOOciQEiBBABAgAMBQJFestRBQMAEnUAAAoJEJcQuJvKV618LWgIAI/IXxVHOXNY
+4Eg4W0dNvP8rxYPXApgGgWVii0zSlT4/jF+xHTZeeSSKLBceLXNEYRjzLt5BWS3a
+WUCBHsVEpQ6p+G0aCmp7e4nwuPXrQrDQC9yn/DHvZRn7WkVvU8xHHMdbIp47NaAk
+ST0bM9FuhyPCTKoQjpWVv5AvPZPEL+lH9ivPw2TnUXDT4HCrTTCc8v06U3Yr2zkz
+f8WUJWo3L7gKEOyGTunqjyr8UA5PQBqn54VWGknTRWA8aKXkVEwA7Dr6rpxhN51C
+Yk8/tfkxMYbB6VYTByBaHS2z71YOjdN+DCaFS3LL0sXOz3RWHvu7QQjbjqli0win
+C+g+deKx586JASIEEAECAAwFAkWeY10FAwASdQAACgkQlxC4m8pXrXyh4gf+NY+N
+Kv7FyjB+k7cDEFy0Q2h2JBiQpZlSoEWxA3CYBSmc0tGLuL7Imb77nxUjxOrf8llY
+zkgxte6hXP5TQHWIZ3X9iXPfPcXjdJIGIwRVU9dc2anRhvia/O2T3p2eYqfR6Avv
+M/DGsfWnl9tV+dXnsM46GclH3wIAoObuct7RDzoRNQQt+AxS89ZM17TD6LjFm/Oq
+VKyPOkqqjXXQz1ybV1Dz7ApehFtAeVlJNgIQ7nHWmCwDTynaBIUHmXmlSgmeGJWn
+OYQBvsQpYaUcrYSLWHBluXjS+KAOOKVfE8afLWfM4dAg1Aw/i7DfWZU7Uhw00IJl
+1/MkxEQK/u0nqCkMDYkBIgQQAQIADAUCRjOMtwUDABJ1AAAKCRCXELibyletfISk
+B/0RZnJpUQUFbbOd7W4sYsX7aH0eyC/dMGokc/n9V7C3N8kulCDeGK9Bw4CKVjuz
+HhLlm5+mLtOF05/J+7YgCmBEbP8LRgJC3YBsviZ21WKTBdhoXTJ624ULAH5QZEmk
+jM3gq2miIfh8mBTlrmCImIB7GL4HPwq+kJOHi3/w4Hq0SPa+EohH3ibX6OUPoSy2
+txJV5/oh9e7LxGNQj+U9B6UOVMKFBdyMlWlDEJYPhL48BH5Je92l+93pt7YLCAoJ
+hz5EP7MnBLdtEemZSM1vw8j1/tzzkcq5+z64tznjV2Tk2D6SRp02daA4jdhN9wIc
+SpvfBv3+gkwOKFqj3OGhBsiMiQIcBBABAgAGBQJIRAPSAAoJEBk/GAq1XZl3SIMQ
+AIvTDN3mzMKO9LPlGaonrrDzO43hegxBbRMkK27cAC5FSLfQSMs1MLtrUU+nCILM
+tz4stRXRuyI5e5xiieyYSAUohWPaZFq/Idt97+7FNg3gdoe1FQ6Ql75x2vjQWH5G
+yVn/mXCrT0e1NcOhDiO06lNiRMUwmRZ0dhgI4wM7B8o/RSdTMy3twp7g5/VtBt03
+wdBvDO4cNmixje6g72+U2Hnhz96vD9IsKtyOdT2w4vSAwt9BJJUwHbPTv+xEHiJU
+Ok58ub62StaSTj+hIoXsezUP7z0ZmlySm4HMylzFsvICS6ysGLzLTGZTqQBdS9Ku
+EQLkMzRAoUXltuJJFnfrFG2BGCY2oLW63M0u/inrxDbTRaeQ2fZwOXFIodKI+WWM
+RS+9GYKqjJAqiHCaS1inise5ODKy5OS0yfIIriFBrtFOa3WkFt6jGoXnwf/6XBIw
+7q8cfal2Vks/pPkpL+ZY8M8qGPVKNXZN7y41PBw7WYFGGhxgivs89eECS45m7Wyv
+zjoFFDoNfYJXTld85cpyKv8xWwLM8GRFpbh2/qJeEx6PmlGEOKKL8dA8gyZZNR1d
+pcEPFlJzFoH208pspdsL9kOgDndAKoI5O08nipKAHjHkqQYSxxCrYToP2kUe2Pnw
+8sMo37pmqU707s7zCiOHvv43FUjaJVqF7qIWI6jZjdCLtCxCZXJ0cmFuZCBEZWxh
+Y3JldGF6IDxiZGVsYWNyZXRhekBhcGFjaGUub3JnPohGBBARAgAGBQJC3tavAAoJ
+EEHqCaBXk0mPTDUAoIoq3kPybG+QKhtqP5nI+A39hx5zAJ4hB4nq1Knkb0wGBQ7u
+6m8bUHMxpYhGBBARAgAGBQJC3tr9AAoJEMppOXSBA6N+tokAniwnKNyMycyv2fj5
+kljrhraP610HAKCDDQ1PDc83TUJEzqFdChosZluaaYhGBBARAgAGBQJC333iAAoJ
+EDlNL+PExXtCSewAn3KVe54TmkepU/lQ8YRYhWQ/vggGAJ4lywqyOR9mrq5U/+Cj
+NQKCN/YHl4hGBBARAgAGBQJC35K6AAoJEAEFZrzkE2OSjQEAoJBQ43KZhtQZhYMv
+Eh3lvc1cHlCuAJoC5bRFZXqhq5Y21Gu+i5xHL1n+zIhGBBARAgAGBQJC44WeAAoJ
+EMl8UJZcHDrXiE0Aniqny4NbsRIxBE9+pKu67h3cjm1xAKDF9BaWLgwB/QbRkSM2
+ISR4vYBCBYhGBBARAgAGBQJC5HKmAAoJEIzjdrgc1IYfuPEAnjmOtUb0SIO6vIR2
+Rb/VfXq+xjrXAKCik8WZgqYKbiTaVnLmHICiMgu56YhGBBARAgAGBQJC5H1YAAoJ
+EGEZai4zPk6EOMQAoJvIFAbQUYmMxNSoJ4RpcayuWQygAJ9UuctgsgLLBZyU48Zv
+3EJNMNCeS4hGBBARAgAGBQJC5JNUAAoJEASRNELqG6ONbAsAoIKVKJoKb+uwKgVI
+wb0c+cSWRY2rAKClSqeIn5Dnztz957Ywkx8/1GPZl4hGBBARAgAGBQJC6mQvAAoJ
+ELK+vEAVKSSvav4AnikFbEfL7yYRFx3bDdakcP1pXahEAKDQyFXL3a3YSUXE+st5
+OzRqfOQ2/YhGBBARAgAGBQJEotjRAAoJEPXCYBZM7tdfBzwAnj/1Khfqmc9tWf6e
+BlZs0MRvVHyqAJ47d88s5XYyneOSqWEqMe4QeYCM74hGBBARAgAGBQJEowFqAAoJ
+EJRQQ/U1wQDwIBcAoM7s+B5NMpe8vIexAMmIg3EnsGxKAJ0YcgEVMsi6ZREjqBvq
+iswfB01I24hGBBARAgAGBQJEo4szAAoJEC0hq2VlRht5W9kAn2ZNpcNGvJzspwFG
+OLKOx8yIKdVMAKCK546fcavGXwVplPq5XjYneXobFIhGBBARAgAGBQJEpCw1AAoJ
+ECt+gudD7yEfKkoAniAcRLHBE/IxXqTCshtF7zacgWEHAJ9U4XvmK7zFPldc+JrK
+rCSYEbDXTohGBBARAgAGBQJEqXbYAAoJEDWLqjNQ+WEW2XgAnA3lIMpCMeNzoNm7
+oBhPpz1UvE3LAJ9S9vN8cMaDCzwgeldC1AFQRmBOYohGBBARAgAGBQJEqspIAAoJ
+EPs32kAzLmPNjlkAn3gtokIUlaKAGoLqjheMP6SiKUyeAKCn+VoBBxtSbP3R04Ba
+lgl/0Y/RBYhGBBARAgAGBQJFI4vuAAoJED4qb8JfKYgkgEcAoIUMHF4Xt5MQphao
+jbFV9XNDtGGTAJ4oX1DiMYdUbjDgtbCBnuSOwfcT84hGBBARAgAGBQJFnZ6WAAoJ
+ECGCSVbOQZyPivoAoImwkwWKFgIvXYYoVMfvat7dMuohAJ4//V+YGptbcwWCWAsq
+1TNkOflPMohGBBARAgAGBQJGAtIZAAoJEJqG18zRqupgLQEAoJWrm28DhW3xfwE5
+McTibsnUikIHAKC6m8Jl7MGgC00oJby1W3+JJBG5IIhGBBARAgAGBQJGOOI1AAoJ
+EBVFs/7iIt5P9DYAoKJURB0hV3UYLtbqAa0c180zzTF4AKCBtjCqUyfh9m2bWCav
+tuyjb/KFKYhGBBARAgAGBQJGOOcVAAoJEGPQra6REgPkZj8AoIKSgUKkNxu7C22a
+BOlJaiBKEawJAJ0VJ9orBw/nI2296CUt7vtRYWU6s4hGBBARAgAGBQJGPfPjAAoJ
+EKBy1NBDWMWEfo8An13MEzB+StJa32Udz1mwYs0hGGH5AJ0WXndKbaLd+NYxcDHX
+ar3gMV2ObIhGBBARAgAGBQJGQPS6AAoJEA9FCiZiEL/AoNQAn2CmwixexgVCif0F
+ks+/r2dfyBKUAKCrlrrr3yisHDhcd8ZTYud/PgjitIhGBBARAgAGBQJHPHReAAoJ
+EBGI6Nw6uFmL21IAn02Q4C+Tq5fvtkziBW5YLiyYdcDYAKCPmTNUXBAeVvi5K8P4
+C2tB9eEeQohGBBARAgAGBQJHPNOZAAoJEK/VnMFl1eOayqAAoJO7bckGesGU6sbM
+O9j1esBQxSWWAJ0YUPcKecJNObbNu9889tSutl4V5YhGBBARAgAGBQJHPPdBAAoJ
+EAC+ZrSHgCJu81EAoIV4f+O0UUtij1LyLYnrRcrRzRSnAJ9JNPfbsV6u09RV5acH
+8UXfarVd64hGBBARAgAGBQJHPQnSAAoJEME9MNinnG4YZJUAn387mFaz9JHaI+Ia
+XrOFQX3pzcqtAKC3+TguPRLzFDrX1KcU+lwN2q3I0YhGBBARAgAGBQJHPRTPAAoJ
+ECzWqAMgRtD1GnsAniwLagBmzl3IaiztdFD93ttPyeFrAKCR54v3XE3as0rXBV01
+adVBAXrLO4hGBBARAgAGBQJHP2EkAAoJEDk1+i5v0F5JTMQAn1tXkXDkORYEGqa/
+QuTVgsEb4sLIAKCRrIN+r85Au2bYQOO6dP/60JTiFYhGBBARAgAGBQJHQIOFAAoJ
+ENbd8DHrUfu6CdsAoI+L6YXXvFIMwTLazdRMX6TlLQOYAKCBtuw72OceIVOlI5zT
+9drsU8yf5IhGBBARAgAGBQJHQOYyAAoJEGk0CgL1u1LN0XsAoIaxnJc+whmBlwcK
+lwrey9OcXMm3AJ4lm/sBaUCLTyrGp374JrGp/nHnZohGBBARAgAGBQJHQwIYAAoJ
+EFbEVI91Wp74iqYAn2bowzsPY7r/r91CQRWMUXpnAiiqAKCnOfZK3TxB+VBYMhIz
+dwECFO4POohGBBARAgAGBQJHQwPqAAoJELDgGPyztNmLfGgAoLB4gwjryCc/SVCT
+J/88+F/H5siwAJ45XIESC6vPB+a6eSclWEkKRAEn34hGBBARAgAGBQJHQxWhAAoJ
+EO1O77BpzusbAdIAn1uv8wbUPNoblLZu4khjP2twjcReAJ9dIzrWbyHJuT07MFcM
+bygqJ01pcYhGBBARAgAGBQJHRV5iAAoJEGAo1vydOv1PTk4An2Gn7+jqyMkKYojf
+GFonr7qH9z17AKCbRJxlG1phN6AL+A45lL8SsGCxeIhGBBARAgAGBQJHTx/fAAoJ
+EBToz3h37XjJhksAnRpJrAvlKR2NNmKPUXk2CJggCIFzAJ0YgVBUxnSAdJZa7CsT
+gDRn2SqmQIhGBBARAgAGBQJHZ5Q/AAoJELe+wPmilkDELrgAoMlhQvpYeFSbRPVu
+xu+yDHvRPJtSAJ9ZPMV9siI4hQe2Xkea2Eefnyu7gYhGBBARAgAGBQJHZ5v1AAoJ
+EEDCqxwc4X7ckuAAnAhFY8H4q1MOGSSqJUSBJSFLsXfkAJ9RvNWmXfjy5CYKt088
+OqUO8HkLH4hGBBARAgAGBQJHbF4YAAoJEDBmOntAfN2NjjQAoIYbu/h0s8ywUSyu
+pLy1aEaDI05FAKCmYpfe71WBprQbO3LVIQEx95Yb/IhGBBARAgAGBQJHbF4bAAoJ
+EDBmOntAfN2Nz4YAnA1LdczrU+fbaoTkBuAf6rHefTSnAKC6q8O30mzP9m3yQnPR
+yQFI0OHMO4hGBBARAgAGBQJHbF4hAAoJEGQHhtmtv54a+8cAoJ8uK9R3LN+Fy4JK
+zVK1gi7EuIxOAKCAt/GxIhKmdy5a8ZUV8hT3C0qFFohGBBARAgAGBQJHbF4jAAoJ
+EGQHhtmtv54aJ+gAnjJlW4CGejxIqnrS8s7UWLt00mYXAJ0YNbTAcZVMJ+w3mBu+
+UpF2pDmdYIhGBBARAgAGBQJHgjeaAAoJEKcwUpyjVaY+PA0AmgJbYszPAjU0OPmp
+djdqOsDLKpNXAJsHXm2pt/1vE1vhME0SBsv/q/g3X4hGBBARAgAGBQJHgjr3AAoJ
+ECXKJGsWTfEixfMAn0Gk8l8eBayVRrHHLO28i6/1Be6LAJwJ9DcSz9k3RxLJI+Kv
+Twg7vsnACYhGBBARAgAGBQJHhJrLAAoJEEMwl+bm4pX0jpkAoKuox5gI0jdJjsw9
+VkAhWDFYyJ/ZAKCsFqepf9UW5NX7M/OZZ6MR3Z3/pYhGBBARAgAGBQJH/UUHAAoJ
+EJA4TZo1x+lChP8An0Z2nreLnntnpCCGERU++trn6jniAKCDv/tOPjegFt4iK21P
+k8DfBq65GIhGBBARAgAGBQJH/b0kAAoJEHPdjBYBUwI1X1AAn2OzrOQ7A8wTxp76
+cMWFwUkiX2jwAKCgfn0+6ZUyL98AO/4qIMow07uGwIhGBBARAgAGBQJH/cMKAAoJ
+EBg4H9dLG+aYTbAAnRQxJcO/RucSiwFy+aNDncYCt2GBAKCSvidaetFD1vHLmrFZ
+g7QxiLvLzIhGBBARAgAGBQJH/0uqAAoJEDyaQgQMCIW0+EYAnj/x5z1LVlXid60f
+1SKhgxtOM5rBAJ9qo+E5/dIRJeRFMWwEHBF+nF5kxIhGBBARAgAGBQJIABdMAAoJ
+EBhhwyLFYBSyhq8AoPap6QWoZ0DQNPLxPmdOGKZBv8VGAJ9F7aS6WNlxMuhhcIi2
+oVTPVolvxohGBBARAgAGBQJIBT7eAAoJEI6jsGhMdlfxwTEAoJYqthFTD+sG6kov
+0sk8h33VGdzkAJ9e01B3dbM99MmQTEeYmE5KIQo/zohGBBARAgAGBQJICKPTAAoJ
+EKFgY+y4zjBuS/QAn2KubTZp32lOOag8pZZmJDUxKTrEAJ0cusajU5DEWgzJrztz
+r0Hzx5+du4hGBBARAgAGBQJIE2pSAAoJEFavSwD7ifykhxkAoMSQcsK7xcI4jbs3
+OQjG21yQ9BxeAKDGDCVXWSv65SyjAz1wLwfcnU1eJohGBBARAgAGBQJIWTx8AAoJ
+ENUzTnWxMT3igB0AoMnZ67MWzM1rQkpEaOuYe4mhSiV9AJ0eZNRYefTX/+yZYnDk
+hfUkd9lYNYhGBBARAgAGBQJJz/OUAAoJECTBo3hqAXsXtdQAoIkNMA6D/HHaxZqp
+m/6SDqN44JapAJ4tzSZjHZe4EjcVKj8bTCa1w8fbDohGBBARAgAGBQJJ0lrxAAoJ
+EK6wGhU7fHWxAqIAoLcJKRU/fpxm2uoL6CJsCvAxdFBaAJwNs+8ZBDoADhjNYAAR
+EefWuXzVCohGBBARAgAGBQJJ1essAAoJEMnHkk5RBH1mNZYAn0hE0yBgVNVnWprU
+Fw2DSRYjWToCAJ9Wefm8Iodc9pjlV4VMjd42cHpQ34hGBBARAgAGBQJKZCeLAAoJ
+EDzzkhzG1ETt5Y4An2XQgLNhA+bXVubPM2eLFx3A/cNCAKCqHBiID8QCZY2sDuU5
+GwndfhbuC4hGBBERAgAGBQJEoxjbAAoJEFYNCGHufcdOk5IAoJNWgTxobcoV/5x1
+gIcbGFpEWCdHAKCPeLehOdnbV6BLIQsS0mb5DkqPY4hGBBERAgAGBQJEoxjmAAoJ
+EMpynWJgPU9UhakAoKSWaZMuIAUhM3BSOsdCNBZtc4a3AJ9DIaeR38GMqRKNP4ob
+eQgesahqWYhGBBIRAgAGBQJC3rEAAAoJEIuWKUP8JD88iZQAoKEehnc6iy0oz69d
+/gfMLcShsWTJAKCPD6AeWsy05nv+PI0S4Eq3pqhdCIhGBBMRAgAGBQJBJBGaAAoJ
+EME58VMjy3oqRtoAnRyigQh6jjZ4MdwacnI/12fCUR+CAJ4jM9WzxQxS6z07RkHA
+exiUnnlKpYhGBBMRAgAGBQJBc5u8AAoJEARjOld8IAlB+vIAoJgBJ5VLHiq3lnax
+KANSDao6HNFNAJ4xF6cVtXBFvx6K3dDGY2NPRlENZ4hGBBMRAgAGBQJBgSgjAAoJ
+EMm1puzi13TfXLoAoMvPczl3TDoVZ3MSkW7dWKnol4pDAKCpOQYqBVchcb+sxqRe
+fimFZfWZBohGBBMRAgAGBQJBg2GsAAoJEBMuSdTkHtx+L6EAnjy9nOprg0VWffK0
+2lSxhIsKlYJ2AJ9nD7NVS7Ev6FajrQsAlIMnSh3lb4hGBBMRAgAGBQJC3rP6AAoJ
+EP1viMYh0KcbXBwAn2YsmJSL0ErFbASkialgS21XjiSlAKD5V4p/70yZvTdhXmLC
+qbEs+L4TK4hGBBMRAgAGBQJC3rsyAAoJEDLJ5M42QstLRDUAniUfrEhO2v//ppbA
+gBpKEsHp6t7xAKDOI/olEIMci/fuyoW4JeXbj6uhFIhGBBMRAgAGBQJC3tfYAAoJ
+EO7R6jkiYdBzLtgAn1jjCq6QM3qDeje2uqDGT8uQP8R4AJ9oISwHs7BPDidNtiJi
+XKPtDrFxf4hGBBMRAgAGBQJC32oKAAoJEN26ZLosMS0v9+QAn2LcfahqQYEOsRZB
+Npi5Bxgrud13AJ4otgSELH5OtcoUqMsPBTEkytViQYhGBBMRAgAGBQJC32qjAAoJ
+EFCOrsUwLaVoH/8AoIKuZDKyrfIaOid+6a+dBBvxxL9HAJ94awAVVu8YmTI3Byy3
+ej3IXSxWOohGBBMRAgAGBQJC4O5DAAoJEFuWgBDgT5qJafwAmwQrY8ZyFtzRgPqi
+s+01gL/fiRSAAJ4oUUUAc4VFdK1zkpkuYkFJtPw4AIhGBBMRAgAGBQJC4TZzAAoJ
+EKIRWuFfa4tyjWUAoLvZ/yEymOw1QTzmXS+VI/5E4PfbAJ0brpXf/XiHssyipOCR
+gKHsv4+OYIhGBBMRAgAGBQJC4lyJAAoJEG2YjReHMVwxT00AoKgfH0fhY+5SRobe
+cFY5fmx+oPj2AJ9ypP3tfcRRWL/rAH/KkUQNuBI3uIhGBBMRAgAGBQJC42TzAAoJ
+EHXKoqPzmzdQVSIAnjUmHdDNVqgHuRktt+C5F27QtaiUAJ47u+smhgzZFEKe68Jh
+ye+g7wfdnohGBBMRAgAGBQJC47R9AAoJEG0LxzpAWBg3M+8AnReBeItin3JCCcf4
+LMF8SERIygP9AJsH6xJhfiwCUeqw/hkOWjT3PFKOfYhGBBMRAgAGBQJC4+2dAAoJ
+EDKGTkGchSIrspcAmwfCXzQdJU4FptrFQkiI656rQA8LAJsGOrC08MHsuwmZIy8j
+5VkPTmmqO4hGBBMRAgAGBQJC5RDCAAoJEFJ5L6+ZeK+GBKgAoNaCipgL65VEeuIG
+s7KiiCKiWDBdAKDlE1xv1EFTorafPd9VNcf6Opu87ohGBBMRAgAGBQJC5RGwAAoJ
+EGtzoQYqYj9yj1oAoLfJ7hmfO0C53ko/QeMtSp48m2USAJ9ZKM4vfXzRiKuhPTDX
+xRilUi/MUohGBBMRAgAGBQJC5pl2AAoJEGjrjHb46iln6rgAn0lh88z9SN+1/MxS
+Aa0+8TF77I8YAJ48lvCjrtwjwUb13NBorZWBYCjdZohGBBMRAgAGBQJC52FzAAoJ
+EG6UdZTBUkMa2BYAoLPIGJKLxQ+/SpqtRFwO9uu/f+DUAJ4z6dqSy17y6evgGxs6
+cHzA+wQZQ4hGBBMRAgAGBQJC7peYAAoJEFz9N/rMeMiT9+kAoLSO8L7txcyFOiZ0
+c9FsMhO4J9LWAKCPvMNUzD1jqDbChDY0z6xwuS3qI4hGBBMRAgAGBQJD+8F/AAoJ
+EBU/oM11pnaSvBcAnjbKSu7+nmp+t+bRiWUxSf0wlOPBAJ4zpZx/j9e/vaCmnPeQ
+b6a45cIpZYhGBBMRAgAGBQJEo6ggAAoJEEwEKBgxGj3lSTkAnRu4urHByfDrZW2j
+Li2hluYbdbgCAJ9zO0529c5bz6efyBYTFcExQBfgwIhGBBMRAgAGBQJHQTm5AAoJ
+EO2xBYlvlSLYgBUAoKydt/qIEQ6Sqd7Ggf6bLy7pEjxwAJ4v+FFyuxbblkr9UsfV
+IQ1WmOGs74hGBBMRAgAGBQJH/gtRAAoJEIEvIIXC1Qv7C5wAnA90IZpB6CuZT262
+o42ypv74h84oAJ40XECMmtu/FvHhoAObIELk3NswY4hGBBMRAgAGBQJICe6JAAoJ
+EN6A5lYZ+SkY3HYAmgPWJRKTgeoo041uwIg0Ea+TU2hQAJ9n5xnybWvKbrmVNFYB
+o/abq9aI9ohbBDARAgAbBQJGOQQfFB0ASW5jb3JyZWN0bHkgc2lnbmVkAAoJEBVF
+s/7iIt5P3JQAn19PlCHELRGllbrI3TAPHhh/94bnAJ0aqmla3hoo6EzPS8TyVoyK
+ybmwDIhbBDARAgAbBQJGOQQjFB0ASW5jb3JyZWN0bHkgc2lnbmVkAAoJEGPQra6R
+EgPkS54AoJnc5Fxm5bqt8sQfV8Rye58XFM8WAJ40qEmNcfeo/EAhzr1xBysiIBZz
+GYheBBMRAgAeBQJA0o/yAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEDf2j/UB
+WvyKoVIAoLZIjDpTDUQb99MWGAIhd5hKbwlGAJ9QG+DT2qEF1vtgOHucWg1ljhPp
+UYhgBBMRAgAgAhsDAh4BAheABQJLDU+DBQsJCAcDBBUKCQgFFgIDAQAACgkQN/aP
+9QFa/Iq9qQCg05mL+C/JyIpJNrA4D50Y7cXB+t4AnR/UQjFKCsDLCphurOI38TGT
+vHK+iGsEExECACsFAkf9JdYkGmh0dHBzOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBo
+cCNwNS4yAAoJEH9YT55N2dHEFGcAmQEcB+k6VGzMR+9FKqdCYHgXGk+WAJ45SDNf
+m6dD+7S/+tbrUazufVFWXohvBBARAgAvBQJHQpwHKBxGZWxpeCBNZXNjaGJlcmdl
+ciA8Zm1lc2NoYmVAYXBhY2hlLm9yZz4ACgkQXif4bvebdxWM4gCfURCh35cm2uR3
+41JHwdYyiUihUfIAnR2zUFCNtNolecQztqWhU4nbV+JBiHIEEBECADIFAkgLZNcr
+HEJlcm5kIEZvbmRlcm1hbm4gKEFTRikgPGJlcm5kZkBhcGFjaGUub3JnPgAKCRCz
+l90aU22r7cvhAJ9zjqccS05OmxHnrex3ZaZmTEqEaQCdHWeWsxP0/jndhDzRy5P8
+4thPMHqInAQTAQIABgUCQt6spwAKCRAxpj2W7BQLgTCaA/99LRrKrSFFlRFJaPYm
+s9LiJn+FDYLan3Lj6gA04cCXC3nr0yUEYVP0nex08yge5NEkbV4xOV3sDCrMjjSF
+YTRkCjvhUm9KiqrHl9MSFbflaoSj4hLDFvL3GrlycCnk4p9MnHkdE8BfRxuSqts9
+aUSxuKHIkNwI4jjGo58Ctc07BYicBBMBAgAGBQJC3sf+AAoJEDfj9F/uZeMhIGQE
+AOh7dNsTwWuMPGzK+KyAD97Ah3C1eQwgnifuI7LTt46t1iDHC//EmWY6Fl6wmrPD
+jUXln5JozJEOMzTVdc1bHaaGJh1PlmNGROIpGWf6AykGiIM6AiCN/6Oforfh1oGf
+1hroblYZX1ykJmcnJA5eX9n80dx1/M75PgKvlH28wV5fiJwEEwECAAYFAkLfaRcA
+CgkQms08wKmfdd1djgP/UQ29LZrKtFY51K0Kb4s4x9V2JU3eolLbVaeW4yvjENBy
+0pqs9WAe4fTCzPRcA82JzXdahbofQ6G+cuV1IARtaL6qQA/NLriv0u2s2W0KF8kS
+vu5WDJcYs0sClls3jC0S+GGvgM+DOiDWV3o8uNsMewTxSKziJwEG9haQ5wjt6LWI
+xgQQEQIAhgUCR/5F2zEcRHIuIFRob21hcyBWYW5kYWhsIDx0aG9tYXMudmFuZGFo
+bEBjb250ZWMtZHQuZGU+JBxUaG9tYXMgVmFuZGFobCA8dGhvbWFzQHZhbmRhaGwu
+b3JnPigcVGhvbWFzIFZhbmRhaGwgKEFwYWNoZSkgPHR2QGFwYWNoZS5vcmc+AAoJ
+EC65RoKIgXQC8yAAoJ8gFtqVjfi5gWYEnBxA91rRHMm4AJ9M/+x0rpbYw/v5nFF2
+NlT4yDcvt4jKBBARAgCKBQJIA3kZHxxKaW0gSmFnaWVsc2tpIDxqaW1AYXBhY2hl
+Lm9yZz4gHEppbSBKYWdpZWxza2kgPGppbUBqYWd1TkVULmNvbT4fHEppbSBKYWdp
+ZWxza2kgPGppbUBqaW1qYWcuY29tPiIcSmltIEphZ2llbHNraSA8amltakBjb3Zh
+bGVudC5uZXQ+AAoJEIs6YB8IyXXleDMAoIoljCmJDaNmnHRtVnww5McgfarKAKCU
+gbw+pfql7C0DzR0s8XPQA5H7TokBHAQQAQIABgUCRC2IQwAKCRApuJLQyGKFAUp0
+B/42MAnbWjUxz4e2MkQHIs5dWSJli6mqvtoeaduLxf3sudkY/FDl/dAG2pDwJDnC
+Kt/ZPyaSlHnHJU2xC5nj87DrGwlHNBt5FDk4eQlgMF0YnPKsYNoUueTrAoIn/11C
+1TAo1UuqAXLMNFiFmKyRnvD8jENj2k43LIHDA6iJ+XSY/OQMOup2F7Lbsp+a4vl9
+yPjRVr7FMtoz2xH5tHn4qVsIO5uaGvgCZ8OBMTmLCbJt/0d3Z7q7ngY9DpfuvZKS
+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
+wn2QKvI=
+=poqZ
+-----END PGP PUBLIC KEY BLOCK-----
+pub 4096R/9E4DCC6B 2009-10-26
+uid Bertrand Delacretaz (CODE SIGNING KEY) <bd...@apache.org>
+sub 4096R/00FD5521 2009-10-26
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.2.2 (Darwin)
+
+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
+/Zap78EWt2jvVTUgmFLM
+=R1eK
+-----END PGP PUBLIC KEY BLOCK-----
+pub 1024D/134B145C 2009-06-20
+uid Justin Edelson (CODE SIGNING KEY) <ju...@apache.org>
+sig 3 134B145C 2010-04-21 Justin Edelson (CODE SIGNING KEY) <ju...@apache.org>
+uid Justin Edelson <ju...@helemus.com>
+sig 3 134B145C 2010-02-09 Justin Edelson (CODE SIGNING KEY) <ju...@apache.org>
+uid Justin Edelson <ju...@justinedelson.com>
+sig 3 134B145C 2009-06-20 Justin Edelson (CODE SIGNING KEY) <ju...@apache.org>
+sub 2048g/7A09E215 2009-06-20
+sig 134B145C 2009-06-20 Justin Edelson (CODE SIGNING KEY) <ju...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
+
+mQGiBEo9SS0RBAClKEqIT+9OiCutks0H/q0uVlI8e2WE0P3X8nzAquFMygXGIraZ
+XHE4C9zxZnSC0vKAGazVAoaIPo8HOHgtyKLvj6OAoHCBETW4fyT2VEtzGD5G1w0G
+Mx7bCy1Ml8UriJOt2pvs2/48+Au6YTpNJLywxGXNE9DtBTKYHlneQFl1YwCgxkb2
+dRMivWcebRIkZpzlbpPPew8D/2JG6VO02uryDZ1ERPCBWdTTeSkCOLcSa3u8Tk9m
+exQOWb+rHc0f9Oq06PbGDUdpzrn8m0I6MBaE0SKSuDa8arrWXLylASK28yu6I/fU
+6jjO97Njtm2TvAqWyxPnWr/HRQs1BcrjPvdBV+3q9IgbObAC8swcPPXUPjAxADM8
+8oEIA/4iUtgMtF6G8/GzW8LAwmyCG1LHmYeltF8VKuB+WPv0cMYQkYnBlTYRusKm
+mJ/p9lp+Z/cJD+N3fk2QCy5v6inwdpDJlZJM/pnQWFh4xICWJ3yjMLvL/O2zi85r
+VyjYdXZNr2VB0MisaR3e48oj+RtoiZfO/UmjXp19cRaGhFh6xrQjSnVzdGluIEVk
+ZWxzb24gPGp1c3RpbkBoZWxlbXVzLmNvbT6IYgQTEQIAIgUCS3HD+AIbAwYLCQgH
+AwIGFQgCCQoLBBYCAwECHgECF4AACgkQh9vwWhNLFFw65QCaA54zD6ldsJAnEzP4
++Gm9A6U+gwMAoJaZacKpGQqe4itDafGYNBZelz4YtClKdXN0aW4gRWRlbHNvbiA8
+anVzdGluQGp1c3RpbmVkZWxzb24uY29tPohgBBMRAgAgBQJKPUktAhsDBgsJCAcD
+AgQVAggDBBYCAwECHgECF4AACgkQh9vwWhNLFFyVBQCfW19o99xidhziJnZ8JduV
+ghMavXgAoIZ4Zfy3jkjrckUNI4O0xZg+3XihtDVKdXN0aW4gRWRlbHNvbiAoQ09E
+RSBTSUdOSU5HIEtFWSkgPGp1c3RpbkBhcGFjaGUub3JnPohiBBMRAgAiBQJLzv58
+AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCH2/BaE0sUXJVgAKC71v5V
+hhmSK9sDtglEnNgKa5pzCACgkKXSi0n8ZXxYoEHfGcsFRcOnwj25Ag0ESj1JLRAI
+ANxtwlwi7mBGQuN8yIBVkg2yuPLx0+P4fDhPjGd052Tjq7ABhor9crESnEtF48x7
+CvvOZFq7X4ya4jQBSSxzFBlOvbR9nOJCYtwCRqndwIoLc4xTXxJKWSzWLYUo0XAh
+Bc3k9R+XqvO2fRscnA43J+68cEqplDwxNUQYJ2E4z4rBDru7IKggxUmGhy4qFMQq
+gbjZTGV/BuAiXGgyah3fFn2uTDawvExVe4q6CJPj9i1gtugiuU1KIQhDr7ERl8pX
+gI0OQdda/TqpX0BJZAXUR4VoLqvj5QSk2N+QShvmKdLt9hJBiIkzca++0b7+uAzd
+C6ePkeRXxWmcTF/V1Ksv1D8AAwUIAMOualuNEggQL6Ym4kmAgTSii0vtcGyygltp
+mKPUsTR8Fvh7qCaHMAO2tvt5M5S/499qceBb7RUwXbD5Epv2OXjf1z2KXzBk+acz
+NgdtB5LByQnQ2R4jtMJydh/p84P0tsDmwHM3MQFDhm5Y8+L0ywQGPsN9OpI6dj3r
+1AGu/WjSXJ3HFbqh19bF3mQdnzGrE5WE8sFkWqt1S//vV9rSWOgBNapzWL5QpOB7
+ONf9ks/IF/YuZREIe60jWBAzd2aACRy4ybE0lc1epI0B7yMyE4wOzH6DBnjos80o
+cQxM+DDjUJizZRHFMszLUJiZPTUUlLb4Kxtl30Id5SUvMbGwf5uISQQYEQIACQUC
+Sj1JLQIbDAAKCRCH2/BaE0sUXBleAKCR7qditeZrAOCXVzdm0OZ233Y2IgCgivRC
+QKW6DEv6cjyjCHMqCKo/EzA=
+=kEh9
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+
+pub 1024D/40E47E14 2008-07-19 [expires: 2014-08-05]
+uid Ian Boston <ie...@apache.org>
+sig 3 40E47E14 2009-08-06 Ian Boston <ie...@apache.org>
+sig 51047D66 2009-04-30 Tony Stevenson <pc...@apache.org>
+uid Ian Boston <ia...@caret.cam.ac.uk>
+sig 3 40E47E14 2009-08-06 Ian Boston <ie...@apache.org>
+uid Ian Boston <ie...@tfd.co.uk>
+sig 3 40E47E14 2009-08-06 Ian Boston <ie...@apache.org>
+sub 4096g/1B6E03E8 2008-07-19 [expires: 2014-08-05]
+sig 40E47E14 2009-08-06 Ian Boston <ie...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.8 (Darwin)
+
+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
+kXk6KNGkyz5hQeFKAw==
+=wkTY
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+pub 1024D/F79F6478 2010-09-02
+uid Mike Mueller (CODE SIGNING KEY) <my...@apache.org>
+sig 3 F79F6478 2010-09-02 Mike Mueller (CODE SIGNING KEY) <my...@apache.org>
+sub 2048g/C8125B0D 2010-09-02
+sig F79F6478 2010-09-02 Mike Mueller (CODE SIGNING KEY) <my...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+mQGiBEx/uwMRBADCQcUZaUr04AmjABajMrRvEt6QrCBPK1uJgFe5/tNy8pbYiko6
+4+bmtwA+nWhp4XwMnEu5qeBzRhCMQ6d35K3bcjE7ygoNvKr4aaj+OnxqRfNXQ5R0
+Wp1MC6IGlGJHOZPdLKk6dUTp1XL2kknD6n7Ct+lTEvzMS/14KFPnRRvYMwCgiCp+
+HTNIUraM06kDLQ6hRIF9qMsEAIlH+Xk+n6J4VtSbbigUtrR2fd0STbSSe2ApYSuf
+4E62UHkEU46OuUpyfT9mKcFiZ2NVgs57qMi2SH7CMalWELEA9S4TYpnBieoI8qIW
+HV/Pkvm15Qkzu6yqqj2CH6VKhaZbBF2X1QIpR23yJHvjJHnC+4No5O5hUM8h+Tkd
+KXfNBACwScjI4itL1JtNMrhHUqyZjZFgt5rgcHxgrmy4NaeoZl2b2ecxs0PT9iuV
+hQvY4pfsf00VXqRiU18W0Va6QMHXdeVvD9uwVeBWJgUpA35u+653iX0Hf3Qj1eF5
+uCnPA0SffEc+6L2CFBnqFzmsWb5EAp6aGagCFn6tSqQnUBWj67QyTWlrZSBNdWVs
+bGVyIChDT0RFIFNJR05JTkcgS0VZKSA8bXlrZWVAYXBhY2hlLm9yZz6IYAQTEQIA
+IAUCTH+7AwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEJZF8wn3n2R4xWAA
+n1/8Ui0n4eL2wEJ77l2Ggq6nwJJKAJwJS2KA3cYD778VHivYEbyW2590i7kCDQRM
+f7sFEAgAn67e8a3yLus/+d53GWwQojADkLEGwjbkjma9xRnC9AbyBTaC8VwHssQl
+rrbHFzqHToXrXq5Ur3xaUFfOvuRkZUY7PlHAQvdMn24HYQNhy4xue2kxG33pCbYA
+ufGUROMzOHHW8wuPO6PAT9/OOzttTaeLuf9c7522uCqdYJ0hxUBCr+9KCkCutiA8
+FCTpOOdEfPgRY6fbqR+47J06vyxMfJXjCmo0ARO1mNIJlq0/V++CDqKonXuEtAfu
+vCHvhCyCmUsqcT9CFwCoONps9xCoD1a5BCVV3QK2a8R+1wiDhrGMlowK++hm5wJH
+bBODwfIBIKB8lYEFGVRKo/FQEM9oRwADBQf8DaHrSw3ew5xYuLUrQMs805w+T4sn
+KG6pti7m+7ryLNKb507LIYd88eE54KQwAZk5SBCdodIXfgvbno8CJQ1ZzNkOaAKS
+iK3f8xPTalvuYE41T7b88L28OA7IBhUxL+cUV3XZgVx8kEZ8kXfNN7dLaQMrXuZp
+lp/6IgearzkkaQtkJc7cPKOmT5gV3nFreWVhaJsi7X2ibmb30ZfOYHYV2ElYvETu
+aWPj+H7ywEPaDCQBwS0ssBlN8PHj5HV9y3S4dom+re60W/BpL8yYYp4oN0EnyDl8
+kLtfrhYLrXSsVH2lHMW5JrsoNw5Tb7OLe9EhJpCWLU1q4RTirOnG6AdGIIhJBBgR
+AgAJBQJMf7sFAhsMAAoJEJZF8wn3n2R4mroAn14Ke+rRSlZlKsuGp8jA0We63D2n
+AJwLuG2UiaEpLJ5jZddvzvuZ1xe+/w==
+=TzuJ
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/check_release_matches_tag.sh b/check_release_matches_tag.sh
new file mode 100755
index 0000000..b8bb53b
--- /dev/null
+++ b/check_release_matches_tag.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# check that a Sling staged release matches the corresponding svn tags
+#
+# usage:
+# sh check_release_matches_tag.sh 004 /tmp/sling-staging
+#
+# Note that differences in line endings are not ignored by default.
+# doing "EXPORT DIFFOPT=-b" before calling this ignores them.
+BASE=$2/$1/org/apache/sling
+TAGBASE=http://svn.apache.org/repos/asf/sling/tags/
+
+function fail() {
+ echo $* >&2
+ exit 1
+}
+
+function check() {
+ TAG=$TAGBASE/$1
+ ZIP=$PWD/$2
+ WORKDIR=workdir/$1/$(date +%s)
+ CUR=$PWD
+ echo
+ echo "Checking $ZIP against $TAG"
+ mkdir -p $WORKDIR
+ cd $WORKDIR > /dev/null
+ unzip $ZIP > /dev/null
+ ZIPDIR=$PWD/$(ls)
+ svn export $TAG svnexport > /dev/null
+ cd svnexport > /dev/null
+ diff $DIFFOPT -r . $ZIPDIR
+ cd $CUR
+
+}
+
+CURDIR=`pwd`
+cd $BASE || fail "Cannot cd to $BASE"
+
+find . -name *.zip | cut -c 3- | sed 's/\// /g' | while read line
+do
+ set $line
+ TAG=${1}-${2}
+ ZIP=${1}/${2}/${3}
+ check $TAG $ZIP
+done
+openssl sha1 $(find . -name *.zip)
+cd $CURDIR
diff --git a/check_staged_release.sh b/check_staged_release.sh
new file mode 100755
index 0000000..02a9c41
--- /dev/null
+++ b/check_staged_release.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+STAGING=${1}
+DOWNLOAD=${2:-/tmp/sling-staging}
+mkdir ${DOWNLOAD} 2>/dev/null
+
+if [ -z "${STAGING}" -o ! -d "${DOWNLOAD}" ]
+then
+ echo "Usage: check_staged_release.sh <staging-number> [temp-directory]"
+ exit
+fi
+
+if [ ! -e "${DOWNLOAD}/${STAGING}" ]
+then
+ echo "################################################################################"
+ echo " DOWNLOAD STAGED REPOSITORY "
+ echo "################################################################################"
+
+ wget -e "robots=off" --wait 1 -nv -r -np "--reject=html" "--follow-tags=" \
+ -P "${DOWNLOAD}/${STAGING}" -nH "--cut-dirs=3" \
+ "https://repository.apache.org/content/repositories/orgapachesling-${STAGING}/org/apache/sling/"
+
+else
+ echo "################################################################################"
+ echo " USING EXISTING STAGED REPOSITORY "
+ echo "################################################################################"
+ echo "${DOWNLOAD}/${STAGING}"
+fi
+
+echo "################################################################################"
+echo " CHECK SIGNATURES AND DIGESTS "
+echo "################################################################################"
+
+for i in `find "${DOWNLOAD}/${STAGING}" -type f | grep -v '\.\(asc\|sha1\|md5\)$'`
+do
+ f=`echo $i | sed 's/\.asc$//'`
+ echo "$f"
+ gpg --verify $f.asc 2>/dev/null
+ if [ "$?" = "0" ]; then CHKSUM="GOOD"; else CHKSUM="BAD!!!!!!!!"; fi
+ if [ ! -f "$f.asc" ]; then CHKSUM="----"; fi
+ echo "gpg: ${CHKSUM}"
+
+ for tp in md5 sha1
+ do
+ if [ ! -f "$f.$tp" ]
+ then
+ CHKSUM="----"
+ else
+ A="`cat $f.$tp 2>/dev/null`"
+ B="`openssl $tp < $f 2>/dev/null | sed 's/.*= *//' `"
+ if [ "$A" = "$B" ]; then CHKSUM="GOOD (`cat $f.$tp`)"; else CHKSUM="BAD!! : $A not equal to $B"; fi
+ fi
+ echo "$tp : ${CHKSUM}"
+ done
+
+done
+
+if [ -z "${CHKSUM}" ]; then echo "WARNING: no files found!"; fi
+
+echo "################################################################################"
+
+
[sling-tooling-release] 05/29: Fix sync_obr_with_dist.sh
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit d7bf8c1ba3899364d95e155eadef995b3d4dad0c
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Mon Aug 3 12:41:46 2015 +0000
Fix sync_obr_with_dist.sh
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1693893 13f79535-47bb-0310-9956-ffa450edef68
---
sync_obr_with_dist.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sync_obr_with_dist.sh b/sync_obr_with_dist.sh
index c3d9276..49318dd 100755
--- a/sync_obr_with_dist.sh
+++ b/sync_obr_with_dist.sh
@@ -77,5 +77,5 @@ for POM_FILE in $(ls -1 $DIST_CHECKOUT/*.pom); do
fi
echo "Adding $OBR_KEY to $OBR_FILE"
- mvn -q org.apache.felix:maven-bundle-plugin:deploy-file -Dfile=$DIST_CHECKOUT/$JAR_FILE -DpomFile=$DIST_CHECKOUT/$POM_FILE -DbundleUrl=http://repo1.maven.org/maven2/org/apache/sling/$ARTIFACT_ID-$VERSION.jar -Durl=file://$SITE_CHECKOUT/trunk/content/obr -DprefixUrl=http://repo1.maven.org/maven2 -DremoteOBR=sling.xml
+ mvn -q org.apache.felix:maven-bundle-plugin:deploy-file -Dfile=$DIST_CHECKOUT/$JAR_FILE -DpomFile=$DIST_CHECKOUT/$POM_FILE -DbundleUrl=http://repo1.maven.org/maven2/org/apache/sling/$ARTIFACT_ID/$VERSION/$ARTIFACT_ID-$VERSION.jar -Durl=file://$SITE_CHECKOUT/trunk/content/obr -DprefixUrl=http://repo1.maven.org/maven2 -DremoteOBR=sling.xml
done
[sling-tooling-release] 17/29: include javadoc for Sling Servlet
annotations
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 7ea17a09e9fc1418d42b698178bca8d4399b2c9d
Author: Konrad Windszus <ko...@netcentric.biz>
AuthorDate: Thu Jun 21 16:28:37 2018 +0200
include javadoc for Sling Servlet annotations
---
generate_javadoc_for_release.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 9c48fea..78cdb87 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -23,6 +23,7 @@ artifacts=$(awk -F '/' '/org.apache.sling\// { print $2 ":" $3 }' < $WORKDIR/sli
# add additional artifacts which are not part of the launchpad
# https://issues.apache.org/jira/browse/SLING-6766
artifacts+=" adapter-annotations:1.0.0"
+artifacts+="org.apache.sling.servlets.annotations:1.0.0"
# checkout tags
for artifact in $artifacts; do
@@ -108,6 +109,8 @@ fi
echo "Starting javadoc generation"
pushd $WORKDIR
+# This might fail due to duplications in the classpath (see https://issues.apache.org/jira/browse/SLING-6766?focusedCommentId=16358298&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16358298)
+# The classpath order is unfortunately not predictable with m-j-p 3.0.0 (https://issues.apache.org/jira/browse/MJAVADOC-513)
mvn -DexcludePackageNames="*.impl:*.internal:*.jsp:sun.misc:*.juli:*.testservices:*.integrationtest:*.maven:javax.*:org.osgi.*" \
org.apache.maven.plugins:maven-javadoc-plugin:3.0.0:aggregate
popd
[sling-tooling-release] 27/29: added a simple script to update the
Apache Reporter service after a release
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit e9f1f4c3b640fe70083b99659085de0c0b2f1541
Author: Radu Cotescu <ra...@apache.org>
AuthorDate: Mon Jan 28 17:10:44 2019 +0100
added a simple script to update the Apache Reporter service after a release
---
update_reporter.config | 2 ++
update_reporter.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+)
diff --git a/update_reporter.config b/update_reporter.config
new file mode 100644
index 0000000..9b3c689
--- /dev/null
+++ b/update_reporter.config
@@ -0,0 +1,2 @@
+APACHE_USER="<your user goes here>"
+APACHE_PASSWORD="<your password goes here>"
diff --git a/update_reporter.sh b/update_reporter.sh
new file mode 100755
index 0000000..94bed0c
--- /dev/null
+++ b/update_reporter.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+function display_usage() {
+ echo "$0 <path_to_file_containing_release_names>"
+}
+
+source update_reporter.config
+if [[ -z "${APACHE_USER}" ]]; then
+ echo "Please set the APACHE_USER variable in the update_reporter.config file."
+ exit 1
+fi
+if [[ -z "${APACHE_PASSWORD}" ]]; then
+ echo "Please set the APACHE_PASSWORD variable in the update_reporter.config file."
+ exit 1
+fi
+if [[ -z "$1" ]]; then
+ echo "Please provide a file with the release names, one release name per line."
+ display_usage
+ exit 1
+fi
+BASIC="$(echo -n "$APACHE_USER:$APACHE_PASSWORD" | base64)"
+DATE="`date '+%Y-%m-%d'`"
+EPOCH="`date '+%s'`"
+while IFS='' read -r line || [[ -n "$line" ]]; do
+ release=${line// /+}
+ status=`curl -s -o /dev/null -w "%{http_code}" 'https://reporter.apache.org/addrelease.py' \
+ -H 'Connection: keep-alive' \
+ -H 'Cache-Control: max-age=0' \
+ -H "Authorization: Basic ${BASIC}" \
+ -H 'Origin: https://reporter.apache.org' \
+ -H 'Upgrade-Insecure-Requests: 1' \
+ -H 'Content-Type: application/x-www-form-urlencoded' \
+ -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.20 Safari/537.36' \
+ -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' \
+ -H 'Referer: https://reporter.apache.org/addrelease.html?sling' \
+ -H 'Accept-Encoding: gzip, deflate, br' \
+ --data "date=${EPOCH}&committee=sling&version=${release}&xdate=${DATE}" --compressed`
+ if [[ "$status" -ne 200 ]]; then
+ echo "Failed to update ${line}: got status code ${status}"
+ exit 1
+ fi
+done < "$1"
+
+
+
[sling-tooling-release] 13/29: SLING-6766 include all modules in
the build (even the ones which do not have sling in their artifact names)
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit a671445dcbcf9e704ec0c1b4457335ca0d7a1113
Author: Konrad Windszus <ko...@netcentric.biz>
AuthorDate: Tue Feb 6 17:05:52 2018 +0100
SLING-6766 include all modules in the build (even the ones which do not have sling in their artifact names)
---
generate_javadoc_for_release.sh | 4 ++--
...overy.impl-1.0.10 => sling-org.apache.sling.discovery.impl-1.0.10} | 0
...scovery.impl-1.1.8 => sling-org.apache.sling.discovery.impl-1.1.8} | 0
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 86457ff..5408b7a 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -28,10 +28,10 @@ artifacts+="adapter-annotations:1.0.0"
for artifact in $artifacts; do
artifact_name=$(echo $artifact | sed 's/:.*//')
artifact_version=$(echo $artifact | sed 's/.*://')
- artifact_dir="${artifact_name}-${artifact_version}"
+ branch_name="${artifact_name}-${artifact_version}"
+ artifact_dir="sling-${artifact_name}-${artifact_version}"
artifact_repo=$(echo $artifact_name | tr '.' '-')
artifact_repo="sling-${artifact_repo}"
- branch_name=${artifact_dir}
# - don't document Slingshot sample
# - threaddump was renamed and tag history is lost
diff --git a/patches/org.apache.sling.discovery.impl-1.0.10 b/patches/sling-org.apache.sling.discovery.impl-1.0.10
similarity index 100%
rename from patches/org.apache.sling.discovery.impl-1.0.10
rename to patches/sling-org.apache.sling.discovery.impl-1.0.10
diff --git a/patches/org.apache.sling.discovery.impl-1.1.8 b/patches/sling-org.apache.sling.discovery.impl-1.1.8
similarity index 100%
rename from patches/org.apache.sling.discovery.impl-1.1.8
rename to patches/sling-org.apache.sling.discovery.impl-1.1.8
[sling-tooling-release] 26/29: generate_javadoc_for_release: set
notimestamp=true
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 4ac73f030b439aa1da4d159ee427c21ceb609a4d
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Nov 13 14:54:12 2018 +0100
generate_javadoc_for_release: set notimestamp=true
This makes incremental publishing of javadoc much simpler, as unchanged files will
no longer have spurious changes due to the hidden timestamp comment or the
'<meta name="date">' header.
---
generate_javadoc_for_release.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generate_javadoc_for_release.sh b/generate_javadoc_for_release.sh
index 721983c..445926e 100755
--- a/generate_javadoc_for_release.sh
+++ b/generate_javadoc_for_release.sh
@@ -112,7 +112,7 @@ pushd $WORKDIR
# This might fail due to duplications in the classpath (see https://issues.apache.org/jira/browse/SLING-6766?focusedCommentId=16358298&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16358298)
# The classpath order is unfortunately not predictable with m-j-p 3.0.0 (https://issues.apache.org/jira/browse/MJAVADOC-513)
mvn -DexcludePackageNames="*.impl:*.internal:*.jsp:sun.misc:*.juli:*.testservices:*.integrationtest:*.maven:javax.*:org.osgi.*" \
- org.apache.maven.plugins:maven-javadoc-plugin:3.0.0:aggregate
+ org.apache.maven.plugins:maven-javadoc-plugin:3.0.0:aggregate -Dnotimestamp=true
popd
echo "Generated Javadocs can be found in $WORKDIR/target/site/apidocs/"
[sling-tooling-release] 19/29: SLING-7216 - [nice-to-have] Add a
CODE_OF_CONDUCT file to every module
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit b79bff193583ca5bd1bfc44bf4792d2787f79e8b
Author: Radu Cotescu <co...@adobe.com>
AuthorDate: Wed Sep 19 18:04:04 2018 +0200
SLING-7216 - [nice-to-have] Add a CODE_OF_CONDUCT file to every module
---
CODE_OF_CONDUCT.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..52f21cb
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,4 @@
+Apache Software Foundation Code of Conduct
+====
+
+Being an Apache project, Apache Sling adheres to the Apache Software Foundation's [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html).
[sling-tooling-release] 18/29: check_staged_release: reject
index.html.tmp
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 3f304fe92bcb74ba15c8ebaf770b0b80757e4078
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Tue Aug 14 18:03:20 2018 +0200
check_staged_release: reject index.html.tmp
For some time I noticed that wget places index.html.tmp files in the
download directory. These are useless and show be rejected.
---
check_staged_release.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/check_staged_release.sh b/check_staged_release.sh
index 02a9c41..ca2c4d8 100755
--- a/check_staged_release.sh
+++ b/check_staged_release.sh
@@ -16,7 +16,7 @@ then
echo " DOWNLOAD STAGED REPOSITORY "
echo "################################################################################"
- wget -e "robots=off" --wait 1 -nv -r -np "--reject=html" "--follow-tags=" \
+ wget -e "robots=off" --wait 1 -nv -r -np "--reject=html,index.html.tmp" "--follow-tags=" \
-P "${DOWNLOAD}/${STAGING}" -nH "--cut-dirs=3" \
"https://repository.apache.org/content/repositories/orgapachesling-${STAGING}/org/apache/sling/"
[sling-tooling-release] 04/29: sync_obr_with_dist.sh: tolerate more
than one match in the OBR file
Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-tooling-release.git
commit 7014b509f46640397552aba45dfae29bd10082b7
Author: Robert Munteanu <ro...@apache.org>
AuthorDate: Fri Apr 24 15:13:51 2015 +0000
sync_obr_with_dist.sh: tolerate more than one match in the OBR file
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1675886 13f79535-47bb-0310-9956-ffa450edef68
---
sync_obr_with_dist.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sync_obr_with_dist.sh b/sync_obr_with_dist.sh
index fd32ac4..c3d9276 100755
--- a/sync_obr_with_dist.sh
+++ b/sync_obr_with_dist.sh
@@ -71,7 +71,7 @@ for POM_FILE in $(ls -1 $DIST_CHECKOUT/*.pom); do
# check for artifact presence in sling.xml
OBR_KEY="$ARTIFACT_ID/$VERSION"
ALREADY_EXISTS=$(grep -c $OBR_KEY $OBR_FILE)
- if [ $ALREADY_EXISTS = 1 ]; then
+ if [ $ALREADY_EXISTS != 0 ]; then
# no need to process files already included
continue
fi