hidl_interface: remove need for 'types' am: feaee3b483 am: 19192dfdfc
am: 2b5328481a
Change-Id: I0a88767729c1552e3a8bcdfa1c53b23f5d00e0f6
diff --git a/build/hidl_interface.go b/build/hidl_interface.go
index 0139a99..179642f 100644
--- a/build/hidl_interface.go
+++ b/build/hidl_interface.go
@@ -34,8 +34,9 @@
pctx = android.NewPackageContext("android/hidl")
- hidl = pctx.HostBinToolVariable("hidl", "hidl-gen")
- vtsc = pctx.HostBinToolVariable("vtsc", "vtsc")
+ hidl = pctx.HostBinToolVariable("hidl", "hidl-gen")
+ vtsc = pctx.HostBinToolVariable("vtsc", "vtsc")
+ soong_zip = pctx.HostBinToolVariable("soong_zip", "soong_zip")
hidlRule = pctx.StaticRule("hidlRule", blueprint.RuleParams{
Depfile: "${depfile}",
@@ -45,6 +46,14 @@
Description: "HIDL ${language}: ${in} => ${out}",
}, "depfile", "fqName", "genDir", "language", "roots")
+ hidlSrcJarRule = pctx.StaticRule("hidlSrcJarRule", blueprint.RuleParams{
+ Depfile: "${depfile}",
+ Deps: blueprint.DepsGCC,
+ Command: "rm -rf ${genDir} && ${hidl} -R -p . -d ${depfile} -o ${genDir}/srcs -L ${language} ${roots} ${fqName} && ${soong_zip} -o ${genDir}/srcs.srcjar -D ${genDir}/srcs",
+ CommandDeps: []string{"${hidl}", "${soong_zip}"},
+ Description: "HIDL ${language}: ${in} => srcs.srcjar",
+ }, "depfile", "fqName", "genDir", "language", "roots")
+
vtsRule = pctx.StaticRule("vtsRule", blueprint.RuleParams{
Command: "rm -rf ${genDir} && ${vtsc} -m${mode} -t${type} ${inputDir}/${packagePath} ${genDir}/${packagePath}",
CommandDeps: []string{"${vtsc}"},
@@ -121,8 +130,13 @@
inputs = append(inputs, currentPath.Path())
}
+ rule := hidlRule
+ if g.properties.Language == "java" {
+ rule = hidlSrcJarRule
+ }
+
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
- Rule: hidlRule,
+ Rule: rule,
Inputs: inputs,
Output: g.genOutputs[0],
ImplicitOutputs: g.genOutputs[1:],
@@ -255,7 +269,7 @@
// Package root for this package, must be a prefix of name
Root string
- // List of non-TypeDef types declared in types.hal.
+ // Unused/deprecated: List of non-TypeDef types declared in types.hal.
Types []string
// Whether to generate the Java library stubs.
@@ -489,8 +503,7 @@
Root: i.properties.Root,
Interfaces: i.properties.Interfaces,
Inputs: i.properties.Srcs,
- Outputs: concat(wrap(name.sanitizedDir()+"I", interfaces, ".java"),
- wrap(name.sanitizedDir(), i.properties.Types, ".java")),
+ Outputs: []string{"srcs.srcjar"},
}, &i.inheritCommonProperties)
mctx.CreateModule(android.ModuleFactoryAdaptor(java.LibraryFactory), &javaProperties{
Name: proptools.StringPtr(name.javaName()),
diff --git a/main.cpp b/main.cpp
index e2f5d40..c03b6fc 100644
--- a/main.cpp
+++ b/main.cpp
@@ -624,25 +624,6 @@
}
}) << "],\n";
}
- if (typesAST != nullptr) {
- (out << "types: [\n").indent([&] {
- std::vector<NamedType *> subTypes = typesAST->getRootScope()->getSubTypes();
- std::sort(
- subTypes.begin(),
- subTypes.end(),
- [](const NamedType *a, const NamedType *b) -> bool {
- return a->fqName() < b->fqName();
- });
-
- for (const auto &type : subTypes) {
- if (type->isTypeDef()) {
- continue;
- }
-
- out << "\"" << type->localName() << "\",\n";
- }
- }) << "],\n";
- }
// Explicity call this out for developers.
out << "gen_java: " << (genJavaLibrary ? "true" : "false") << ",\n";
if (genJavaConstants) {
diff --git a/test/vendor/1.0/Android.bp b/test/vendor/1.0/Android.bp
index 4f8485b..ebf8c70 100644
--- a/test/vendor/1.0/Android.bp
+++ b/test/vendor/1.0/Android.bp
@@ -1,7 +1,10 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
hidl_interface {
name: "hidl.tests.vendor@1.0",
owner: "some-owner-name",
root: "hidl.tests",
+ product_specific: true,
srcs: [
"types.hal",
"IVendor.hal",
@@ -10,11 +13,6 @@
"android.hardware.tests.baz@1.0",
"android.hidl.base@1.0",
],
- types: [
- "Bar",
- "Foo",
- "FooToo",
- ],
gen_java: true,
gen_java_constants: true,
diff --git a/test/vendor/1.1/Android.bp b/test/vendor/1.1/Android.bp
index 80cecb2..fcf8e17 100644
--- a/test/vendor/1.1/Android.bp
+++ b/test/vendor/1.1/Android.bp
@@ -4,6 +4,7 @@
name: "hidl.tests.vendor@1.1",
owner: "some-owner-name",
root: "hidl.tests",
+ product_specific: true,
srcs: [
"IVendor.hal",
],