[ 
https://issues.apache.org/jira/browse/GROOVY-11954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18075439#comment-18075439
 ] 

ASF GitHub Bot commented on GROOVY-11954:
-----------------------------------------

codecov-commenter commented on PR #2484:
URL: https://github.com/apache/groovy/pull/2484#issuecomment-4296150201

   ## 
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2484?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `80.00000%` with `2 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 67.0504%. Comparing base 
([`f148316`](https://app.codecov.io/gh/apache/groovy/commit/f1483160ddc4a20e7d46c08d1a01a9eec061efbf?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`4e3fb66`](https://app.codecov.io/gh/apache/groovy/commit/4e3fb66e2bea6044ea3a33e400361b6ce896e9d5?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 1 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2484?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...s/groovy/tools/groovydoc/SimpleGroovyClassDoc.java](https://app.codecov.io/gh/apache/groovy/pull/2484?src=pr&el=tree&filepath=subprojects%2Fgroovy-groovydoc%2Fsrc%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Ftools%2Fgroovydoc%2FSimpleGroovyClassDoc.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdyb292eWRvYy9zcmMvbWFpbi9qYXZhL29yZy9jb2RlaGF1cy9ncm9vdnkvdG9vbHMvZ3Jvb3Z5ZG9jL1NpbXBsZUdyb292eUNsYXNzRG9jLmphdmE=)
 | 80.0000% | [0 Missing and 2 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/2484?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   [![Impacted file tree 
graph](https://app.codecov.io/gh/apache/groovy/pull/2484/graphs/tree.svg?width=650&height=150&src=pr&token=1r45138NfQ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)](https://app.codecov.io/gh/apache/groovy/pull/2484?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   ```diff
   @@                Coverage Diff                 @@
   ##               master      #2484        +/-   ##
   ==================================================
   - Coverage     67.0520%   67.0504%   -0.0016%     
   - Complexity      31524      31526         +2     
   ==================================================
     Files            1451       1451                
     Lines          122408     122408                
     Branches        21948      21949         +1     
   ==================================================
   - Hits            82077      82075         -2     
   - Misses          33253      33256         +3     
   + Partials         7078       7077         -1     
   ```
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2484?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...s/groovy/tools/groovydoc/SimpleGroovyClassDoc.java](https://app.codecov.io/gh/apache/groovy/pull/2484?src=pr&el=tree&filepath=subprojects%2Fgroovy-groovydoc%2Fsrc%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Ftools%2Fgroovydoc%2FSimpleGroovyClassDoc.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdyb292eWRvYy9zcmMvbWFpbi9qYXZhL29yZy9jb2RlaGF1cy9ncm9vdnkvdG9vbHMvZ3Jvb3Z5ZG9jL1NpbXBsZUdyb292eUNsYXNzRG9jLmphdmE=)
 | `80.0856% <80.0000%> (ø)` | |
   
   ... and [4 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/groovy/pull/2484/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   </details>
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   - :package: [JS Bundle 
Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save 
yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>




> groovydoc: short-name type resolution cache makes doc output order-dependent 
> and non-reproducible
> -------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-11954
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11954
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-groovydoc
>            Reporter: Mattias Reichel
>            Priority: Minor
>
> There are reproducibility problems for javadoc jars in the Grails project. 
> Some of these issues have been fixed previously Groovy 4. However this issue 
> still lingers when I verify Grails releases and I have seen that at least 
> some of the problems are that {{java.util.Date}} and {{java.sql.Date}} are 
> ordered differently across different builds.
> Problem description below generated with the help of GPT-5.4. It has also 
> generated tests and a fix that can be put in a PR if desired.
> {{groovy-groovydoc}} can produce non-reproducible output when resolving 
> ambiguous short type names such as {{{}Date{}}}.
> h3. Problem
> During Groovydoc generation, short type names are resolved in a 
> class-specific context using that class’s imports, aliases, package, and 
> nested types.
> However, {{SimpleGroovyClassDoc.resolveClass(...)}} uses the root-level cache 
> from {{SimpleGroovyRootDoc.getResolvedClasses()}} keyed only by the requested 
> name.
> This is incorrect for short names like {{{}Date{}}}, because the same short 
> name may resolve differently in different classes, e.g.:
>  * {{java.util.Date}}
>  * {{java.sql.Date}}
> As a result, whichever class resolves Date first can populate the shared 
> cache and affect later resolutions in other classes. This makes the generated 
> documentation depend on source processing order and can lead to 
> non-reproducible Javadoc/Groovydoc JARs.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to