blob: aabb0a46f037a5088a3c42a3e6fd0397a269d92f [file] [log] [blame]
Klaus Aehlig4ca79d42016-10-22 07:59:41 +00001#!/bin/sh
2
3# Copyright 2016 The Bazel Authors. All rights reserved.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17set -eu
18
19# Combine src jars to a single archive containing all the source files.
20
Jakob Buchgraberc1fc17a2018-05-24 02:51:14 -070021
22case $1 in
23 "/"*) JAVABASE="$1" ;;
24 *) JAVABASE="${PWD}/$1" ;;
25esac
Klaus Aehlig86c9d942017-06-30 13:41:19 +020026shift
Klaus Aehlig4ca79d42016-10-22 07:59:41 +000027OUTPUT="${PWD}/$1"
28shift
29
30TMP_DIR=${TMPDIR:-/tmp}
31PACKAGE_DIR="$(mktemp -d ${TMP_DIR%%/}/bazel.XXXXXXXX)"
32trap "rm -fr \"${PACKAGE_DIR}\"" EXIT
33JAVA_SRC_DIR="${PACKAGE_DIR}/derived/src/java"
34mkdir -p "${JAVA_SRC_DIR}"
35
36for i in $*
37do
38 JARFILE="${PWD}/$i"
Klaus Aehlig86c9d942017-06-30 13:41:19 +020039 (cd "${JAVA_SRC_DIR}" && "${JAVABASE}/bin/jar" xf "${JARFILE}")
Klaus Aehlig4ca79d42016-10-22 07:59:41 +000040done
41
42find "${PACKAGE_DIR}" -exec touch -t 198001010000.00 '{}' '+'
43(cd "${PACKAGE_DIR}" && find . -type f | sort | zip -qDX@ "${OUTPUT}")