blob: e28c8c7bb95baa3f2695dff230931075baf29f1e [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
Klaus Aehlig86c9d942017-06-30 13:41:19 +020021JAVABASE="${PWD}/$1"
22shift
Klaus Aehlig4ca79d42016-10-22 07:59:41 +000023OUTPUT="${PWD}/$1"
24shift
25
26TMP_DIR=${TMPDIR:-/tmp}
27PACKAGE_DIR="$(mktemp -d ${TMP_DIR%%/}/bazel.XXXXXXXX)"
28trap "rm -fr \"${PACKAGE_DIR}\"" EXIT
29JAVA_SRC_DIR="${PACKAGE_DIR}/derived/src/java"
30mkdir -p "${JAVA_SRC_DIR}"
31
32for i in $*
33do
34 JARFILE="${PWD}/$i"
Klaus Aehlig86c9d942017-06-30 13:41:19 +020035 (cd "${JAVA_SRC_DIR}" && "${JAVABASE}/bin/jar" xf "${JARFILE}")
Klaus Aehlig4ca79d42016-10-22 07:59:41 +000036done
37
38find "${PACKAGE_DIR}" -exec touch -t 198001010000.00 '{}' '+'
39(cd "${PACKAGE_DIR}" && find . -type f | sort | zip -qDX@ "${OUTPUT}")