gnodet commented on PR #1123: URL: https://github.com/apache/maven-compiler-plugin/pull/1123#issuecomment-5876858686
Addressing @desruisseaux's three outstanding concerns from the CHANGES_REQUESTED review: **1. "IDE-style" vagueness (discussion_r4093688569 and r4093738732)** Replaced the binary "not an incremental compiler in the sense of an IDE" with the more nuanced wording @desruisseaux proposed: "not yet as reliable as the incremental compilation provided by some IDEs" + an explicit note that future versions may add dependency tracking. This is accurate (some IDEs do use timestamps), forward-looking, and avoids a false binary. **2. "module" → "sub-project" (discussion_r4093703602)** Applied to both `incrementalCompilation` and `useIncrementalCompilation` Javadoc. "Module" is ambiguous between JPMS modules and Maven sub-projects; "sub-project" is unambiguous in this context. **3. Deprecated param verbosity + "never" (discussion_r4093738732)** Trimmed the `useIncrementalCompilation` paragraph from 5 lines to 4. Removed the absolute "never compiles a single changed class" claim (too absolute for text that lives in a deprecated field whose behavior is fully described by the `@deprecated` tag below it). Replaced with the shorter timestamp-based description. Proposed diff (I can't push to this branch since it's on apache directly): ```diff - * <strong>Despite the word "incremental" in the name, this is <em>not</em> an incremental compiler - * in the sense of an IDE.</strong> The plugin does not compile a single changed class and the classes - * that depend on it. It selects a strategy to <i>detect changes</i> and decide whether - * to recompile the whole module or only some source files. In the default configuration (no annotation + * <strong>Despite the word "incremental" in the name, this is not yet as reliable as the incremental + * compilation provided by some IDEs.</strong> It provides an approximation based on the timestamps of + * source files. The current algorithms detect only direct changes — recompiling only modified source files — + * but a future version may add an option for tracking classes that depend on a modified class, as done by + * some IDEs. It selects a strategy to <i>detect changes</i> and decide whether + * to recompile the whole sub-project or only some source files. In the default configuration (no annotation ``` ```diff - * Whether to enable/disable the change detection that decides when to recompile the module. - * Despite the word "incremental", this does not enable an - * incremental compiler in the sense of an IDE. The plugin never compiles a single changed class - * together with the classes that depend on it. It only detects changes and, depending on the - * configuration, recompiles the whole module or only the modified source files. + * Whether to enable/disable the change detection that decides when to recompile the sub-project. + * Despite the word "incremental", this does not yet provide the same reliability as the incremental + * compilation provided by some IDEs. It only detects changes based on timestamps and, depending on + * the configuration, recompiles the whole sub-project or only the modified source files. ``` _This comment was generated by an AI agent, Hermès on behalf of [@gnodet](https://github.com/gnodet)._ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
