Droiddoc Support in Soong
Support Droiddoc to Soong based on core/droiddoc.mk. The non-std doclet
based droiddoc compilation output is a "real" stubs.jar instead of a
directory of java files and a timestamp file.
The std doclet based javadoc compilation output is a "empty" stubs.jar
instead of a timestamp file.
The stubs.jar will be exported to
out/target/common/obj/JAVA_LIBRARIES/$(LOCAL_MODULE)_intermediates/classes.jar
and out/target/common/docs/$(LOCAL_MODULE)-stubs.jar
A $(LOCAL_MODULE).zip file will be generated also, and is exported to
out/target/common/docs/$(LOCAL_MODULE)-docs.zip if property: installable is not set
to false.
Bug: b/70351683
Test: unittest + convert libcore docs Android.mk to Soong manually.
Change-Id: I1cffddd138a5d9d445f86a3d4a3fd4de88a2bc0f
(cherry picked from commit 78188ec622cb1ee24171455867fc58ffab91562e)
diff --git a/java/java.go b/java/java.go
index 65bd438..4a7d704 100644
--- a/java/java.go
+++ b/java/java.go
@@ -538,8 +538,8 @@
}
type deps struct {
- classpath android.Paths
- bootClasspath android.Paths
+ classpath classpath
+ bootClasspath classpath
staticJars android.Paths
staticHeaderJars android.Paths
staticJarResources android.Paths
@@ -688,8 +688,8 @@
}
// classpath
- flags.bootClasspath.AddPaths(deps.bootClasspath)
- flags.classpath.AddPaths(deps.classpath)
+ flags.bootClasspath = append(flags.bootClasspath, deps.bootClasspath...)
+ flags.classpath = append(flags.classpath, deps.classpath...)
if len(flags.bootClasspath) == 0 && ctx.Host() && !ctx.Config().TargetOpenJDK9() &&
!Bool(j.properties.No_standard_libs) &&
@@ -836,7 +836,7 @@
}
if enable_sharding {
- flags.classpath.AddPaths([]android.Path{j.headerJarFile})
+ flags.classpath = append(flags.classpath, j.headerJarFile)
shardSize := int(*(j.properties.Javac_shard_size))
var shardSrcs []android.Paths
if len(uniqueSrcFiles) > 0 {