ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/lib-src/build-jtreg
(Generate patch)

Comparing lib-src/build-jtreg (file contents):
Revision 1.1 by jsr166, Sun Dec 4 17:06:25 2016 UTC vs.
Revision 1.10 by jsr166, Thu Feb 15 21:33:27 2018 UTC

# Line 5 | Line 5
5  
6   set -eux
7  
8 < declare -a MAKE_FLAGS=() TMP_FILES=()
8 > declare -a MAKE_FLAGS=() DOWNLOADED_MAVEN_JARS=()
9 >
10 > die() { printf "%s: $1\n" "$0" "${@:2}" >&2; exit 2; }
11  
12   def_make_var() {
13    typeset -n varref="$1"
# Line 14 | Line 16 | def_make_var() {
16   }
17  
18   def_make_file() {
19 <  [[ -f "$2" ]]
19 >  [[ -f "$2" ]] || die "%s: no such file" "$2"
20    def_make_var "$@"
21   }
22  
23   def_make_dir() {
24 <  [[ -d "$2" ]]
24 >  [[ -d "$2" ]] || die "%s: no such directory" "$2"
25    def_make_var "$@"
26   }
27  
28   download_ubuntu() {
29 <    local -r pkg="$1"
30 <    wget -q "http://us.archive.ubuntu.com/ubuntu/pool/universe/${pkg:0:1}/${pkg}"
29 >  local -r pkg="$1"
30 >  wget -q "http://us.archive.ubuntu.com/ubuntu/pool/universe/${pkg:0:1}/${pkg}"
31   }
32  
33   download_maven_jar() {
# Line 34 | Line 36 | download_maven_jar() {
36    wget -qO"/tmp/$jarfile" \
37      "http://search.maven.org/remotecontent?filepath=${groupId}/${artifactId}/${version}/${jarfile}"
38    def_make_file "${artifactId^^}_JAR" "/tmp/$jarfile"
39 <  TMP_FILES+=("/tmp/$jarfile")
39 >  DOWNLOADED_MAVEN_JARS+=("/tmp/$jarfile")
40   }
41  
42   main() {
43    [[ "$PWD" =~ /lib-src$ ]] || { echo Always run as ./build-jtreg; exit 1; }
44 <  TESTNG_VERSION="6.9.8"
44 >  TESTNG_VERSION="6.9.9"
45    rm -rf "/tmp/testng-$TESTNG_VERSION"*; mkdir "/tmp/testng-$TESTNG_VERSION"
46    def_make_dir TESTNG_HOME "/tmp/testng-$TESTNG_VERSION"
47  
48 <  download_maven_jar "junit" "junit" "4.10"
49 <  download_maven_jar "org/testng" "testng" "$TESTNG_VERSION"
50 <  download_maven_jar "com/beust" "jcommander" "1.48"
49 <
48 >  # Download a mostly unused testng distribution, because jtreg's
49 >  # makefiles want both TESTNG_JAR and TESTNG_HOME.
50 >  # https://github.com/cbeust/testng/releases
51    rm -rf "/tmp/${TESTNG_VERSION}.tar.gz" "/tmp/${TESTNG_VERSION}"
52    wget -qO"/tmp/testng-${TESTNG_VERSION}.tar.gz" \
53      "https://github.com/cbeust/testng/archive/${TESTNG_VERSION}.tar.gz"
# Line 56 | Line 57 | main() {
57      rm -f "/tmp/testng-${TESTNG_VERSION}.tar.gz"
58    )
59  
60 +  download_maven_jar "junit" "junit" "4.10"
61 +  download_maven_jar "org/testng" "testng" "$TESTNG_VERSION"
62 +  download_maven_jar "com/beust" "jcommander" "1.72"
63 +
64 +  # TODO: Upgrade to jtharness 5.x
65    rm -rf jtharness-4.6; rm -f ./*jtharness*4.6*
66    download_ubuntu "jtharness/jtharness_4.6-1.debian.tar.xz"
67    download_ubuntu "jtharness/jtharness_4.6-1.dsc"
# Line 105 | Line 111 | main() {
111    def_make_file JAVATEST_JAR "$(find $EXTRACT/ -name javatest.jar)"
112    def_make_file JAVAHELP_JAR "$(find $EXTRACT/ -name jh.jar)"
113  
114 <  # hg clone http://hg.openjdk.java.net/code-tools/jtreg
115 <  def_make_var BUILD_NUMBER "b04"
114 >  hg_clone_codetools() {
115 >    local -r repo="$1" rev="$2"
116 >    rm -rf "$repo"
117 >    hg clone -r "$rev" "http://hg.openjdk.java.net/code-tools/${repo}"
118 >    rm -rf "${repo}/.hg"
119 >    tar cJf "${repo}.tar.xz" "$repo"
120 >  }
121 >
122 >  # asmtools is optional, but let's build it for completeness.
123 >  hg_clone_codetools asmtools 7.0-b02
124 >  rm -rf "asmtools-"*"-build"
125 >  (cd "asmtools/build" && ant build)
126 >  def_make_dir ASMTOOLS_HOME "$PWD/asmtools-"*"-build/release"
127 >
128 >  def_make_var BUILD_NUMBER "b12"
129    JTREG_REV="jtreg4.2-${BUILD_NUMBER}"
130 <  rm -rf "jtreg" "$JTREG_REV" "$JTREG_REV.tar.gz"
112 <  wget -q "http://hg.openjdk.java.net/code-tools/jtreg/archive/$JTREG_REV.tar.gz"
113 <  tar xzf "$JTREG_REV.tar.gz"
114 <  mv "jtreg-$JTREG_REV" "jtreg"
130 >  hg_clone_codetools jtreg "$JTREG_REV"
131  
132    def_make_dir JDK17HOME "$HOME/jdk/jdk7"
133    def_make_dir JDK18HOME "$HOME/jdk/jdk8"
# Line 123 | Line 139 | main() {
139  
140    cp jtreg/build/images/jtreg/lib/*.jar ../jsr166/lib/.
141  
142 <  # Clean up intermediate artifacts
143 <  rm -rf jtreg extract "${TMP_FILES[@]}" "$JTHARNESS_HOME" "$TESTNG_HOME"
142 >  # As a side effect, save a general purpose jtreg "distribution".
143 >  rsync -a jtreg/build/images/jtreg/ "${JTREG_REV#jtreg}/"
144 >
145 >  # Clean up intermediate artifacts.
146 >  # asmtools creates a bogus index.html
147 >  rm -rf asmtools asmtools-*-build index.html \
148 >    jtreg extract "${DOWNLOADED_MAVEN_JARS[@]}" \
149 >    "$JTHARNESS_HOME" "$TESTNG_HOME"
150  
151    exit 0
152   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines