Be explicit about out file formats.
There was no explicit format for output into the source tree directly.
Test: update-makefiles.sh
Change-Id: I471f32e6b294ccf213181da0b8a5986620d4e62b
diff --git a/main.cpp b/main.cpp
index 9d3cedd..62f28e5 100644
--- a/main.cpp
+++ b/main.cpp
@@ -36,6 +36,7 @@
enum OutputMode {
NEEDS_DIR,
NEEDS_FILE,
+ NEEDS_SRC, // for changes inside the source tree itself
NOT_NEEDED
} mOutputMode;
@@ -454,7 +455,7 @@
const FQName &packageFQName,
const char *hidl_gen,
Coordinator *coordinator,
- const std::string &) {
+ const std::string &outputPath) {
CHECK(packageFQName.isValid() &&
!packageFQName.isFullyQualified() &&
@@ -515,7 +516,7 @@
return OK;
}
- std::string path = coordinator->getRootPath();
+ std::string path = outputPath;
path.append(coordinator->getPackagePath(packageFQName, false /* relative */));
path.append("Android.mk");
@@ -696,7 +697,7 @@
const FQName &packageFQName,
const char *hidl_gen,
Coordinator *coordinator,
- const std::string &) {
+ const std::string &outputPath) {
CHECK(packageFQName.isValid() &&
!packageFQName.isFullyQualified() &&
@@ -733,7 +734,7 @@
ast->getImportedPackagesHierarchy(&importedPackagesHierarchy);
}
- std::string path = coordinator->getRootPath();
+ std::string path = outputPath;
path.append(coordinator->getPackagePath(packageFQName, false /* relative */));
path.append("Android.bp");
@@ -1229,13 +1230,13 @@
},
{"makefile",
- OutputHandler::NOT_NEEDED /* mOutputMode */,
+ OutputHandler::NEEDS_SRC /* mOutputMode */,
validateForMakefile,
generateMakefileForPackage,
},
{"androidbp",
- OutputHandler::NOT_NEEDED /* mOutputMode */,
+ OutputHandler::NEEDS_SRC /* mOutputMode */,
validateForMakefile,
generateAndroidBpForPackage,
},
@@ -1398,6 +1399,14 @@
}
break;
}
+ case OutputHandler::NEEDS_SRC:
+ {
+ if (outputPath.empty()) {
+ outputPath = rootPath;
+ }
+
+ break;
+ }
default:
outputPath.clear(); // Unused.