You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tz...@apache.org on 2020/02/07 04:47:49 UTC

[flink-statefun] branch master updated (9103db9 -> 6b63a6f)

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

tzulitai pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/flink-statefun.git.


    from 9103db9  [FLINK-15910] [legal] Add NOTICE and LICENSE files to statefun-flink-distribution
     new 39b3a9c  [FLINK-15931] [release] Add release tool scripts
     new 7af70a0  [FLINK-15931] [git] Ignore temporary release files generated with release scripts
     new 6b63a6f  [hotfix] [build] Let modules always inherit parent POM version

The 3 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:
 .gitignore                                         |  3 +
 statefun-docs/pom.xml                              |  1 -
 statefun-examples/pom.xml                          |  1 -
 .../statefun-ridesharing-example-functions/pom.xml |  2 +-
 .../statefun-ridesharing-example-simulator/pom.xml |  2 +-
 statefun-flink/statefun-flink-launcher/pom.xml     |  1 -
 tools/releasing/create_release_branch.sh           | 62 ++++++++++++++++
 tools/releasing/create_source_release.sh           | 83 ++++++++++++++++++++++
 .../releasing/deploy_staging_jars.sh               | 41 +++++++----
 tools/releasing/update_branch_version.sh           | 74 +++++++++++++++++++
 10 files changed, 253 insertions(+), 17 deletions(-)
 create mode 100755 tools/releasing/create_release_branch.sh
 create mode 100755 tools/releasing/create_source_release.sh
 copy .travis.yml => tools/releasing/deploy_staging_jars.sh (51%)
 mode change 100644 => 100755
 create mode 100755 tools/releasing/update_branch_version.sh


[flink-statefun] 02/03: [FLINK-15931] [git] Ignore temporary release files generated with release scripts

Posted by tz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-statefun.git

commit 7af70a0d639283e532a7377173990aa54a1fc98f
Author: Tzu-Li (Gordon) Tai <tz...@apache.org>
AuthorDate: Thu Feb 6 14:56:08 2020 +0800

    [FLINK-15931] [git] Ignore temporary release files generated with release scripts
    
    This closes #14.
---
 .gitignore | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.gitignore b/.gitignore
index 1f6a95a..7a8f27a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,6 @@ target
 _build
 /dist/html/
 build-linter
+
+# temporary release files
+release/


[flink-statefun] 03/03: [hotfix] [build] Let modules always inherit parent POM version

Posted by tz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-statefun.git

commit 6b63a6fbd13d15b969233897abaf5b233a5fe63c
Author: Tzu-Li (Gordon) Tai <tz...@apache.org>
AuthorDate: Fri Feb 7 11:58:00 2020 +0800

    [hotfix] [build] Let modules always inherit parent POM version
---
 statefun-docs/pom.xml                                                   | 1 -
 statefun-examples/pom.xml                                               | 1 -
 .../statefun-ridesharing-example-functions/pom.xml                      | 2 +-
 .../statefun-ridesharing-example-simulator/pom.xml                      | 2 +-
 statefun-flink/statefun-flink-launcher/pom.xml                          | 1 -
 5 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/statefun-docs/pom.xml b/statefun-docs/pom.xml
index 2ca737b..ea7ac1a 100644
--- a/statefun-docs/pom.xml
+++ b/statefun-docs/pom.xml
@@ -28,7 +28,6 @@ under the License.
 
     <artifactId>statefun-docs</artifactId>
     <name>statefun-docs</name>
-    <version>1.1-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <dependencies>
diff --git a/statefun-examples/pom.xml b/statefun-examples/pom.xml
index d2a1ae9..7046f59 100644
--- a/statefun-examples/pom.xml
+++ b/statefun-examples/pom.xml
@@ -28,7 +28,6 @@ under the License.
 
     <artifactId>statefun-examples</artifactId>
     <name>statefun-examples</name>
-    <version>1.1-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <modules>
diff --git a/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-functions/pom.xml b/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-functions/pom.xml
index 607d9ad..8c736cf 100644
--- a/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-functions/pom.xml
+++ b/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-functions/pom.xml
@@ -32,7 +32,7 @@ under the License.
         <dependency>
             <groupId>org.apache.flink</groupId>
             <artifactId>statefun-ridesharing-protocol</artifactId>
-            <version>1.1-SNAPSHOT</version>
+            <version>${project.version}</version>
         </dependency>
 
         <!-- sdk -->
diff --git a/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-simulator/pom.xml b/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-simulator/pom.xml
index ced260c..c62813a 100644
--- a/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-simulator/pom.xml
+++ b/statefun-examples/statefun-ridesharing-example/statefun-ridesharing-example-simulator/pom.xml
@@ -54,7 +54,7 @@ under the License.
         <dependency>
             <groupId>org.apache.flink</groupId>
             <artifactId>statefun-ridesharing-protocol</artifactId>
