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
|
// if not blank, used as prefix to generate repackage rule
|
||||||
Jarjar_prefix *string
|
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
|
// If not blank, set the java version passed to javac as -source and -target
|
||||||
Java_version *string
|
Java_version *string
|
||||||
|
|
||||||
@@ -1103,13 +1100,11 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
jarjarProviderData := j.collectJarJarRules(ctx)
|
jarjarProviderData := j.collectJarJarRules(ctx)
|
||||||
if jarjarProviderData != nil {
|
if jarjarProviderData != nil {
|
||||||
android.SetProvider(ctx, JarJarProvider, *jarjarProviderData)
|
android.SetProvider(ctx, JarJarProvider, *jarjarProviderData)
|
||||||
if !proptools.Bool(j.properties.Skip_jarjar_repackage) {
|
text := getJarJarRuleText(jarjarProviderData)
|
||||||
text := getJarJarRuleText(jarjarProviderData)
|
if text != "" {
|
||||||
if text != "" {
|
ruleTextFile := android.PathForModuleOut(ctx, "repackaged-jarjar", "repackaging.txt")
|
||||||
ruleTextFile := android.PathForModuleOut(ctx, "repackaged-jarjar", "repackaging.txt")
|
android.WriteFileRule(ctx, ruleTextFile, text)
|
||||||
android.WriteFileRule(ctx, ruleTextFile, text)
|
j.repackageJarjarRules = ruleTextFile
|
||||||
j.repackageJarjarRules = ruleTextFile
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1294,10 +1289,12 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kotlinJarPath := j.repackageFlagsIfNecessary(ctx, kotlinJar.OutputPath, jarName, "kotlinc")
|
||||||
|
|
||||||
// Make javac rule depend on the kotlinc rule
|
// Make javac rule depend on the kotlinc rule
|
||||||
flags.classpath = append(classpath{kotlinHeaderJar}, flags.classpath...)
|
flags.classpath = append(classpath{kotlinHeaderJar}, flags.classpath...)
|
||||||
|
|
||||||
kotlinJars = append(kotlinJars, kotlinJar)
|
kotlinJars = append(kotlinJars, kotlinJarPath)
|
||||||
kotlinHeaderJars = append(kotlinHeaderJars, kotlinHeaderJar)
|
kotlinHeaderJars = append(kotlinHeaderJars, kotlinHeaderJar)
|
||||||
|
|
||||||
// Jar kotlin classes into the final jar after javac
|
// 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 {
|
for idx, shardSrc := range shardSrcs {
|
||||||
classes := j.compileJavaClasses(ctx, jarName, idx, shardSrc,
|
classes := j.compileJavaClasses(ctx, jarName, idx, shardSrc,
|
||||||
nil, flags, extraJarDeps)
|
nil, flags, extraJarDeps)
|
||||||
|
classes = j.repackageFlagsIfNecessary(ctx, classes, jarName, "javac-"+strconv.Itoa(idx))
|
||||||
jars = append(jars, classes)
|
jars = append(jars, classes)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1389,11 +1387,13 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
for idx, shardSrcJars := range shardSrcJarsList {
|
for idx, shardSrcJars := range shardSrcJarsList {
|
||||||
classes := j.compileJavaClasses(ctx, jarName, startIdx+idx,
|
classes := j.compileJavaClasses(ctx, jarName, startIdx+idx,
|
||||||
nil, shardSrcJars, flags, extraJarDeps)
|
nil, shardSrcJars, flags, extraJarDeps)
|
||||||
|
classes = j.repackageFlagsIfNecessary(ctx, classes, jarName, "javac-"+strconv.Itoa(startIdx+idx))
|
||||||
jars = append(jars, classes)
|
jars = append(jars, classes)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
classes := j.compileJavaClasses(ctx, jarName, -1, uniqueJavaFiles, srcJars, flags, extraJarDeps)
|
classes := j.compileJavaClasses(ctx, jarName, -1, uniqueJavaFiles, srcJars, flags, extraJarDeps)
|
||||||
|
classes = j.repackageFlagsIfNecessary(ctx, classes, jarName, "javac")
|
||||||
jars = append(jars, classes)
|
jars = append(jars, classes)
|
||||||
}
|
}
|
||||||
if ctx.Failed() {
|
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.
|
// Check package restrictions if necessary.
|
||||||
if len(j.properties.Permitted_packages) > 0 {
|
if len(j.properties.Permitted_packages) > 0 {
|
||||||
// Time stamp file created by the package check rule.
|
// Time stamp file created by the package check rule.
|
||||||
@@ -2686,6 +2676,16 @@ func getJarJarRuleText(provider *JarJarProviderData) string {
|
|||||||
return result
|
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) {
|
func addPlugins(deps *deps, pluginJars android.Paths, pluginClasses ...string) {
|
||||||
deps.processorPath = append(deps.processorPath, pluginJars...)
|
deps.processorPath = append(deps.processorPath, pluginJars...)
|
||||||
deps.processorClasses = append(deps.processorClasses, pluginClasses...)
|
deps.processorClasses = append(deps.processorClasses, pluginClasses...)
|
||||||
|
Reference in New Issue
Block a user