This is an automated email from the ASF dual-hosted git repository.

houshengbo pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/incubator-openwhisk-release.git


The following commit(s) were added to refs/heads/master by this push:
     new 5bac4a1  Generate Release Notes of OpenWhisk Auto generated change logs
5bac4a1 is described below

commit 5bac4a1a5cb7545e6b37ef50b580a9e972bcd918
Author: Daisy Guo <guoyi...@cn.ibm.com>
AuthorDate: Tue Mar 13 15:59:09 2018 +0800

    Generate Release Notes of OpenWhisk
    Auto generated change logs
---
 tools/download_source_code.sh                      |  2 +-
 ...ad_source_code.sh => generate_release_notes.sh} | 51 +++++++++++-----------
 tools/lib/release_template.md                      | 23 ++++++++++
 tools/package_source_code.sh                       |  4 +-
 4 files changed, 52 insertions(+), 28 deletions(-)

diff --git a/tools/download_source_code.sh b/tools/download_source_code.sh
index 7a403bb..f019e4e 100755
--- a/tools/download_source_code.sh
+++ b/tools/download_source_code.sh
@@ -33,7 +33,7 @@ function git_clone_repo() {
     git clone --depth $clone_depth -b $BRANCH $REPO 
$OPENWHISK_SOURCE_DIR/$PROJECT_NAME
     cd $OPENWHISK_SOURCE_DIR/$PROJECT_NAME
     git reset --hard $HASH
-    rm -rf .git
+    #rm -rf .git
 }
 
 rm -rf $OPENWHISK_SOURCE_DIR/*
diff --git a/tools/download_source_code.sh b/tools/generate_release_notes.sh
similarity index 53%
copy from tools/download_source_code.sh
copy to tools/generate_release_notes.sh
index 7a403bb..feaf037 100755
--- a/tools/download_source_code.sh
+++ b/tools/generate_release_notes.sh
@@ -16,42 +16,41 @@
 # limitations under the License.
 #
 
-set -e
+echo "Generate release notes and collect change logs of all projects."
 
 WORK_DIR=${1:-"$HOME"}
 
 SCRIPTDIR="$(cd $(dirname "$0")/ && pwd)"
 source "$SCRIPTDIR/load_config.sh" $1
+PARENTDIR="$(dirname "$SCRIPTDIR")"
 
-clone_depth=${2:-"100"}
+FILE="$WORK_DIR/releaseNotes.md"
+TEMPLATE="$SCRIPTDIR/lib/release_template.md"
 
-function git_clone_repo() {
-    PROJECT_NAME=$1
-    HASH=$2
-    REPO=$3
-    BRANCH=$4
-    git clone --depth $clone_depth -b $BRANCH $REPO 
$OPENWHISK_SOURCE_DIR/$PROJECT_NAME
-    cd $OPENWHISK_SOURCE_DIR/$PROJECT_NAME
-    git reset --hard $HASH
-    rm -rf .git
-}
+# Remove file if exists
+if [ -f "$FILE" ] ; then
+  rm $FILE
+fi
 
-rm -rf $OPENWHISK_SOURCE_DIR/*
-
-CONFIG=$(read_file $SCRIPTDIR/config.json)
-repos=$(echo $(json_by_key "$CONFIG" "RepoList") | sed 's/[][]//g')
+# Read the template
+while IFS= read -r aline; do
+  printf "%s\n" "$aline" >> $FILE
+done <$TEMPLATE
 
+# Print change logs
 for repo in $(echo $repos | sed "s/,/ /g")
 do
     repo_name=$(echo "$repo" | sed -e 's/^"//' -e 's/"$//')
-    HASH_KEY=${repo_name//-/_}.hash
-    REPO_KEY=${repo_name//-/_}.repository
-    REPO_BRANCH=${repo_name//-/_}.branch
-    HASH=$(json_by_key "$CONFIG" $HASH_KEY)
-    REPO=$(json_by_key "$CONFIG" $REPO_KEY)
-    BRANCH=$(json_by_key "$CONFIG" $REPO_BRANCH)
-    if [ "$HASH" != "null" ]; then
-        echo "The hash for $repo_name is $HASH"
-        git_clone_repo $repo_name $HASH $REPO $BRANCH
-    fi
+    echo "Collect logs in the repository $repo_name"
+    cd $OPENWHISK_SOURCE_DIR/$repo_name
+
+    printf "\n%s\n\n" "## $repo_name" >> $FILE
+    git log --pretty=format:"- %s" --date=short | while read line
+    do
+      PRNUMBER=$(echo $line | egrep -o '\(#[[:digit:]]+\)') # format like 
(#1234)
+      PRN=$(echo $PRNUMBER | egrep -o '[[:digit:]]+') # format like 1234
+      
PRLINK="([#$PRN](https://github.com/apache/incubator-$repo_name/pull/$PRN))"
+      line=${line/$PRNUMBER/$PRLINK}
+      printf "%s\n" "$line" >> $FILE
+    done
 done
diff --git a/tools/lib/release_template.md b/tools/lib/release_template.md
new file mode 100644
index 0000000..d0aeeea
--- /dev/null
+++ b/tools/lib/release_template.md
@@ -0,0 +1,23 @@
+<!--
+#
+# 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.
+#
+-->
+
+# OpenWhisk Release Notes
+
+This is OpenWhisk Release.
+
+# Change logs
diff --git a/tools/package_source_code.sh b/tools/package_source_code.sh
index ed74a8c..d04307a 100755
--- a/tools/package_source_code.sh
+++ b/tools/package_source_code.sh
@@ -33,5 +33,7 @@ rsync -rtp --exclude .*\* --exclude bin\* --exclude build\* 
$OPENWHISK_SOURCE_DI
 for repo in $(echo $repos | sed "s/,/ /g")
 do
     repo_name=$(echo "$repo" | sed -e 's/^"//' -e 's/"$//')
-    cd $OPENWHISK_CLEANED_SOURCE_DIR/$repo_name && tar czf 
${CURRENT_VERSION_DIR}/${repo_name}-${version}-sources.tar.gz .
+    cd $OPENWHISK_CLEANED_SOURCE_DIR/$repo_name
+    rm -rf .git
+    tar czf ${CURRENT_VERSION_DIR}/${repo_name}-${version}-sources.tar.gz .
 done

-- 
To stop receiving notification emails like this one, please contact
houshen...@apache.org.

Reply via email to