-            <version>1.1-SNAPSHOT</version>
+            <version>${project.version}</version>
         </dependency>
 
         <!-- spring boot -->
diff --git a/statefun-flink/statefun-flink-launcher/pom.xml b/statefun-flink/statefun-flink-launcher/pom.xml
index 33616f9..b593870 100644
--- a/statefun-flink/statefun-flink-launcher/pom.xml
+++ b/statefun-flink/statefun-flink-launcher/pom.xml
@@ -28,7 +28,6 @@ under the License.
     </parent>
 
     <artifactId>statefun-flink-launcher</artifactId>
-    <version>1.1-SNAPSHOT</version>
 
     <dependencies>
         <!-- Flink -->


[flink-statefun] 01/03: [FLINK-15931] [release] Add release tool scripts

Posted by tz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-statefun.git

commit 39b3a9c3921f816b637b261c04154b9e4888e41a
Author: Tzu-Li (Gordon) Tai <tz...@apache.org>
AuthorDate: Thu Feb 6 12:23:28 2020 +0800

    [FLINK-15931] [release] Add release tool scripts
    
    This adds utility scripts for the following functionality:
    * Create a new release branch
    * Update POM versions in current branch, and creates a commit
    * Create a source release package
    * Deploying Maven artifacts to Apache staging area
---
 tools/releasing/create_release_branch.sh | 62 ++++++++++++++++++++++++
 tools/releasing/create_source_release.sh | 83 ++++++++++++++++++++++++++++++++
 tools/releasing/deploy_staging_jars.sh   | 46 ++++++++++++++++++
 tools/releasing/update_branch_version.sh | 74 ++++++++++++++++++++++++++++
 4 files changed, 265 insertions(+)

