mirror of
https://github.com/google/nomulus.git
synced 2025-04-29 19:47:51 +02:00
We would like to re-use the build cache when building RCs for different environments. There's not much practical use in doing a "clean" for every build when Gradle should be able to figure out which artifacts need to be rebuilt. It also does not make sense to build each environment in a separate step, which also introduces redunency because not all artifacts are cached across steps. The build cache is enabled by default. Lastly, the cache needs to be inside the /workspace folder, which is the default persisted storage location. TESTED=tried to build the RCs on alpha and saved about 10 min. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/google/nomulus/1619) <!-- Reviewable:end -->
61 lines
1.6 KiB
Bash
Executable file
61 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# Copyright 2019 The Nomulus Authors. All Rights Reserved.
|
|
#
|
|
# Licensed 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.
|
|
#
|
|
# This script builds the GAE artifacts for a given environment, moves the
|
|
# artifacts for all services to a designated location, and then creates a
|
|
# tarball from there.
|
|
|
|
set -e
|
|
|
|
if [ $# -ne 2 ];
|
|
then
|
|
echo "Usage: $0 alpha|crash|sandbox|production|tool <destination>"
|
|
exit 1
|
|
fi
|
|
|
|
environment="$1"
|
|
dest="$2"
|
|
gcs_prefix="gcs://domain-registry-maven-repository"
|
|
|
|
if [ "${environment}" == tool ]
|
|
then
|
|
mkdir -p "${dest}"
|
|
|
|
./gradlew :core:buildToolImage \
|
|
-PmavenUrl="${gcs_prefix}"/maven \
|
|
-PpluginsUrl="${gcs_prefix}"/plugins
|
|
|
|
mv core/build/libs/nomulus.jar "${dest}"
|
|
else
|
|
dest="${dest}/$1"
|
|
mkdir -p "${dest}"
|
|
|
|
./gradlew stage -Penvironment="${environment}" \
|
|
-PmavenUrl="${gcs_prefix}"/maven \
|
|
-PpluginsUrl="${gcs_prefix}"/plugins
|
|
|
|
for service in default pubapi backend tools
|
|
do
|
|
mv services/"${service}"/build/staged-app "${dest}/${service}"
|
|
done
|
|
|
|
mv core/build/resources/main/google/registry/env/common/META-INF \
|
|
"${dest}/META-INF"
|
|
|
|
cd "${dest}"
|
|
tar cvf ../"${environment}.tar" .
|
|
cd -
|
|
rm -rf "${dest}"
|
|
fi
|