From 8403c41318f01cb3528585f268ca846898e246a8 Mon Sep 17 00:00:00 2001 From: "chris.agocs" Date: Tue, 29 Jun 2021 17:06:04 -0400 Subject: [PATCH 1/2] Add dockerized test, build, and publish scripts --- scripts/build.sh | 13 +++++++++++++ scripts/publish_library.sh | 29 +++++++++++++++++++++++++++++ scripts/run_tests.sh | 7 +++++++ 3 files changed, 49 insertions(+) create mode 100755 scripts/build.sh create mode 100755 scripts/publish_library.sh create mode 100755 scripts/run_tests.sh diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..fd44d8a --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +# The stock gradle:7.1.0-jdk8 docker image has everything we need to build this project. +# No need for a Dockerfile. + +# The build target runs tests as well. +docker run --rm -v $(pwd):/datadog-lambda-java -w /datadog-lambda-java gradle:7.1.0-jdk8 ./gradlew clean GenerateBuildConfig build + +echo "" +echo "Build succeeded." +echo "Check build/libs/ for the build artifacts" diff --git a/scripts/publish_library.sh b/scripts/publish_library.sh new file mode 100755 index 0000000..bdc5361 --- /dev/null +++ b/scripts/publish_library.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +if [[ ${SONATYPE_USERNAME-} == "" ]] +then + echo "SONATYPE_USERNAME required for publishing" + exit 1 +fi + + +if [[ ${SONATYPE_PASSWORD-} == "" ]] +then + echo "SONATYPE_PASSWORD required for publishing" + exit 1 +fi + +# The stock gradle:7.1.0-jdk8 docker image has everything we need to build this project. +# No need for a Dockerfile +docker run --rm -v "$(pwd)":/datadog-lambda-java \ + -w /datadog-lambda-java\ + -e SONATYPE_USERNAME \ + -e SONATYPE_PASSWORD \ + gradle:7.1.0-jdk8 \ + ./gradlew clean GenerateBuildConfig build uploadArchives + +echo "" +echo "The library has been published to the Staging Repository" +echo "Please visit https://oss.sonatype.org/#stagingRepositories to release" diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh new file mode 100755 index 0000000..d624374 --- /dev/null +++ b/scripts/run_tests.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +# The stock gradle:7.1.0-jdk8 docker image has everything we need to build this project. +# No need for a Dockerfile +docker run --rm -v $(pwd):/datadog-lambda-java -w /datadog-lambda-java gradle:7.1.0-jdk8 ./gradlew test From cfc2ada932e19bd259980b52b010cc0609cacf0c Mon Sep 17 00:00:00 2001 From: "chris.agocs" Date: Tue, 29 Jun 2021 17:09:46 -0400 Subject: [PATCH 2/2] make the docker run commands easier to read --- scripts/build.sh | 6 +++++- scripts/run_tests.sh | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index fd44d8a..8fd3f1f 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,7 +6,11 @@ IFS=$'\n\t' # No need for a Dockerfile. # The build target runs tests as well. -docker run --rm -v $(pwd):/datadog-lambda-java -w /datadog-lambda-java gradle:7.1.0-jdk8 ./gradlew clean GenerateBuildConfig build +docker run --rm \ + -v $(pwd):/datadog-lambda-java \ + -w /datadog-lambda-java \ + gradle:7.1.0-jdk8 \ + ./gradlew clean GenerateBuildConfig build echo "" echo "Build succeeded." diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh index d624374..0b38618 100755 --- a/scripts/run_tests.sh +++ b/scripts/run_tests.sh @@ -4,4 +4,8 @@ IFS=$'\n\t' # The stock gradle:7.1.0-jdk8 docker image has everything we need to build this project. # No need for a Dockerfile -docker run --rm -v $(pwd):/datadog-lambda-java -w /datadog-lambda-java gradle:7.1.0-jdk8 ./gradlew test +docker run --rm \ + -v $(pwd):/datadog-lambda-java \ + -w /datadog-lambda-java \ + gradle:7.1.0-jdk8 \ + ./gradlew test