Merge "Move jarjar repackage action before combine action" into main
This commit is contained in:
42
java/base.go
42
java/base.go
@@ -94,9 +94,6 @@ type CommonProperties struct {
|
||||
// if not blank, used as prefix to generate repackage rule
|
||||
Jarjar_prefix *string
|
||||
|
||||
// if set to true, skip the jarjar repackaging
|
||||
Skip_jarjar_repackage *bool
|
||||
|
||||
// If not blank, set the java version passed to javac as -source and -target
|
||||
Java_version *string
|
||||
|
||||
@@ -1103,13 +1100,11 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
||||
jarjarProviderData := j.collectJarJarRules(ctx)
|
||||
if jarjarProviderData != nil {
|
||||
android.SetProvider(ctx, JarJarProvider, *jarjarProviderData)
|
||||
if !proptools.Bool(j.properties.Skip_jarjar_repackage) {
|
||||
text := getJarJarRuleText(jarjarProviderData)
|
||||
if text != "" {
|
||||
ruleTextFile := android.PathForModuleOut(ctx, "repackaged-jarjar", "repackaging.txt")
|
||||
android.WriteFileRule(ctx, ruleTextFile, text)
|
||||
j.repackageJarjarRules = ruleTextFile
|
||||
}
|
||||
text := getJarJarRuleText(jarjarProviderData)
|
||||
if text != "" {
|
||||
ruleTextFile := android.PathForModuleOut(ctx, "repackaged-jarjar", "repackaging.txt")
|
||||
android.WriteFileRule(ctx, ruleTextFile, text)
|
||||
j.repackageJarjarRules = ruleTextFile
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1294,10 +1289,12 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
||||
return
|
||||
}
|
||||
|
||||
kotlinJarPath := j.repackageFlagsIfNecessary(ctx, kotlinJar.OutputPath, jarName, "kotlinc")
|
||||
|
||||
// Make javac rule depend on the kotlinc rule
|
||||
flags.classpath = append(classpath{kotlinHeaderJar}, flags.classpath...)
|
||||
|
||||
kotlinJars = append(kotlinJars, kotlinJar)
|
||||
kotlinJars = append(kotlinJars, kotlinJarPath)
|
||||
kotlinHeaderJars = append(kotlinHeaderJars, kotlinHeaderJar)
|
||||
|
||||
// Jar kotlin classes into the final jar after javac
|
||||
@@ -1377,6 +1374,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
||||
for idx, shardSrc := range shardSrcs {
|
||||
classes := j.compileJavaClasses(ctx, jarName, idx, shardSrc,
|
||||
nil, flags, extraJarDeps)
|
||||
classes = j.repackageFlagsIfNecessary(ctx, classes, jarName, "javac-"+strconv.Itoa(idx))
|
||||
jars = append(jars, classes)
|
||||
}
|
||||
}
|
||||
@@ -1389,11 +1387,13 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
||||
for idx, shardSrcJars := range shardSrcJarsList {
|
||||
classes := j.compileJavaClasses(ctx, jarName, startIdx+idx,
|
||||
nil, shardSrcJars, flags, extraJarDeps)
|
||||
classes = j.repackageFlagsIfNecessary(ctx, classes, jarName, "javac-"+strconv.Itoa(startIdx+idx))
|
||||
jars = append(jars, classes)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
classes := j.compileJavaClasses(ctx, jarName, -1, uniqueJavaFiles, srcJars, flags, extraJarDeps)
|
||||
classes = j.repackageFlagsIfNecessary(ctx, classes, jarName, "javac")
|
||||
jars = append(jars, classes)
|
||||
}
|
||||
if ctx.Failed() {
|
||||
@@ -1552,16 +1552,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
||||
}
|
||||
}
|
||||
|
||||
// Automatic jarjar rules propagation
|
||||
if j.repackageJarjarRules != nil {
|
||||
repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-jarjar", jarName).OutputPath
|
||||
TransformJarJar(ctx, repackagedJarjarFile, outputFile, j.repackageJarjarRules)
|
||||
outputFile = repackagedJarjarFile
|
||||
if ctx.Failed() {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Check package restrictions if necessary.
|
||||
if len(j.properties.Permitted_packages) > 0 {
|
||||
// Time stamp file created by the package check rule.
|
||||
@@ -2686,6 +2676,16 @@ func getJarJarRuleText(provider *JarJarProviderData) string {
|
||||
return result
|
||||
}
|
||||
|
||||
// Repackage the flags if the jarjar rule txt for the flags is generated
|
||||
func (j *Module) repackageFlagsIfNecessary(ctx android.ModuleContext, infile android.WritablePath, jarName, info string) android.WritablePath {
|
||||
if j.repackageJarjarRules == nil {
|
||||
return infile
|
||||
}
|
||||
repackagedJarjarFile := android.PathForModuleOut(ctx, "repackaged-jarjar", info+jarName)
|
||||
TransformJarJar(ctx, repackagedJarjarFile, infile, j.repackageJarjarRules)
|
||||
return repackagedJarjarFile
|
||||
}
|
||||
|
||||
func addPlugins(deps *deps, pluginJars android.Paths, pluginClasses ...string) {
|
||||
deps.processorPath = append(deps.processorPath, pluginJars...)
|
||||
deps.processorClasses = append(deps.processorClasses, pluginClasses...)
|
||||
|
Reference in New Issue
Block a user