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]

Reply via email to