diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2015-05-09 00:49:08 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@petroules.com> | 2015-05-28 15:46:43 +0000 |
commit | c9d511989698159acff1432186bafd82bdb6bacc (patch) | |
tree | 6fbe8ca0145509295a2013399e4ae6302d2fecb1 /share/qbs/modules/java/JavaModule.qbs | |
parent | 2a13a5ec3843ef06a1a41f7220d50b7b63883abb (diff) |
Add support for tracking class, h files produced by Java inner classes.
This also resolves the "perfect parsing" issue and so determining output
file paths for Java class files won't be fooled by comments, etc.
Feel free to use NULLs, unpaired surrogates, emoji, etc!
Task-number: QBS-228
Change-Id: I3576a9a8e51a717ab8159db35f1a01e3ad91df88
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Diffstat (limited to 'share/qbs/modules/java/JavaModule.qbs')
-rw-r--r-- | share/qbs/modules/java/JavaModule.qbs | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/share/qbs/modules/java/JavaModule.qbs b/share/qbs/modules/java/JavaModule.qbs index b41fbe4d9..c1b1b18af 100644 --- a/share/qbs/modules/java/JavaModule.qbs +++ b/share/qbs/modules/java/JavaModule.qbs @@ -111,21 +111,9 @@ Module { multiplex: true inputs: ["java.java"] inputsFromDependencies: ["java.jar"] - outputFileTags: ["java.class"] // Annotations can produce additional java source files. Ignored for now. + outputFileTags: ["java.class", "hpp"] // Annotations can produce additional java source files. Ignored for now. outputArtifacts: { - // Note: We'd have to duplicate some javac functionality to catch all outputs - // (e.g. private classes), so ignore these for now. - var oFilePaths = []; - // Extract package name to find out where the class name will be - for (var i = 0; i < inputs["java.java"].length; ++i) { - var inp = inputs["java.java"][i]; - var packageName = JavaUtils.extractPackageName(inp.filePath); - var oFileName = inp.completeBaseName + ".class"; - var oFilePath = FileInfo.joinPaths(ModUtils.moduleProperty(product, "classFilesDir"), - packageName.split('.').join('/'), oFileName); - oFilePaths.push({ filePath: oFilePath, fileTags: ["java.class"] }); - } - return oFilePaths; + return JavaUtils.outputArtifacts(product, inputs); } prepare: { var cmd = new Command(ModUtils.moduleProperty(product, "compilerFilePath"), |