You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by fr...@apache.org on 2018/11/18 10:53:18 UTC
[1/2] calcite-avatica git commit: [CALCITE-2682] Add ability to run
tests in docker [Forced Update!]
Repository: calcite-avatica
Updated Branches:
refs/heads/branch-avatica-1.13 1b4ecc20e -> 00107d913 (forced update)
[CALCITE-2682] Add ability to run tests in docker
Project: http://git-wip-us.apache.org/repos/asf/calcite-avatica/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite-avatica/commit/bf0f19cc
Tree: http://git-wip-us.apache.org/repos/asf/calcite-avatica/tree/bf0f19cc
Diff: http://git-wip-us.apache.org/repos/asf/calcite-avatica/diff/bf0f19cc
Branch: refs/heads/branch-avatica-1.13
Commit: bf0f19ccdcdce13fd26c09c2da89f54c1cdd8754
Parents: 0c4de61
Author: Francis Chuang <fr...@apache.org>
Authored: Sun Nov 18 21:48:22 2018 +1100
Committer: Francis Chuang <fr...@apache.org>
Committed: Sun Nov 18 21:48:22 2018 +1100
----------------------------------------------------------------------
docker-compose.yml | 15 ++-
docker.sh | 274 +++++++++++++++++++++++++++++++++++++++++++++++
release.sh | 263 ---------------------------------------------
site/_docs/howto.md | 15 ++-
4 files changed, 300 insertions(+), 267 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/bf0f19cc/docker-compose.yml
----------------------------------------------------------------------
diff --git a/docker-compose.yml b/docker-compose.yml
index a2d9fd4..714e5ab 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -18,7 +18,7 @@ services:
dry-run:
image: maven:alpine
working_dir: /src
- command: sh -c "./release.sh dry-run"
+ command: sh -c "./docker.sh dry-run"
volumes:
- .:/src
- maven-repo:/root/.m2
@@ -26,7 +26,7 @@ services:
release:
image: maven:alpine
working_dir: /src
- command: sh -c "./release.sh release"
+ command: sh -c "./docker.sh release"
volumes:
- .:/src
- maven-repo:/root/.m2
@@ -34,10 +34,19 @@ services:
clean:
image: maven:alpine
working_dir: /src
- command: sh -c "./release.sh clean"
+ command: sh -c "./docker.sh clean"
volumes:
- .:/src
- maven-repo:/root/.m2
+
+ test:
+ image: maven:alpine
+ working_dir: /src
+ command: sh -c "./docker.sh test"
+ volumes:
+ - .:/src
+ - maven-repo:/root/.m2
+
volumes:
maven-repo:
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/bf0f19cc/docker.sh
----------------------------------------------------------------------
diff --git a/docker.sh b/docker.sh
new file mode 100755
index 0000000..56e8f2c
--- /dev/null
+++ b/docker.sh
@@ -0,0 +1,274 @@
+#!/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.
+
+function terminate() {
+ printf "\n\nUser terminated build. Exiting...\n"
+ exit 1
+}
+
+trap terminate SIGINT
+
+KEYS=()
+
+init_glibc(){
+ apk --no-cache add ca-certificates wget
+ echo "Installing glibc..."
+ wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
+ wget -q -O /tmp/glibc.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk
+ apk add /tmp/glibc.apk
+}
+
+init_release(){
+ apk --no-cache add git gnupg
+}
+
+GPG_COMMAND="gpg2"
+
+get_gpg_keys(){
+ GPG_KEYS=$($GPG_COMMAND --list-keys --with-colons --keyid-format LONG)
+
+ KEY_NUM=1
+
+ KEY_DETAILS=""
+
+ while read -r line; do
+
+ IFS=':' read -ra PART <<< "$line"
+
+ if [ ${PART[0]} == "pub" ]; then
+
+ if [ -n "$KEY_DETAILS" ]; then
+ KEYS[$KEY_NUM]=$KEY_DETAILS
+ KEY_DETAILS=""
+ ((KEY_NUM++))
+
+ fi
+
+ KEY_DETAILS=${PART[4]}
+ fi
+
+ if [ ${PART[0]} == "uid" ]; then
+ KEY_DETAILS="$KEY_DETAILS - ${PART[9]}"
+ fi
+
+ done <<< "$GPG_KEYS"
+
+ if [ -n "$KEY_DETAILS" ]; then
+ KEYS[$KEY_NUM]=$KEY_DETAILS
+ fi
+}
+
+mount_gpg_keys(){
+ mkdir -p /.gnupg
+
+ if [ -z "$(ls -A /.gnupg)" ]; then
+ echo "Please mount the contents of your .gnupg folder into /.gnupg. Exiting..."
+ exit 1
+ fi
+
+ mkdir -p /root/.gnupg
+
+ cp -r /.gnupg/ /root/
+
+ chmod -R 700 /root/.gnupg/
+
+ rm -rf /root/.gnupg/*.lock
+}
+
+SELECTED_GPG_KEY=""
+
+select_gpg_key(){
+
+ get_gpg_keys
+
+ export GPG_TTY=/dev/console
+
+ touch /root/.gnupg/gpg-agent.conf
+ echo 'default-cache-ttl 10000' >> /root/.gnupg/gpg-agent.conf
+ echo 'max-cache-ttl 10000' >> /root/.gnupg/gpg-agent.conf
+
+ echo "Starting GPG agent..."
+ gpg-agent --daemon
+
+ while $INVALID_KEY_SELECTED; do
+
+ if [ "${#KEYS[@]}" -le 0 ]; then
+ echo "You do not have any GPG keys available. Exiting..."
+ exit 1
+ fi
+
+ echo "You have the following GPG keys:"
+
+ for i in "${!KEYS[@]}"; do
+ echo "$i) ${KEYS[$i]}"
+ done
+
+ read -p "Select your GPG key for signing: " KEY_INDEX
+
+ SELECTED_GPG_KEY=$(sed 's/ -.*//' <<< ${KEYS[$KEY_INDEX]})
+
+ if [ -z $SELECTED_GPG_KEY ]; then
+ echo "Selected key is invalid, please try again."
+ continue
+ fi
+
+ echo "Authenticating your GPG key..."
+
+ echo "test" | $GPG_COMMAND --local-user $SELECTED_GPG_KEY --output /dev/null --sign -
+
+ if [ $? != 0 ]; then
+ echo "Invalid GPG passphrase or GPG error. Please try again."
+ continue
+ fi
+
+ echo "You have selected the following GPG key to sign the release:"
+ echo "${KEYS[$KEY_INDEX]}"
+
+ INVALID_CONFIRMATION=true
+
+ while $INVALID_CONFIRMATION; do
+ read -p "Is this correct? (y/n) " CONFIRM
+
+ if [[ ($CONFIRM == "Y") || ($CONFIRM == "y") ]]; then
+ INVALID_KEY_SELECTED=false
+ INVALID_CONFIRMATION=false
+ elif [[ ($CONFIRM == "N") || ($CONFIRM == "n") ]]; then
+ INVALID_CONFIRMATION=false
+ fi
+ done
+ done
+}
+
+RELEASE_VERSION=""
+RC_NUMBER=""
+DEV_VERSION=""
+ASF_USERNAME=""
+NAME=""
+
+get_build_configuration(){
+
+ while $NOT_CONFIRMED; do
+ read -p "Enter the version number to be released (example: 1.12.0): " RELEASE_VERSION
+ read -p "Enter the release candidate number (example: if you are releasing rc0, enter 0): " RC_NUMBER
+ read -p "Enter the development version number (example: if your release version is 1.12.0, enter 1.13.0): " DEV_VERSION
+ read -p "Enter your ASF username: " ASF_USERNAME
+ read -p "Enter your name (this will be used for git commits): " NAME
+ echo "Build configured as follows:"
+ echo "Release: $RELEASE_VERSION-rc$RC_NUMBER"
+ echo "Next development version: $DEV_VERSION-SNAPSHOT"
+ echo "ASF Username: $ASF_USERNAME"
+ echo "Name: $NAME"
+
+ INVALID_CONFIRMATION=true
+
+ while $INVALID_CONFIRMATION; do
+ read -p "Is this correct? (y/n) " CONFIRM
+
+ if [[ ($CONFIRM == "Y") || ($CONFIRM == "y") ]]; then
+ NOT_CONFIRMED=false
+ INVALID_CONFIRMATION=false
+ elif [[ ($CONFIRM == "N") || ($CONFIRM == "n") ]]; then
+ INVALID_CONFIRMATION=false
+ fi
+ done
+ done
+}
+
+ASF_PASSWORD=""
+
+set_git_credentials(){
+ read -s -p "Enter your ASF password: " ASF_PASSWORD
+
+ printf "\n"
+
+ echo https://$ASF_USERNAME:$ASF_PASSWORD@git-wip-us.apache.org >> /root/.git-credentials
+ git config --global credential.helper 'store --file=/root/.git-credentials'
+
+ git config --global user.name "$NAME"
+}
+
+set_maven_credentials(){
+ mkdir -p /root/.m2
+ rm -f /root/.m2/settings.xml
+ rm -f /root/.m2/settings-security.xml
+
+ ENCRYPTED_MAVEN_PASSWORD="$(mvn --encrypt-master-password $ASF_PASSWORD)"
+
+ cat <<EOF >> /root/.m2/settings-security.xml
+<settingsSecurity>
+ <master>$ENCRYPTED_MAVEN_PASSWORD</master>
+</settingsSecurity>
+EOF
+
+ ENCRYPTED_ASF_PASSWORD="$(mvn --encrypt-password $ASF_PASSWORD)"
+
+ cat <<EOF >> /root/.m2/settings.xml
+<settings>
+ <servers>
+ <server>
+ <id>apache.snapshots.https</id>
+ <username>${ASF_USERNAME}</username>
+ <password>${ENCRYPTED_ASF_PASSWORD}</password>
+ </server>
+ <server>
+ <id>apache.releases.https</id>
+ <username>${ASF_USERNAME}</username>
+ <password>${ENCRYPTED_ASF_PASSWORD}</password>
+ </server>
+ </servers>
+</settings>
+EOF
+}
+
+case $1 in
+ dry-run)
+ init_glibc
+ init_release
+ mount_gpg_keys
+ select_gpg_key
+ get_build_configuration
+
+ mvn -Dmaven.artifact.threads=20 -DdryRun=true -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$DEV_VERSION-SNAPSHOT -Dtag="avatica-$RELEASE_VERSION-rc$RC_NUMBER" -Papache-release -Duser.name=$ASF_USERNAME release:prepare -Darguments="-DskipDockerCheck -Dgpg.keyname=$SELECTED_GPG_KEY"
+ ;;
+
+ release)
+ init_glibc
+ init_release
+ mount_gpg_keys
+ select_gpg_key
+ get_build_configuration
+ set_git_credentials
+ set_maven_credentials
+
+ mvn -Dmaven.artifact.threads=20 -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$DEV_VERSION-SNAPSHOT -Dtag="avatica-$RELEASE_VERSION-rc$RC_NUMBER" -Papache-release -Duser.name=$ASF_USERNAME release:prepare -Darguments=-Dgpg.keyname=$SELECTED_GPG_KEY
+ mvn -Dmaven.artifact.threads=20 -Papache-release -Duser.name=$ASF_USERNAME release:perform -Darguments="-DskipTests -Dgpg.keyname=$SELECTED_GPG_KEY"
+ ;;
+
+ clean)
+ mvn release:clean
+ ;;
+
+ test)
+ init_glibc
+ mvn clean verify -Dcheckstyle.skip -DskipDockerCheck
+ ;;
+
+ *)
+ echo $"Usage: $0 {dry-run|release|clean|test}"
+ ;;
+
+esac
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/bf0f19cc/release.sh
----------------------------------------------------------------------
diff --git a/release.sh b/release.sh
deleted file mode 100755
index 119f3ad..0000000
--- a/release.sh
+++ /dev/null
@@ -1,263 +0,0 @@
-#!/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.
-
-function terminate() {
- printf "\n\nUser terminated build. Exiting...\n"
- exit 1
-}
-
-trap terminate SIGINT
-
-KEYS=()
-
-init(){
- apk --no-cache add ca-certificates wget git gnupg
- wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
- wget -q -O /tmp/glibc.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk
- apk add /tmp/glibc.apk
-}
-
-GPG_COMMAND="gpg2"
-
-get_gpg_keys(){
- GPG_KEYS=$($GPG_COMMAND --list-keys --with-colons --keyid-format LONG)
-
- KEY_NUM=1
-
- KEY_DETAILS=""
-
- while read -r line; do
-
- IFS=':' read -ra PART <<< "$line"
-
- if [ ${PART[0]} == "pub" ]; then
-
- if [ -n "$KEY_DETAILS" ]; then
- KEYS[$KEY_NUM]=$KEY_DETAILS
- KEY_DETAILS=""
- ((KEY_NUM++))
-
- fi
-
- KEY_DETAILS=${PART[4]}
- fi
-
- if [ ${PART[0]} == "uid" ]; then
- KEY_DETAILS="$KEY_DETAILS - ${PART[9]}"
- fi
-
- done <<< "$GPG_KEYS"
-
- if [ -n "$KEY_DETAILS" ]; then
- KEYS[$KEY_NUM]=$KEY_DETAILS
- fi
-}
-
-mount_gpg_keys(){
- mkdir -p /.gnupg
-
- if [ -z "$(ls -A /.gnupg)" ]; then
- echo "Please mount the contents of your .gnupg folder into /.gnupg. Exiting..."
- exit 1
- fi
-
- mkdir -p /root/.gnupg
-
- cp -r /.gnupg/ /root/
-
- chmod -R 700 /root/.gnupg/
-
- rm -rf /root/.gnupg/*.lock
-}
-
-SELECTED_GPG_KEY=""
-
-select_gpg_key(){
-
- get_gpg_keys
-
- export GPG_TTY=/dev/console
-
- touch /root/.gnupg/gpg-agent.conf
- echo 'default-cache-ttl 10000' >> /root/.gnupg/gpg-agent.conf
- echo 'max-cache-ttl 10000' >> /root/.gnupg/gpg-agent.conf
-
- echo "Starting GPG agent..."
- gpg-agent --daemon
-
- while $INVALID_KEY_SELECTED; do
-
- if [ "${#KEYS[@]}" -le 0 ]; then
- echo "You do not have any GPG keys available. Exiting..."
- exit 1
- fi
-
- echo "You have the following GPG keys:"
-
- for i in "${!KEYS[@]}"; do
- echo "$i) ${KEYS[$i]}"
- done
-
- read -p "Select your GPG key for signing: " KEY_INDEX
-
- SELECTED_GPG_KEY=$(sed 's/ -.*//' <<< ${KEYS[$KEY_INDEX]})
-
- if [ -z $SELECTED_GPG_KEY ]; then
- echo "Selected key is invalid, please try again."
- continue
- fi
-
- echo "Authenticating your GPG key..."
-
- echo "test" | $GPG_COMMAND --local-user $SELECTED_GPG_KEY --output /dev/null --sign -
-
- if [ $? != 0 ]; then
- echo "Invalid GPG passphrase or GPG error. Please try again."
- continue
- fi
-
- echo "You have selected the following GPG key to sign the release:"
- echo "${KEYS[$KEY_INDEX]}"
-
- INVALID_CONFIRMATION=true
-
- while $INVALID_CONFIRMATION; do
- read -p "Is this correct? (y/n) " CONFIRM
-
- if [[ ($CONFIRM == "Y") || ($CONFIRM == "y") ]]; then
- INVALID_KEY_SELECTED=false
- INVALID_CONFIRMATION=false
- elif [[ ($CONFIRM == "N") || ($CONFIRM == "n") ]]; then
- INVALID_CONFIRMATION=false
- fi
- done
- done
-}
-
-RELEASE_VERSION=""
-RC_NUMBER=""
-DEV_VERSION=""
-ASF_USERNAME=""
-NAME=""
-
-get_build_configuration(){
-
- while $NOT_CONFIRMED; do
- read -p "Enter the version number to be released (example: 1.12.0): " RELEASE_VERSION
- read -p "Enter the release candidate number (example: if you are releasing rc0, enter 0): " RC_NUMBER
- read -p "Enter the development version number (example: if your release version is 1.12.0, enter 1.13.0): " DEV_VERSION
- read -p "Enter your ASF username: " ASF_USERNAME
- read -p "Enter your name (this will be used for git commits): " NAME
- echo "Build configured as follows:"
- echo "Release: $RELEASE_VERSION-rc$RC_NUMBER"
- echo "Next development version: $DEV_VERSION-SNAPSHOT"
- echo "ASF Username: $ASF_USERNAME"
- echo "Name: $NAME"
-
- INVALID_CONFIRMATION=true
-
- while $INVALID_CONFIRMATION; do
- read -p "Is this correct? (y/n) " CONFIRM
-
- if [[ ($CONFIRM == "Y") || ($CONFIRM == "y") ]]; then
- NOT_CONFIRMED=false
- INVALID_CONFIRMATION=false
- elif [[ ($CONFIRM == "N") || ($CONFIRM == "n") ]]; then
- INVALID_CONFIRMATION=false
- fi
- done
- done
-}
-
-ASF_PASSWORD=""
-
-set_git_credentials(){
- read -s -p "Enter your ASF password: " ASF_PASSWORD
-
- printf "\n"
-
- echo https://$ASF_USERNAME:$ASF_PASSWORD@git-wip-us.apache.org >> /root/.git-credentials
- git config --global credential.helper 'store --file=/root/.git-credentials'
-
- git config --global user.name "$NAME"
-}
-
-set_maven_credentials(){
- mkdir -p /root/.m2
- rm -f /root/.m2/settings.xml
- rm -f /root/.m2/settings-security.xml
-
- ENCRYPTED_MAVEN_PASSWORD="$(mvn --encrypt-master-password $ASF_PASSWORD)"
-
- cat <<EOF >> /root/.m2/settings-security.xml
-<settingsSecurity>
- <master>$ENCRYPTED_MAVEN_PASSWORD</master>
-</settingsSecurity>
-EOF
-
- ENCRYPTED_ASF_PASSWORD="$(mvn --encrypt-password $ASF_PASSWORD)"
-
- cat <<EOF >> /root/.m2/settings.xml
-<settings>
- <servers>
- <server>
- <id>apache.snapshots.https</id>
- <username>${ASF_USERNAME}</username>
- <password>${ENCRYPTED_ASF_PASSWORD}</password>
- </server>
- <server>
- <id>apache.releases.https</id>
- <username>${ASF_USERNAME}</username>
- <password>${ENCRYPTED_ASF_PASSWORD}</password>
- </server>
- </servers>
-</settings>
-EOF
-}
-
-case $1 in
- dry-run)
- init
- mount_gpg_keys
- select_gpg_key
- get_build_configuration
-
- mvn -Dmaven.artifact.threads=20 -DdryRun=true -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$DEV_VERSION-SNAPSHOT -Dtag="avatica-$RELEASE_VERSION-rc$RC_NUMBER" -Papache-release -Duser.name=$ASF_USERNAME release:prepare -Darguments="-DskipDockerCheck -Dgpg.keyname=$SELECTED_GPG_KEY"
- ;;
-
- release)
- init
- mount_gpg_keys
- select_gpg_key
- get_build_configuration
- set_git_credentials
- set_maven_credentials
-
- mvn -Dmaven.artifact.threads=20 -DreleaseVersion=$RELEASE_VERSION -DdevelopmentVersion=$DEV_VERSION-SNAPSHOT -Dtag="avatica-$RELEASE_VERSION-rc$RC_NUMBER" -Papache-release -Duser.name=$ASF_USERNAME release:prepare -Darguments=-Dgpg.keyname=$SELECTED_GPG_KEY
- mvn -Dmaven.artifact.threads=20 -Papache-release -Duser.name=$ASF_USERNAME release:perform -Darguments="-DskipTests -Dgpg.keyname=$SELECTED_GPG_KEY"
- ;;
-
- clean)
- init
- mvn release:clean
- ;;
-
- *)
- echo $"Usage: $0 {dry-run|release|clean}"
- ;;
-
-esac
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/bf0f19cc/site/_docs/howto.md
----------------------------------------------------------------------
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index 5733018..c832731 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -69,14 +69,27 @@ tests.
The test suite will run by default when you build, unless you specify
`-DskipTests`:
+Note: During development, you should include `-DskipDockerCheck`, because the docker check checks to see if the dockerfile
+includes the correct version, which will fail unless you are making a release of Avatica.
+
+### Running tests in your environment
+
{% highlight bash %}
-$ ./mvnw clean verify -Dcheckstyle.skip
+$ ./mvnw clean verify -Dcheckstyle.skip -DskipDockerCheck
{% endhighlight %}
By default, invoking the `verify` Maven lifecycle phase will also cause checkstyle
rules to be run. It is expected that contributions pass the checkstyle rules; however,
it is common to ignore these while working on a feature/bug and fix them at the end.
+### To run tests in docker:
+
+* You will need to have [docker](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/) installed.
+
+{% highlight bash %}
+docker-compose run test
+{% endhighlight %}
+
## Contributing
See the [developers guide]({{ site.baseurl }}/develop/#contributing).
[2/2] calcite-avatica git commit: [CALCITE-2576] Release avatica
1.13.0
Posted by fr...@apache.org.
[CALCITE-2576] Release avatica 1.13.0
Project: http://git-wip-us.apache.org/repos/asf/calcite-avatica/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite-avatica/commit/00107d91
Tree: http://git-wip-us.apache.org/repos/asf/calcite-avatica/tree/00107d91
Diff: http://git-wip-us.apache.org/repos/asf/calcite-avatica/diff/00107d91
Branch: refs/heads/branch-avatica-1.13
Commit: 00107d913d6064461f1c6ff719ea7c0b334af969
Parents: bf0f19c
Author: Francis Chuang <fr...@apache.org>
Authored: Sun Nov 18 21:52:58 2018 +1100
Committer: Francis Chuang <fr...@apache.org>
Committed: Sun Nov 18 21:52:58 2018 +1100
----------------------------------------------------------------------
README | 2 +-
docker/src/main/dockerhub-hypersql/Dockerfile | 2 +-
docker/src/main/dockerhub/Dockerfile | 2 +-
pom.xml | 2 +-
site/_docs/docker_images.md | 28 ++++----
site/_docs/history.md | 80 ++++++++++++++++++++++
site/_docs/howto.md | 12 ++--
7 files changed, 104 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/README
----------------------------------------------------------------------
diff --git a/README b/README
index 3053e13..c8b7c5d 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite Avatica release 1.12.0
+Apache Calcite Avatica release 1.13.0
This is a source or binary distribution of Avatica, a framework for
building database drivers. Avatica is a sub-project of Apache Calcite.
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/docker/src/main/dockerhub-hypersql/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/src/main/dockerhub-hypersql/Dockerfile b/docker/src/main/dockerhub-hypersql/Dockerfile
index 0ea57b3..82ee89d 100644
--- a/docker/src/main/dockerhub-hypersql/Dockerfile
+++ b/docker/src/main/dockerhub-hypersql/Dockerfile
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG AVATICA_VERSION=1.12.0
+ARG AVATICA_VERSION=1.13.0
FROM apache/calcite-avatica:$AVATICA_VERSION
MAINTAINER Apache Avatica <de...@calcite.apache.org>
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/docker/src/main/dockerhub/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/src/main/dockerhub/Dockerfile b/docker/src/main/dockerhub/Dockerfile
index 5308afa..c7233e7 100644
--- a/docker/src/main/dockerhub/Dockerfile
+++ b/docker/src/main/dockerhub/Dockerfile
@@ -21,7 +21,7 @@ RUN addgroup -S avatica && adduser -S -G avatica avatica
RUN mkdir -p /home/avatica/classpath
# This line must be preserved. The Maven build will verify this version matches its version
-ARG AVATICA_VERSION="1.12.0"
+ARG AVATICA_VERSION="1.13.0"
# Dependencies
ADD https://repository.apache.org/content/groups/public/org/apache/calcite/avatica/avatica-standalone-server/${AVATICA_VERSION}/avatica-standalone-server-${AVATICA_VERSION}-shaded.jar /home/avatica/classpath
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f00b0d0..a2a75ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,7 @@ limitations under the License.
<top.dir>${project.basedir}</top.dir>
<avatica.release.version>${project.version}</avatica.release.version>
<version.major>1</version.major>
- <version.minor>12</version.minor>
+ <version.minor>13</version.minor>
<!-- This list is in alphabetical order. -->
<bouncycastle.version>1.60</bouncycastle.version>
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/site/_docs/docker_images.md
----------------------------------------------------------------------
diff --git a/site/_docs/docker_images.md b/site/_docs/docker_images.md
index 3736c9d..f60b13c 100644
--- a/site/_docs/docker_images.md
+++ b/site/_docs/docker_images.md
@@ -70,22 +70,22 @@ file will start an instance of PostgreSQL and an instance of the Avatica server,
exposing an Avatica server configured against a "real" PostgreSQL database.
All of the `Dockerfile` and `docker-compose.yml` files are conveniently provided in an archive for
-each release. Here is the layout for release 1.11.0:
+each release. Here is the layout for release 1.13.0:
```
-avatica-docker-1.11.0/
-avatica-docker-1.11.0/hypersql/
-avatica-docker-1.11.0/mysql/
-avatica-docker-1.11.0/postgresql/
-avatica-docker-1.11.0/Dockerfile
-avatica-docker-1.11.0/hypersql/build.sh
-avatica-docker-1.11.0/hypersql/Dockerfile
-avatica-docker-1.11.0/mysql/build.sh
-avatica-docker-1.11.0/mysql/docker-compose.yml
-avatica-docker-1.11.0/mysql/Dockerfile
-avatica-docker-1.11.0/postgresql/build.sh
-avatica-docker-1.11.0/postgresql/docker-compose.yml
-avatica-docker-1.11.0/postgresql/Dockerfile
+avatica-docker-1.13.0/
+avatica-docker-1.13.0/hypersql/
+avatica-docker-1.13.0/mysql/
+avatica-docker-1.13.0/postgresql/
+avatica-docker-1.13.0/Dockerfile
+avatica-docker-1.13.0/hypersql/build.sh
+avatica-docker-1.13.0/hypersql/Dockerfile
+avatica-docker-1.13.0/mysql/build.sh
+avatica-docker-1.13.0/mysql/docker-compose.yml
+avatica-docker-1.13.0/mysql/Dockerfile
+avatica-docker-1.13.0/postgresql/build.sh
+avatica-docker-1.13.0/postgresql/docker-compose.yml
+avatica-docker-1.13.0/postgresql/Dockerfile
```
#### Running
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/site/_docs/history.md
----------------------------------------------------------------------
diff --git a/site/_docs/history.md b/site/_docs/history.md
index d6aea4c..945b475 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -28,6 +28,86 @@ For a full list of releases, see
Downloads are available on the
[downloads page]({{ site.baseurl }}/downloads/avatica.html).
+## <a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.13.0">1.13.0</a> / 2018-11-XX
+{: #v1-13-0}
+
+Apache Calcite Avatica 1.13.0 includes around 30 bugs fixes and enhancements. This release adds the ability to
+prepare and make a release, run tests and execute `mvn clean` in a docker container.
+
+Compatibility: This release is tested
+on Linux, macOS, Microsoft Windows;
+using Oracle JDK 8, 9, 10, 11, 12;
+using IBM Java 8;
+Guava versions 14.0 to 23.0;
+other software versions as specified in `pom.xml`.
+
+Features and bug fixes
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2386">CALCITE-2386</a>]
+ Naively wire up struct support
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2390">CALCITE-2390</a>]
+ Remove uses of `X509CertificateObject` which is deprecated in current version of bouncycastle
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2467">CALCITE-2467</a>]
+ Update owasp-dependency-check maven plugin to 3.3.1, protobuf-java to 3.5.1, jackson to 2.9.6 and jetty to 9.4.11.v20180605
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2503">CALCITE-2503</a>]
+ AvaticaCommonsHttpClientImpl client needs to set user-token on HttpClientContext before sending the request
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2570">CALCITE-2570</a>]
+ Upgrade forbiddenapis to 2.6 for JDK 11 support
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1183">CALCITE-1183</a>]
+ Upgrade kerby to 1.1.1 and re-enable AvaticaSpnegoTest
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2486">CALCITE-2486</a>]
+ Upgrade Apache parent POM to version 21 and update other dependencies
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2583">CALCITE-2583</a>]
+ Upgrade dropwizard metrics to 4.0.3
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1006">CALCITE-1006</a>]
+ Enable spotbugs-maven-plugin
+* Move spotbugs-filter.xml to src/main/config/spotbugs/
+* Update usage of JCommander after upgrading to 1.72
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2587">CALCITE-2587</a>]
+ Regenerate protobuf files for protobuf 3.6.1
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2594">CALCITE-2594</a>]
+ Ensure forbiddenapis and maven-compiler use the correct JDK version
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2595">CALCITE-2595</a>]
+ Add maven wrapper
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2385">CALCITE-2385</a>]
+ Add flag to disable dockerfile checks when executing a dry-run build
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2676">CALCITE-2676</a>]
+ Add release script and docker-compose.yml to support building releases using docker
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2680">CALCITE-2680</a>]
+ Downgrade maven-scm-provider to 1.10.0 due to API incompatibility that prevents releases from building
+* Update release script to use GPG agent
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2681">CALCITE-2681</a>]
+ Add maven-scm-api as a dependency, so that Avatica can build
+* Include -Dgpg.keyname when executing release:perform in the release script
+* Prompt user for git username when using release script
+* Fix release script to ensure git usernames are not truncated
+* Remove requirement to set maven master password when using the release script
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2682">CALCITE-2682</a>]
+ Add ability to run tests in docker
+
+Tests
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2568">CALCITE-2568</a>]
+ Ensure that IBM JDK TLS cipher list matches Oracle/OpenJDK for Travis CI
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2655">CALCITE-2655</a>]
+ Enable Travis to test against JDK12
+
+Website and Documentation
+
+* Fix broken links to Github release on the history page
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2381">CALCITE-2381</a>]
+ Document how to authenticate against the Apache maven repository, select GPG keys and version numbers when building
+ a release
+* Fix Go client download links
+* Fix download link to release history in news item template
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2550">CALCITE-2550</a>]
+ Update download links for avatica-go to link to `apache-calcite-avatica-go-x.x.x-src.tar.gz` for release 3.2.0 and onwards
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2574">CALCITE-2574</a>]
+ Update download pages to include instructions for verifying downloaded artifacts
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-2577">CALCITE-2577</a>]
+ Update URLs on download page to HTTPS
+* Update links on Go client download page to reference `go_history.html` and not `history.html`
+
## <a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.12.0">1.12.0</a> / 2018-06-24
{: #v1-12-0}
http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/00107d91/site/_docs/howto.md
----------------------------------------------------------------------
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index c832731..c32ff73 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -38,8 +38,8 @@ Unpack the source distribution `.tar.gz` file,
then build using maven:
{% highlight bash %}
-$ tar xvfz apache-calcite-avatica-1.12.0-src.tar.gz
-$ cd apache-calcite-avatica-1.12.0-src
+$ tar xvfz apache-calcite-avatica-1.13.0-src.tar.gz
+$ cd apache-calcite-avatica-1.13.0-src
$ ./mvnw install
{% endhighlight %}
@@ -224,9 +224,9 @@ To perform the dry-run, you can either use your environment or the release scrip
git clean -xn
# Do a dry run of the release:prepare step, which sets version numbers.
-# Typically we increment minor version: If X.Y.Z is 1.11.0, X2.Y2.Z2 is 1.12.0.
+# Typically we increment minor version: If X.Y.Z is 1.13.0, X2.Y2.Z2 is 1.14.0.
# Note X.Y.Z is the current version we're trying to release, and X2.Y2.Z2 is the next development version.
-# For example, if I am currently building a release for 1.11.0, X.Y.Z would be 1.11.0 and X2.Y2.Z2 would be 1.12.0.
+# For example, if I am currently building a release for 1.13.0, X.Y.Z would be 1.13.0 and X2.Y2.Z2 would be 1.14.0.
./mvnw -DdryRun=true -DreleaseVersion=X.Y.Z -DdevelopmentVersion=X2.Y2.Z2-SNAPSHOT -Dtag=avatica-X.Y.Z-rcN -Papache-release -Duser.name=${asf.username} release:prepare -Darguments=-DskipDockerCheck
# If you have multiple GPG keys, you can select the key used to sign the release by appending `-Dgpg.keyname=${your.key.id}` to `-Darguments`:
@@ -292,9 +292,9 @@ If successful, remove the `-DdryRun` flag and run the release for real.
{% highlight bash %}
# Prepare sets the version numbers, creates a tag, and pushes it to git.
-# Typically we increment minor version: If X.Y.Z is 1.11.0, X2.Y2.Z2 is 1.12.0.
+# Typically we increment minor version: If X.Y.Z is 1.13.0, X2.Y2.Z2 is 1.14.0.
# Note X.Y.Z is the current version we're trying to release, and X2.Y2.Z2 is the next development version.
-# For example, if I am currently building a release for 1.11.0, X.Y.Z would be 1.11.0 and X2.Y2.Z2 would be 1.12.0.
+# For example, if I am currently building a release for 1.13.0, X.Y.Z would be 1.13.0 and X2.Y2.Z2 would be 1.14.0.
./mvnw -DreleaseVersion=X.Y.Z -DdevelopmentVersion=X2.Y2.Z2-SNAPSHOT -Dtag=avatica-X.Y.Z-rcN -Papache-release -Duser.name=${asf.username} release:prepare
# If you have multiple GPG keys, you can select the key used to sign the release by appending `-Darguments=-Dgpg.keyname=${your.key.id}`: