Details
Description
Since Qbs 1.6, I'm getting the following runtime exception:
Exception in thread "main" java.lang.RuntimeException: The set of output files determined by source code parsing: /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/AnimatedTile.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map$Orientation.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map$StaggerAxis.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map$StaggerIndex.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/MapLayer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/MapObject.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/ObjectGroup.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Sprite$KeyFrame.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Sprite.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Tile.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/TileLayer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/TileSet.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader$MapEntityResolver.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader$TMXMapReaderSettings.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapWriter$Settings.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapWriter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/xml/XMLWriter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/xml/XMLWriterException.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/Base64.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/BasicTileCutter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/ImageHelper.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/TileCutter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/TransparentImageFilter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/view/IsometricRenderer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/view/MapRenderer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/view/OrthogonalRenderer.class is missing some files that would be produced by the compiler: /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/AnimatedTile.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map$Orientation.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map$StaggerAxis.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map$StaggerIndex.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Map.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/MapLayer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/MapObject.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/ObjectGroup.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Sprite$KeyFrame.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Sprite.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/Tile.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/TileLayer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/core/TileSet.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader$1.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader$MapEntityResolver.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader$TMXMapReaderSettings.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapWriter$1.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapWriter$Settings.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapWriter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/xml/XMLWriter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/xml/XMLWriterException.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/Base64.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/BasicTileCutter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/ImageHelper.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/TileCutter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/util/TransparentImageFilter.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/view/IsometricRenderer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/view/MapRenderer.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/view/OrthogonalRenderer.class at io.qt.qbs.tools.utils.JavaCompilerScanner.run(JavaCompilerScanner.java:163) at io.qt.qbs.tools.JavaCompilerScannerTool.main(JavaCompilerScannerTool.java:58) at outputArtifacts(product = [object Object], inputs = [object Object]) in /home/bjorn/playground/qbs/share/qbs/modules/java/utils.js:306 at <anonymous>(project = [object Object], product = [object Object], inputs = [object Object], input = undefined) in /home/bjorn/playground/qbs/share/qbs/modules/java/JavaModule.qbs:203 /home/bjorn/playground/qbs/share/qbs/modules/java/JavaModule.qbs:202:26 Rule.outputArtifacts
In particular, the code scanner apparently failed to determine that the compiler would produce the following two files:
/home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapReader$1.class /home/bjorn/projects/tiled/default/libtiled-java.qt57.be72c0a1/classes/tiled/io/TMXMapWriter$1.class
I have no idea what these class files are for, but they are also generated by the Java compiler when using Qbs 1.5, but the above exception didn't appear yet.
The respective Java files can be found here:
https://github.com/bjorn/tiled/tree/master/util/java/libtiled-java/src/main/java/tiled/io