[ https://issues.apache.org/jira/browse/FLINK-8847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387561#comment-16387561 ]
ASF GitHub Bot commented on FLINK-8847: --------------------------------------- GitHub user zentol opened a pull request: https://github.com/apache/flink/pull/5644 [FLINK-8847][build] Prevent unnecessary recompilation ## What is the purpose of the change This PR contains 2 changes to prevent the `maven-compiler-plugin` from recompiling a module that doesn't require it. The `maven-compiler-plugin` will now always create `.class` files for `package-info.java` files. Previously this was only done if the `.java` file contained annotations. Having a `.java` file without a corresponding `.class` file throws of the `maven-compiler-plugin` stale source detection, as described in [MCOMPILER-205](https://issues.apache.org/jira/browse/MCOMPILER-205). Additionally, `useIncrementalCompilation` is set to false which actually enables incremental compilation, as described in [MCOMPILER-209](https://issues.apache.org/jira/browse/MCOMPILER-209). ## Brief change log * create `.class` files for all `package-info.java` files * set `useIncrementalCompilation` to false which actually enables incremental compilation ## Verifying this change Pick any module that contains a `package-info.java` file (like `flink-optimizer`) and run `mvn package <speed options>` twice. The plugin should not recompile the module. You can merge this pull request into a Git repository by running: $ git pull https://github.com/zentol/flink 8847 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5644.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #5644 ---- commit 293795b5e5f57dba07e985be9e46ba2534e91eac Author: zentol <chesnay@...> Date: 2018-03-06T09:45:25Z [FLINK-8847][build] Always generate .class files for package-info.java commit 92d17feab6cd604fd2bd2be96d6ed35485c13b80 Author: zentol <chesnay@...> Date: 2018-03-06T10:04:42Z [hotfix][build] Enable incremental compilation ---- > Modules containing package-info.java are always recompiled > ---------------------------------------------------------- > > Key: FLINK-8847 > URL: https://issues.apache.org/jira/browse/FLINK-8847 > Project: Flink > Issue Type: Bug > Components: Build System > Affects Versions: 1.3.2, 1.5.0, 1.4.1 > Reporter: Chesnay Schepler > Assignee: Chesnay Schepler > Priority: Minor > Fix For: 1.5.0, 1.4.3 > > > All modules that contain a {{package-info.java}} file (that do not contain > annotations which applies to *all* instances in Flink) will always be > recompiled by the {{maven-compiler-plugin}}. > To detect modified files the compiler compares timestamps of the source and > .class file. In the case of {{package-info.java}} no .class file is created > if it doesn't contain annotations, which the compiler interprets as a missing > .class file. > We can add {{-Xpkginfo:always}} to the compiler configuration to force the > generation of these files to prevent this from happening. -- This message was sent by Atlassian JIRA (v7.6.3#76005)