diff --git a/tools/releasing/create_release_branch.sh b/tools/releasing/create_release_branch.sh
new file mode 100755
index 0000000..e3f9fe9
--- /dev/null
+++ b/tools/releasing/create_release_branch.sh
@@ -0,0 +1,62 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+#
+
+##
+## Variables with defaults (if not overwritten by environment)
+##
+RELEASE_CANDIDATE=${RELEASE_CANDIDATE:-none}
+
+##
+## Required variables
+##
+RELEASE_VERSION=${RELEASE_VERSION}
+
+if [ -z "${RELEASE_VERSION}" ]; then
+	echo "RELEASE_VERSION was not set"
+	exit 1
+fi
+
+# fail immediately
+set -o errexit
+set -o nounset
+
+CURR_DIR=`pwd`
+BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+PROJECT_ROOT="${BASE_DIR}/../../"
+
+# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root
+if [ ! -f ${PROJECT_ROOT}/LICENSE ]; then
+    echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory."
+    exit 1
+fi
+
+###########################
+
+TARGET_BRANCH=release-${RELEASE_VERSION}
+if [ "${RELEASE_CANDIDATE}" != "none" ]; then
+  TARGET_BRANCH=${TARGET_BRANCH}-rc${RELEASE_CANDIDATE}
+fi
+
+cd ${PROJECT_ROOT}
+git checkout -b ${TARGET_BRANCH}
+
+RELEASE_COMMIT_HASH=`git rev-parse HEAD`
+echo "Done. Created a new release branch with commit hash ${RELEASE_COMMIT_HASH}."
+
+cd ${CURR_DIR}
\ No newline at end of file
diff --git a/tools/releasing/create_source_release.sh b/tools/releasing/create_source_release.sh
new file mode 100755
index 0000000..de8e07f
--- /dev/null
+++ b/tools/releasing/create_source_release.sh
@@ -0,0 +1,83 @@
+# 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.
+#
+
+##
+## Variables with defaults (if not overwritten by environment)
+##
+MVN=${MVN:-mvn}
+
+##
+## Required variables
+##
+RELEASE_VERSION=${RELEASE_VERSION}
+
+if [ -z "${RELEASE_VERSION}" ]; then
+	echo "RELEASE_VERSION is unset"
+	exit 1
+fi
+
+# fail immediately
+set -o errexit
+set -o nounset
+
+CURR_DIR=`pwd`
+BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+PROJECT_ROOT="$( cd "$( dirname "${BASE_DIR}/../../../" )" >/dev/null && pwd )"
+
+# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root
+if [ ! -f ${PROJECT_ROOT}/LICENSE ]; then
+    echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory."
+    exit 1
+fi
+
+if [ "$(uname)" == "Darwin" ]; then
+    SHASUM="shasum -a 512"
+else
+    SHASUM="sha512sum"
+fi
+
+###########################
+
+RELEASE_DIR=${PROJECT_ROOT}/release
+CLONE_DIR=${RELEASE_DIR}/flink-statefun-tmp-clone
+
+rm -rf ${RELEASE_DIR}
+mkdir ${RELEASE_DIR}
+
+# delete the temporary release directory on error
+trap 'rm -rf ${RELEASE_DIR}' ERR
+
+echo "Creating source package"
+
+# create a temporary git clone to ensure that we have a pristine source release
+git clone ${PROJECT_ROOT} ${CLONE_DIR}
+
+cd ${CLONE_DIR}
+rsync -a \
+  --exclude ".git" --exclude ".gitignore" \
+  --exclude "target" \
+  --exclude ".idea" --exclude "*.iml" \
+  . flink-statefun-${RELEASE_VERSION}
+
+tar czf ${RELEASE_DIR}/flink-statefun-${RELEASE_VERSION}-src.tgz flink-statefun-${RELEASE_VERSION}
+gpg --armor --detach-sig ${RELEASE_DIR}/flink-statefun-${RELEASE_VERSION}-src.tgz
+cd ${RELEASE_DIR}
+${SHASUM} flink-statefun-${RELEASE_VERSION}-src.tgz > flink-statefun-${RELEASE_VERSION}-src.tgz.sha512
+
+rm -rf ${CLONE_DIR}
+
+echo "Done. Source release package and signatures created under ${RELEASE_DIR}/."
+
+cd ${CURR_DIR}
\ No newline at end of file
diff --git a/tools/releasing/deploy_staging_jars.sh b/tools/releasing/deploy_staging_jars.sh
new file mode 100755
index 0000000..de83706
--- /dev/null
+++ b/tools/releasing/deploy_staging_jars.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+#
+
+##
+## Variables with defaults (if not overwritten by environment)
+##
+MVN=${MVN:-mvn}
+
+# fail immediately
+set -o errexit
+set -o nounset
+
+CURR_DIR=`pwd`
+BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+PROJECT_ROOT="${BASE_DIR}/../../"
+
+# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root
+if [ ! -f ${PROJECT_ROOT}/LICENSE ]; then
+    echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory."
+    exit 1
+fi
+
+###########################
+
+cd ${PROJECT_ROOT}
+
+echo "Deploying to repository.apache.org"
+${MVN} clean deploy -Papache-release -DskipTests -DretryFailedDeploymentCount=10
+
+cd ${CURR_DIR}
\ No newline at end of file
diff --git a/tools/releasing/update_branch_version.sh b/tools/releasing/update_branch_version.sh
new file mode 100755
index 0000000..34acbe4
--- /dev/null
+++ b/tools/releasing/update_branch_version.sh
@@ -0,0 +1,74 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+#
+
+##
+## Variables with defaults (if not overwritten by environment)
+##
+MVN=${MVN:-mvn}
+
+##
+## Required variables
+##
+OLD_VERSION=${OLD_VERSION}
+NEW_VERSION=${NEW_VERSION}
+
+if [ -z "${OLD_VERSION}" ]; then
+    echo "NEW_VERSION was not set."
+    exit 1
+fi
+
+if [ -z "${NEW_VERSION}" ]; then
+    echo "NEW_VERSION was not set."
+    exit 1
+fi
+
+# fail immediately
+set -o errexit
+set -o nounset
+
+CURR_DIR=`pwd`
+BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+PROJECT_ROOT="${BASE_DIR}/../../"
+
+# Sanity check to ensure that resolved paths are valid; a LICENSE file should aways exist in project root
+if [ ! -f ${PROJECT_ROOT}/LICENSE ]; then
+    echo "Project root path ${PROJECT_ROOT} is not valid; script may be in the wrong directory."
+    exit 1
+fi
+
+###########################
+
+cd ${PROJECT_ROOT}
+
+# change version in all pom files
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${NEW_VERSION}
+
+# change version strings in README
+perl -pi -e "s#<version>(.*)$OLD_VERSION(.*)</version>#<version>$NEW_VERSION</version>#" README.md
+perl -pi -e "s#-DarchetypeVersion=$OLD_VERSION#-DarchetypeVersion=$NEW_VERSION#" README.md
+
+git commit -am "[release] Update version to ${NEW_VERSION}"
+
+NEW_VERSION_COMMIT_HASH=`git rev-parse HEAD`
+
+echo "Done. Created a new commit for the new version ${NEW_VERSION}, with hash ${NEW_VERSION_COMMIT_HASH}"
+echo "If this is a new version to be released (or a candidate to be voted on), don't forget to create a signed release tag on GitHub and push the changes."
+echo "e.g., git tag -s -m \"Apache Flink Stateful Functions, release 1.1 candidate #2\" release-1.1-rc2 ${NEW_VERSION_COMMIT_HASH}"
+
+cd ${CURR_DIR}
\ No newline at end of file