aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/extract-srcjars.sh
blob: 918cf8a53ef085d74bd3b15b2ac67ddfbca1f0ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash -e

# Extracts .java files from source jars in a specified directory and writes out a list of the files

if [ -z "$1" -o -z "$2" ]; then
  echo "usage: $0 <output dir> <output file> [<jar> ...]" >&2
  exit 1
fi

output_dir=$1
shift
output_file=$1
shift

rm -f $output_file
touch $output_file

for j in "$@"; do
  for f in $(zipinfo -1 $j '*.java'); do
    echo $output_dir/$f >> $output_file
  done
  unzip -qn -d $output_dir $j '*.java'
done

duplicates=$(cat $output_file | sort | uniq -d | uniq)
if [ -n "$duplicates" ]; then
  echo Duplicate source files:
  echo $duplicates
  exit 1
fi