[
https://issues.apache.org/jira/browse/BAHIR-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15942569#comment-15942569
]
ASF GitHub Bot commented on BAHIR-96:
-------------------------------------
Github user lresende commented on a diff in the pull request:
https://github.com/apache/bahir-flink/pull/14#discussion_r108084585
--- Diff: dev/release-build.sh ---
@@ -0,0 +1,330 @@
+#!/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.
+#
+
+function exit_with_usage {
+ cat << EOF
+
+release-build - Creates build distributions from a git commit hash or from
HEAD.
+
+SYNOPSIS
+
+usage: release-build.sh [--release-prepare | --release-publish |
--release-snapshot]
+
+DESCRIPTION
+
+Use maven infrastructure to create a project release package and publish
+to staging release location
(https://dist.apache.org/repos/dist/dev/bahir-flink)
+and maven staging release repository.
+
+--release-prepare --releaseVersion="1.0"
--developmentVersion="1.1-SNAPSHOT" [--releaseRc="rc1"] [--tag="v1.0"]
[--gitCommitHash="a874b73"]
+This form execute maven release:prepare and upload the release candidate
distribution
+to the staging release location.
+
+--release-publish --gitCommitHash="a874b73"
+Publish the maven artifacts of a release to the Apache staging maven
repository.
+Note that this will publish both Scala 2.10 and 2.11 artifacts.
+
+--release-snapshot [--gitCommitHash="a874b73"]
+Publish the maven snapshot artifacts to Apache snapshots maven repository
+Note that this will publish both Scala 2.10 and 2.11 artifacts.
+
+OPTIONS
+
+--releaseVersion - Release identifier used when publishing
+--developmentVersion - Release identifier used for next development cycle
+--releaseRc - Release RC identifier used when publishing, default
'rc1'
+--tag - Release Tag identifier used when taging the
release, default 'v$releaseVersion'
+--gitCommitHash - Release tag or commit to build from, default master
HEAD
+--dryRun - Dry run only, mostly used for testing.
+
+A GPG passphrase is expected as an environment variable
+
+GPG_PASSPHRASE - Passphrase for GPG key used to sign release
+
+EXAMPLES
+
+release-build.sh --release-prepare --releaseVersion="1.0"
--developmentVersion="1.1-SNAPSHOT"
+release-build.sh --release-prepare --releaseVersion="1.0"
--developmentVersion="1.1-SNAPSHOT" --releaseRc="rc1" --tag="v1.0"
+release-build.sh --release-prepare --releaseVersion="1.0"
--developmentVersion="1.1-SNAPSHOT" --releaseRc="rc1" --tag="v1.0"
--gitCommitHash="a874b73" --dryRun
+
+release-build.sh --release-publish --gitCommitHash="a874b73"
+release-build.sh --release-publish --gitTag="v1.0rc1"
+
+release-build.sh --release-snapshot
+release-build.sh --release-snapshot --gitCommitHash="a874b73"
+
+EOF
+ exit 1
+}
+
+set -e
+
+if [ $# -eq 0 ]; then
+ exit_with_usage
+fi
+
+
+# Process each provided argument configuration
+while [ "${1+defined}" ]; do
+ IFS="=" read -ra PARTS <<< "$1"
+ case "${PARTS[0]}" in
+ --release-prepare)
+ GOAL="release-prepare"
+ RELEASE_PREPARE=true
+ shift
+ ;;
+ --release-publish)
+ GOAL="release-publish"
+ RELEASE_PUBLISH=true
+ shift
+ ;;
+ --release-snapshot)
+ GOAL="release-snapshot"
+ RELEASE_SNAPSHOT=true
+ shift
+ ;;
+ --gitCommitHash)
+ GIT_REF="${PARTS[1]}"
+ shift
+ ;;
+ --gitTag)
+ GIT_TAG="${PARTS[1]}"
+ shift
+ ;;
+ --releaseVersion)
+ RELEASE_VERSION="${PARTS[1]}"
+ shift
+ ;;
+ --developmentVersion)
+ DEVELOPMENT_VERSION="${PARTS[1]}"
+ shift
+ ;;
+ --releaseRc)
+ RELEASE_RC="${PARTS[1]}"
+ shift
+ ;;
+ --tag)
+ RELEASE_TAG="${PARTS[1]}"
+ shift
+ ;;
+ --dryRun)
+ DRY_RUN="-DdryRun=true"
+ shift
+ ;;
+
+ *help* | -h)
+ exit_with_usage
+ exit 0
+ ;;
+ -*)
+ echo "Error: Unknown option: $1" >&2
+ exit 1
+ ;;
+ *) # No more options
+ break
+ ;;
+ esac
+done
+
+
+if [[ -z "$GPG_PASSPHRASE" ]]; then
+ echo 'The environment variable GPG_PASSPHRASE is not set. Enter the
passphrase to'
+ echo 'unlock the GPG signing key that will be used to sign the
release!'
+ echo
+ stty -echo && printf "GPG passphrase: " && read GPG_PASSPHRASE &&
printf '\n' && stty echo
+ fi
+
+if [[ "$RELEASE_PREPARE" == "true" && -z "$RELEASE_VERSION" ]]; then
+ echo "ERROR: --releaseVersion must be passed as an argument to run
this script"
+ exit_with_usage
+fi
+
+if [[ "$RELEASE_PREPARE" == "true" && -z "$DEVELOPMENT_VERSION" ]]; then
+ echo "ERROR: --developmentVersion must be passed as an argument to run
this script"
+ exit_with_usage
+fi
+
+if [[ "$RELEASE_PUBLISH" == "true" ]]; then
+ if [[ "$GIT_REF" && "$GIT_TAG" ]]; then
+ echo "ERROR: Only one argumented permitted when publishing :
--gitCommitHash or --gitTag"
+ exit_with_usage
+ fi
+ if [[ -z "$GIT_REF" && -z "$GIT_TAG" ]]; then
+ echo "ERROR: --gitCommitHash OR --gitTag must be passed as an
argument to run this script"
+ exit_with_usage
+ fi
+fi
+
+if [[ "$RELEASE_PUBLISH" == "true" && "$DRY_RUN" ]]; then
+ echo "ERROR: --dryRun not supported for --release-publish"
+ exit_with_usage
+fi
+
+if [[ "$RELEASE_SNAPSHOT" == "true" && "$DRY_RUN" ]]; then
+ echo "ERROR: --dryRun not supported for --release-publish"
+ exit_with_usage
+fi
+
+# Commit ref to checkout when building
+GIT_REF=${GIT_REF:-master}
+if [[ "$RELEASE_PUBLISH" == "true" && "$GIT_TAG" ]]; then
+ GIT_REF="tags/$GIT_TAG"
+fi
+
+BASE_DIR=$(pwd)
+
+MVN="mvn"
+PUBLISH_PROFILES="-Pdistribution"
+
+if [ -z "$RELEASE_RC" ]; then
+ RELEASE_RC="rc1"
+fi
+
+if [ -z "$RELEASE_TAG" ]; then
+ RELEASE_TAG="v$RELEASE_VERSION-$RELEASE_RC"
+fi
+
+RELEASE_STAGING_LOCATION="https://dist.apache.org/repos/dist/dev/bahir-flink/"
--- End diff --
The release svn location has the pattern of one folder per project, so I
would say we would need to have something like bahir/bahir-flink, and probably
also change bahir to be bahir/bahir-spark
> Add a "release-build.sh" script for bahir-flink
> -----------------------------------------------
>
> Key: BAHIR-96
> URL: https://issues.apache.org/jira/browse/BAHIR-96
> Project: Bahir
> Issue Type: Task
> Components: Flink Streaming Connectors
> Reporter: Tzu-Li (Gordon) Tai
> Assignee: Tzu-Li (Gordon) Tai
> Priority: Blocker
>
> We need to adopt the {{release-build.sh}} script from the Bahir Spark repo,
> in order to kick off the first Bahir Flink extensions release.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)