Codegen: execute JavaGenerator only after tasks are evaluated

Summary:
Instead of invoking JavaGenerator when the task is registered, do it when the task actually executes. This way, it will wait until the other task it depends on to finish executing.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D23276359

fbshipit-source-id: 6aea98d97121f2dcfd83b299e38debc767f08240
This commit is contained in:
Kevin Gozali
2020-08-22 11:34:57 -07:00
committed by Facebook GitHub Bot
parent 1aaa3d95c0
commit b0fbbe5442
@@ -98,10 +98,13 @@ public class CodegenPlugin implements Plugin<Project> {
task.getOutputs().dir(outputDir);
if (extension.useJavaGenerator) {
generateJavaFromSchemaWithJavaGenerator(
generatedSchemaFile,
extension.codegenJavaPackageName,
new File(generatedSrcDir, "java"));
task.doLast(
s -> {
generateJavaFromSchemaWithJavaGenerator(
generatedSchemaFile,
extension.codegenJavaPackageName,
new File(generatedSrcDir, "java"));
});
// TODO: generate JNI C++ files.
task.commandLine("echo");
} else {