Repository: arrow
Updated Branches:
  refs/heads/master 5f1556c01 -> 53583281b


ARROW-298: create release scripts

Author: Julien Le Dem <jul...@dremio.com>

Closes #141 from julienledem/release and squashes the following commits:

1a5114d [Julien Le Dem] ARROW-298: create release scripts


Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/53583281
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/53583281
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/53583281

Branch: refs/heads/master
Commit: 53583281b2af3e4ecedd3b130cef588680a44c4f
Parents: 5f1556c
Author: Julien Le Dem <jul...@dremio.com>
Authored: Wed Sep 21 13:38:52 2016 -0700
Committer: Julien Le Dem <jul...@dremio.com>
Committed: Wed Sep 21 13:38:52 2016 -0700

----------------------------------------------------------------------
 dev/release/00-prepare.sh | 46 ++++++++++++++++++++++++
 dev/release/01-perform.sh | 27 ++++++++++++++
 dev/release/02-source.sh  | 80 ++++++++++++++++++++++++++++++++++++++++++
 dev/release/README        | 15 ++++++++
 java/README.md            | 14 ++++++++
 5 files changed, 182 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/arrow/blob/53583281/dev/release/00-prepare.sh
----------------------------------------------------------------------
diff --git a/dev/release/00-prepare.sh b/dev/release/00-prepare.sh
new file mode 100644
index 0000000..3c1fb9a
--- /dev/null
+++ b/dev/release/00-prepare.sh
@@ -0,0 +1,46 @@
+#!/bin/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.
+#
+
+SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+if [ -z "$1" ]; then
+  echo "Usage: $0 <version> <nextVersion>"
+  exit
+fi
+
+if [ -z "$2" ]; then
+  echo "Usage: $0 <version> <nextVersion>"
+  exit
+fi
+
+version=$1
+
+tag=apache-arrow-${version}
+
+nextVersion=$2
+
+cd "${SOURCE_DIR}/../../java"
+
+mvn release:clean
+mvn release:prepare -Dtag=${tag} -DreleaseVersion=${version} 
-DautoVersionSubmodules -DdevelopmentVersion=${nextVersion}-SNAPSHOT
+
+cd -
+
+echo "Finish staging binary artifacts by running: sh dev/release/01-perform.sh"

http://git-wip-us.apache.org/repos/asf/arrow/blob/53583281/dev/release/01-perform.sh
----------------------------------------------------------------------
diff --git a/dev/release/01-perform.sh b/dev/release/01-perform.sh
new file mode 100644
index 0000000..d7140f6
--- /dev/null
+++ b/dev/release/01-perform.sh
@@ -0,0 +1,27 @@
+#!/bin/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.
+#
+
+SOURCE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+cd "${SOURCE_DIR}/../../java"
+
+mvn release:perform
+
+cd -

http://git-wip-us.apache.org/repos/asf/arrow/blob/53583281/dev/release/02-source.sh
----------------------------------------------------------------------
diff --git a/dev/release/02-source.sh b/dev/release/02-source.sh
new file mode 100644
index 0000000..f44692d
--- /dev/null
+++ b/dev/release/02-source.sh
@@ -0,0 +1,80 @@
+#!/bin/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.
+#
+
+if [ -z "$1" ]; then
+  echo "Usage: $0 <version> <rc-num>"
+  exit
+fi
+
+if [ -z "$2" ]; then
+  echo "Usage: $0 <version> <rc-num>"
+  exit
+fi
+
+version=$1
+rc=$2
+
+if [ -d tmp/ ]; then
+  echo "Cannot run: tmp/ exists"
+  exit
+fi
+
+tag=apache-arrow-$version
+tagrc=${tag}-rc${rc}
+
+echo "Preparing source for $tagrc"
+
+release_hash=`git rev-list $tag 2> /dev/null | head -n 1 `
+
+if [ -z "$release_hash" ]; then
+  echo "Cannot continue: unknown git tag: $tag"
+  exit
+fi
+
+echo "Using commit $release_hash"
+
+tarball=$tag.tar.gz
+
+# be conservative and use the release hash, even though git produces the same
+# archive (identical hashes) using the scm tag
+git archive $release_hash --prefix $tag/ -o $tarball
+
+# sign the archive
+gpg --armor --output ${tarball}.asc --detach-sig $tarball
+gpg --print-md MD5 $tarball > ${tarball}.md5
+shasum $tarball > ${tarball}.sha
+
+# check out the parquet RC folder
+svn co --depth=empty https://dist.apache.org/repos/dist/dev/arrow tmp
+
+# add the release candidate for the tag
+mkdir -p tmp/$tagrc
+cp ${tarball}* tmp/$tagrc
+svn add tmp/$tagrc
+svn ci -m 'Apache Arrow $version RC${rc}' tmp/$tagrc
+
+# clean up
+rm -rf tmp
+
+echo "Success! The release candidate is available here:"
+echo "  https://dist.apache.org/repos/dist/dev/arrow/$tagrc";
+echo ""
+echo "Commit SHA1: $release_hash"
+

http://git-wip-us.apache.org/repos/asf/arrow/blob/53583281/dev/release/README
----------------------------------------------------------------------
diff --git a/dev/release/README b/dev/release/README
new file mode 100644
index 0000000..4fcc5d9
--- /dev/null
+++ b/dev/release/README
@@ -0,0 +1,15 @@
+requirements:
+- being a committer to be able to push to dist and maven repository
+- a gpg key to sign the artifacts
+
+to release, run the following (replace 0.1.0 with version to release):
+# prepare release v 0.1.0 (run tests, sign artifacts). Next version will be 
0.1.1-SNAPSHOT
+dev/release/00-prepare.sh 0.1.0 0.1.1
+# tag and push to maven repo (repo will have to be finalized separately)
+dev/release/01-perform.sh
+# create the source release
+dev/release/02-source.sh 0.1.0 0
+
+useful commands:
+to set the mvn version in the poms
+mvn versions:set -DnewVersion=0.1-SNAPSHOT

http://git-wip-us.apache.org/repos/asf/arrow/blob/53583281/java/README.md
----------------------------------------------------------------------
diff --git a/java/README.md b/java/README.md
new file mode 100644
index 0000000..5e1d30d
--- /dev/null
+++ b/java/README.md
@@ -0,0 +1,14 @@
+# Arrow Java
+
+## Setup Build Environment
+
+install:
+ - java 7 or later
+ - maven 3.3 or later
+
+## Building running tests
+
+```
+cd java
+mvn install
+``` 

Reply via email to