diff options
author | Colin Cross <ccross@android.com> | 2018-03-15 16:24:10 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2018-03-20 11:21:42 -0700 |
commit | 0a7d85a89609053e604035c27552dcf8cd483f5d (patch) | |
tree | 9611d86534fdbfa5d6152a7be19434ac28b438c8 /java | |
parent | f2986f067bdac13049a2f0449d77ab1f63b0ef90 (diff) | |
download | build_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.go | 12 | ||||
-rw-r--r-- | java/config/config.go | 2 | ||||
-rw-r--r-- | java/config/makevars.go | 2 | ||||
-rw-r--r-- | java/droiddoc.go | 4 |
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", |