aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2018-03-15 16:24:10 -0700
committerColin Cross <ccross@android.com>2018-03-20 11:21:42 -0700
commit0a7d85a89609053e604035c27552dcf8cd483f5d (patch)
tree9611d86534fdbfa5d6152a7be19434ac28b438c8 /java
parentf2986f067bdac13049a2f0449d77ab1f63b0ef90 (diff)
downloadbuild_soong-0a7d85a89609053e604035c27552dcf8cd483f5d.tar.gz
build_soong-0a7d85a89609053e604035c27552dcf8cd483f5d.tar.bz2
build_soong-0a7d85a89609053e604035c27552dcf8cd483f5d.zip
Replace extract-srcjars.sh with zipsync tool
extract_srcjars.sh uses zipinfo and unzip, which fail with an error on an empty zip file. Instead of trying to hack around this (which is hard to make guarantees for since they are non-hermetic host tools), replace them with a go tool to unzip a set of zip files into a directory. Bug: 73885582 Test: m checkbuild Change-Id: I151fed347ed5196726e36866ffc27bc831799afb Merged-In: I151fed347ed5196726e36866ffc27bc831799afb (cherry picked from commit 436b76564d83586c68025985bc5d9fc7774109bf)
Diffstat (limited to 'java')
-rw-r--r--java/builder.go12
-rw-r--r--java/config/config.go2
-rw-r--r--java/config/makevars.go2
-rw-r--r--java/droiddoc.go4
4 files changed, 10 insertions, 10 deletions
diff --git a/java/builder.go b/java/builder.go
index 6d894a33..bc955995 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -41,7 +41,7 @@ var (
javac = pctx.AndroidGomaStaticRule("javac",
blueprint.RuleParams{
Command: `rm -rf "$outDir" "$annoDir" "$srcJarDir" && mkdir -p "$outDir" "$annoDir" "$srcJarDir" && ` +
- `${config.ExtractSrcJarsCmd} $srcJarDir $srcJarDir/list $srcJars && ` +
+ `${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` +
`${config.SoongJavacWrapper} ${config.JavacWrapper}${config.JavacCmd} ${config.JavacHeapFlags} ${config.CommonJdkFlags} ` +
`$javacFlags $bootClasspath $classpath ` +
`-source $javaVersion -target $javaVersion ` +
@@ -50,7 +50,7 @@ var (
CommandDeps: []string{
"${config.JavacCmd}",
"${config.SoongZipCmd}",
- "${config.ExtractSrcJarsCmd}",
+ "${config.ZipSyncCmd}",
},
CommandOrderOnly: []string{"${config.SoongJavacWrapper}"},
Rspfile: "$out.rsp",
@@ -62,7 +62,7 @@ var (
kotlinc = pctx.AndroidGomaStaticRule("kotlinc",
blueprint.RuleParams{
Command: `rm -rf "$outDir" "$srcJarDir" && mkdir -p "$outDir" "$srcJarDir" && ` +
- `${config.ExtractSrcJarsCmd} $srcJarDir $srcJarDir/list $srcJars && ` +
+ `${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` +
`${config.GenKotlinBuildFileCmd} $classpath $outDir $out.rsp $srcJarDir/list > $outDir/kotlinc-build.xml &&` +
`${config.KotlincCmd} $kotlincFlags ` +
`-jvm-target $kotlinJvmTarget -Xbuild-file=$outDir/kotlinc-build.xml && ` +
@@ -72,7 +72,7 @@ var (
"${config.KotlinCompilerJar}",
"${config.GenKotlinBuildFileCmd}",
"${config.SoongZipCmd}",
- "${config.ExtractSrcJarsCmd}",
+ "${config.ZipSyncCmd}",
},
Rspfile: "$out.rsp",
RspfileContent: `$in`,
@@ -82,7 +82,7 @@ var (
errorprone = pctx.AndroidStaticRule("errorprone",
blueprint.RuleParams{
Command: `rm -rf "$outDir" "$annoDir" "$srcJarDir" && mkdir -p "$outDir" "$annoDir" "$srcJarDir" && ` +
- `${config.ExtractSrcJarsCmd} $srcJarDir $srcJarDir/list $srcJars && ` +
+ `${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` +
`${config.SoongJavacWrapper} ${config.ErrorProneCmd} ` +
`$javacFlags $bootClasspath $classpath ` +
`-source $javaVersion -target $javaVersion ` +
@@ -93,7 +93,7 @@ var (
"${config.ErrorProneJavacJar}",
"${config.ErrorProneJar}",
"${config.SoongZipCmd}",
- "${config.ExtractSrcJarsCmd}",
+ "${config.ZipSyncCmd}",
},
CommandOrderOnly: []string{"${config.SoongJavacWrapper}"},
Rspfile: "$out.rsp",
diff --git a/java/config/config.go b/java/config/config.go
index e985e69d..37f65282 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -84,13 +84,13 @@ func init() {
pctx.SourcePathVariable("JrtFsJar", "${JavaHome}/lib/jrt-fs.jar")
pctx.SourcePathVariable("Ziptime", "prebuilts/build-tools/${hostPrebuiltTag}/bin/ziptime")
- pctx.SourcePathVariable("ExtractSrcJarsCmd", "build/soong/scripts/extract-srcjars.sh")
pctx.SourcePathVariable("GenKotlinBuildFileCmd", "build/soong/scripts/gen-kotlin-build-file.sh")
pctx.SourcePathVariable("JarArgsCmd", "build/soong/scripts/jar-args.sh")
pctx.HostBinToolVariable("SoongZipCmd", "soong_zip")
pctx.HostBinToolVariable("MergeZipsCmd", "merge_zips")
pctx.HostBinToolVariable("Zip2ZipCmd", "zip2zip")
+ pctx.HostBinToolVariable("ZipSyncCmd", "zipsync")
pctx.VariableFunc("DxCmd", func(config android.Config) (string, error) {
if config.IsEnvFalse("USE_D8") {
if config.UnbundledBuild() || config.IsPdkBuild() {
diff --git a/java/config/makevars.go b/java/config/makevars.go
index 7e125d59..5210f202 100644
--- a/java/config/makevars.go
+++ b/java/config/makevars.go
@@ -73,7 +73,7 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
}
ctx.Strict("SOONG_JAVAC_WRAPPER", "${SoongJavacWrapper}")
- ctx.Strict("EXTRACT_SRCJARS", "${ExtractSrcJarsCmd}")
+ ctx.Strict("ZIPSYNC", "${ZipSyncCmd}")
ctx.Strict("JACOCO_CLI_JAR", "${JacocoCLIJar}")
ctx.Strict("DEFAULT_JACOCO_EXCLUDE_FILTER", strings.Join(DefaultJacocoExcludeFilter, ","))
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 9d6f58ee..7171c918 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -27,14 +27,14 @@ var (
javadoc = pctx.AndroidStaticRule("javadoc",
blueprint.RuleParams{
Command: `rm -rf "$outDir" "$srcJarDir" "$stubsDir" && mkdir -p "$outDir" "$srcJarDir" "$stubsDir" && ` +
- `${config.ExtractSrcJarsCmd} $srcJarDir $srcJarDir/list $srcJars && ` +
+ `${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` +
`${config.JavadocCmd} -encoding UTF-8 @$out.rsp @$srcJarDir/list ` +
`$opts $bootclasspathArgs $classpathArgs -sourcepath $sourcepath ` +
`-d $outDir -quiet && ` +
`${config.SoongZipCmd} -write_if_changed -d -o $docZip -C $outDir -D $outDir && ` +
`${config.SoongZipCmd} -write_if_changed -jar -o $out -C $stubsDir -D $stubsDir`,
CommandDeps: []string{
- "${config.ExtractSrcJarsCmd}",
+ "${config.ZipSyncCmd}",
"${config.JavadocCmd}",
"${config.SoongZipCmd}",
"$JsilverJar",