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

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

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

   ## 
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2554?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 68.1945%. Comparing base 
([`5318145`](https://app.codecov.io/gh/apache/groovy/commit/53181454e08716af1fb76927215775fb75084f56?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`310251d`](https://app.codecov.io/gh/apache/groovy/commit/310251d48275eb739ead30ceb4a9f37bc53bd262?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 4 commits behind head on master.
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   [![Impacted file tree 
graph](https://app.codecov.io/gh/apache/groovy/pull/2554/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/2554?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   ```diff
   @@                Coverage Diff                 @@
   ##               master      #2554        +/-   ##
   ==================================================
   + Coverage     68.1844%   68.1945%   +0.0101%     
   - Complexity      33086      33098        +12     
   ==================================================
     Files            1508       1508                
     Lines          126130     126145        +15     
     Branches        22878      22886         +8     
   ==================================================
   + Hits            86001      86024        +23     
   + Misses          32490      32485         -5     
   + Partials         7639       7636         -3     
   ```
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2554?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...oovy/transform/options/DefaultPropertyHandler.java](https://app.codecov.io/gh/apache/groovy/pull/2554?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Fgroovy%2Ftransform%2Foptions%2FDefaultPropertyHandler.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9ncm9vdnkvdHJhbnNmb3JtL29wdGlvbnMvRGVmYXVsdFByb3BlcnR5SGFuZGxlci5qYXZh)
 | `92.3077% <100.0000%> (-0.2849%)` | :arrow_down: |
   | 
[...java/groovy/transform/options/PropertyHandler.java](https://app.codecov.io/gh/apache/groovy/pull/2554?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Fgroovy%2Ftransform%2Foptions%2FPropertyHandler.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9ncm9vdnkvdHJhbnNmb3JtL29wdGlvbnMvUHJvcGVydHlIYW5kbGVyLmphdmE=)
 | `62.9630% <100.0000%> (+14.8148%)` | :arrow_up: |
   
   ... and [5 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/groovy/pull/2554/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>




> Graduate PropertyHandler from incubating to stable
> --------------------------------------------------
>
>                 Key: GROOVY-12030
>                 URL: https://issues.apache.org/jira/browse/GROOVY-12030
>             Project: Groovy
>          Issue Type: Task
>            Reporter: Paul King
>            Assignee: Paul King
>            Priority: Major
>
> h2. Summary
> Graduates {{groovy.transform.options.PropertyHandler}} from {{@Incubating}} 
> to stable, documents the previously-implicit contract, corrects a latent bug 
> in {{isValidAttribute}}, and adds a custom-handler test to lock the public 
> extension contract in place.
> h3. Changes
> * *Graduation*: removed {{@Incubating}} from {{PropertyHandler}}. The 
> concrete subclasses ({{DefaultPropertyHandler}}, 
> {{ImmutablePropertyHandler}}, {{LegacyHashMapPropertyHandler}}) and the 
> activation annotation {{@PropertyOptions}} were already unmarked; the 
> abstract base was the lone outlier.
> * *Contract documented*: javadoc on the base class now records the lifecycle 
> ordering ({{validateAttributes}} → {{validateProperties}} → 
> {{createPropInit}}/{{createPropGetter}}/{{createPropSetter}}), the public 
> no-argument constructor required of custom handlers, the null-return 
> semantics of {{createPropInit}}, the rejection-on-presence semantics of 
> {{isValidAttribute}}, and the error behaviour of {{createPropertyHandler}} 
> when a handler cannot be loaded.
> * *Parameter rename*: {{createPropInit}}'s abstract parameter renamed from 
> {{namedArgMap}} to {{namedArgsMap}} to match all three concrete subclasses.
> * *Dead code*: stale commented-out call removed from 
> {{DefaultPropertyHandler.validateAttributes}}.
> * *isValidAttribute correction*: switched the presence check from 
> {{xform.getMemberValue(anno, memberName) != null}} to 
> {{anno.getMember(memberName) != null}}. 
> {{AbstractASTTransformation.getMemberValue}} is documented as returning 
> {{null}} for any member that is not a {{ConstantExpression}}, so list-, 
> class-, nested-annotation-, and closure-valued attributes were silently 
> passing validation. The only in-tree caller ({{ImmutablePropertyHandler}} 
> rejecting the boolean {{useSuper}}) is unaffected.
> * *Test*: added {{groovy/transform/options/PropertyHandlerTest}} covering 
> custom-handler initialisation, attribute rejection via a list-valued 
> attribute (which also locks the correction above in place), and the 
> no-{{@PropertyOptions}} fallback path.
> h3. Compatibility
> * Parameter rename is source- and binary-compatible (Java does not require 
> parameter-name agreement between abstract methods and their overrides).
> * The {{isValidAttribute}} correction widens detection; no in-tree consumer 
> relies on the previous silent-pass behaviour.



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

Reply via email to