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)
+
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](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 -->&#xa;</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
+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
+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)
+
+mQGiBEiBwKARBADwHzaGyqRANC+sG8WaPQXX7WBKpKpDSFuYB8IcZM/EEXVvAwO5
+vJR2xTs3Vqjz6VJPDkUaNeYANKjuEbMT7dCfNgTe2ZTU2zAuC5+SMwtfESwTceUl
+5XB2vueHxiVHHutXAJR9FBt96oO/+mvBSeyjAymDPF4uQ2+fyS/xvqzDgwCglcIz
+A3oCJvKjU10QOIjNfdTcQnsD/iwimsGjnwvnfNYmjxAIg/MKZBTuoDpatIbw7kmr
+73I0M2JYWqwwfHCoFZmbMQ47IMW3LNQLecQpP9wJ0g60hbB/KFfxfabMVKJzexnp
+uPqmkpVblIc7yFPYknr74LVzgPfpKBqi+RhwNax3w1DQAwauwPWaC+VbiM8KG4v8
+G0uhBACc6vKTLTtxDP2qD82JE1IoWr6riDVRJ9CLQ6+DxiQmbNQtu4DuVq7yGpzb
+EYox3Q1v6zobJSyaW4Sd+8Zlcb+6e4R9PPmWOHJpVYp67UrGTEgyzvrgskkOSTzr
+x1q1OnhtyFxLqBG51niM7ZjucxqZGyPUFJ9BdkxwpZLtrFnxaLQbSWFuIEJvc3Rv
+biA8aWViQGFwYWNoZS5vcmc+iHwEExECADwCGyMGCwkIBwMCBBUCCAMEFgIDAQIe
+AQIXgAUJC17h2AIZAQUCSnqlqxIYaGtwOi8vcGdwLm1pdC5lZHUACgkQsg0ROUDk
+fhR4kgCfW1VAmbH/Z32q2+W6zpxnd7OE81EAnji4JCNDFegIc2UKg14F5yBOTH96
+iEYEEBECAAYFAkn5ezQACgkQyceSTlEEfWbrAQCZATwOT/Tt7qa1ykFmpEwErBk/
+cakAoIYuVb10+WlKW0i0k8/XKWvARE8RtCBJYW4gQm9zdG9uIDxpYW5AY2FyZXQu
+Y2FtLmFjLnVrPoh5BBMRAgA5AhsjBQkLXuHYBgsJCAcDAgQVAggDBBYCAwECHgEC
+F4AFAkp6pbQSGGhrcDovL3BncC5taXQuZWR1AAoJELINETlA5H4U9EwAn3KJOiRd
+nW2Uajoa8i+d2IFNIfxRAJ9hrqWJGZWsuqWcKxQ4BtFxkSXd+LQaSWFuIEJvc3Rv
+biA8aWViQHRmZC5jby51az6IeQQTEQIAOQIbIwUJC17h2AYLCQgHAwIEFQIIAwQW
+AgMBAh4BAheABQJKeqW4Ehhoa3A6Ly9wZ3AubWl0LmVkdQAKCRCyDRE5QOR+FF/W
+AJ9rzD5S7tcBN8dQCKNs0pmzUmeyLQCfYFTf0r8z3TERjQOnqjwHKuULD5i5BA0E
+SIHAoBAQAOPkWKIWQGcPPHcgRk5wRNjt8msaGC9s+8SMjBvKQe0nY9Wjm91Flv/J
+wGCUlPdiIHRb61KH+ERo/SCkDbR9jI6F6Wck68j1Qd4R1+4cYTFSo+YWwdeeT29D
+94erZAshUKY4ISSQV02tYSm1di1sxB+GaOC9m097hd1/X9Upu1sbL7teP7f23gbx
+rBvPGMIVmZybUdIxb+DOCnfYbgJnkjywxbeaJAHA64FeeRsSc+g6yE+Xfd54Auz+
+heCS01CGdWzbNo5JKjqQxn113tFupzEJaPNyZSHoUe0XND//vBxIUzzpcl7rbzrY
+UuxMLqrKLLGZVztbLLRpme5lh/sQLEjWH76hgikKt9oI9xXRFFJox9bJNJC4V22X
+zxT6syWVGI2Yh8xkUw96Y4GGUv8ppKSbNLikV7ghVeJ7RIhkp85x9a8i5JmNXD5l
+uUqjK6SHsWb9CtVcS9LvwzFrh6h8aGbY+7UeACkd8MKGu/h+WOR+vUWXs0/uNqaH
+9wnI8TJ0HjKiLolip3KfJbUXs1jtxTZOPK/Ye7cM5QvgE+sUX7ysf8H1yWswtdQX
+rrbcp8YEPpK9hx9mObir+K2kh5Hi08fTZ3vowks8kjUlXiJ/O7L2ZD98gole4b7j
+PSSgxqe4hJ4cli38GUiJf5uwyd7fVKIoBNd0mxonr1B3RRuJasfLAAMGD/9GsPmk
+LaBWpNYCJ/umPfCh748TbBG+2zHuYIryB9+Ap+w2Z/V6pkEtm71GFOWG3dp6Hmui
+mJDFrYukzwwaeDGAyFA9ef05att0xh6h1gY4eKhDfQwr6nYXkDoI/EIqcPl+uJ5F
+bP+fX9LbsqXp96yBuYPGVANb0pojb8XLAzMwO2Bp2w/jEZMkJ3zrLPacFlOJquWp
+yd6MTbNmSgclybge7YyD72F4OtItkrFCj6QoMuKzXC9cFV+1oTUSxvZNQtf/21pa
+ohyZKzNNWzuzRReXlB5Gk47t2bzIEWCHRLi7JbmzIax90QvgFvfApeg97StF59mi
+TFs7E62pQRpMFy6ee4yROUld81HdHHhY+ooYaYnnbyeWk67d4y1E+l1Yh5+xBNPK
+chST80j1qdO7zJ8gP4+4WR7KnbrM4Gpr/7gdr9SYvERgITdqBKsJzRDNHZo+qESt
+Upn1TU5aZiAIfWKKo6xLA6Vv2T4pqnuzUDZR1JUqGSH2CiO6nIDeHDBejDLYmVvq
+7aav+YUGvykim+2R+r1tLuHflEhZVVsYocHf2nJup6/9S4wBUKUl5/7fgy/xT2C6
+exHLcj7RjkkJH0nWw7SDS5l30ceEUB3n5txdwd6KlM5cBcWYWL7eOmiuV5xJ1nVv
+H/toSWxLNcq6MfZPt1ORwUUYO7Uu4QKpefFyBYhPBBgRAgAPAhsMBQJKeqFvBQkL
+XuH+AAoJELINETlA5H4UUJMAn1axb6AFv0ElOkWoZckwuq8grfhvAJ0cACpjArcO
+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