[
https://issues.apache.org/jira/browse/GROOVY-12042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18092124#comment-18092124
]
ASF GitHub Bot commented on GROOVY-12042:
-----------------------------------------
codecov-commenter commented on PR #2640:
URL: https://github.com/apache/groovy/pull/2640#issuecomment-4825419458
##
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2640?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.5451%. Comparing base
([`304832b`](https://app.codecov.io/gh/apache/groovy/commit/304832bd265bd8fd91541b75554b236659eb44f8?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
to head
([`aa9008d`](https://app.codecov.io/gh/apache/groovy/commit/aa9008d8cbe210836cb5d69b5ed246e473ea7c53?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
<details><summary>Additional details and impacted files</summary>
[](https://app.codecov.io/gh/apache/groovy/pull/2640?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
```diff
@@ Coverage Diff @@
## master #2640 +/- ##
==================================================
+ Coverage 68.5381% 68.5451% +0.0070%
- Complexity 33728 33731 +3
==================================================
Files 1523 1523
Lines 127923 127923
Branches 23251 23251
==================================================
+ Hits 87676 87685 +9
+ Misses 32467 32462 -5
+ Partials 7780 7776 -4
```
| [Files with missing
lines](https://app.codecov.io/gh/apache/groovy/pull/2640?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
| Coverage Δ | |
|---|---|---|
|
[...vy/org/apache/groovy/ginq/GinqGroovyMethods.groovy](https://app.codecov.io/gh/apache/groovy/pull/2640?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2FGinqGroovyMethods.groovy&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvR2lucUdyb292eU1ldGhvZHMuZ3Jvb3Z5)
| `80.6452% <ø> (ø)` | |
|
[...org/apache/groovy/ginq/dsl/GinqAstBaseVisitor.java](https://app.codecov.io/gh/apache/groovy/pull/2640?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fdsl%2FGinqAstBaseVisitor.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvZHNsL0dpbnFBc3RCYXNlVmlzaXRvci5qYXZh)
| `95.8333% <ø> (ø)` | |
|
[...ovy/org/apache/groovy/ginq/dsl/GinqAstVisitor.java](https://app.codecov.io/gh/apache/groovy/pull/2640?src=pr&el=tree&filepath=subprojects%2Fgroovy-ginq%2Fsrc%2Fmain%2Fgroovy%2Forg%2Fapache%2Fgroovy%2Fginq%2Fdsl%2FGinqAstVisitor.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VicHJvamVjdHMvZ3Jvb3Z5LWdpbnEvc3JjL21haW4vZ3Jvb3Z5L29yZy9hcGFjaGUvZ3Jvb3Z5L2dpbnEvZHNsL0dpbnFBc3RWaXNpdG9yLmphdmE=)
| `0.0000% <ø> (ø)` | |
... and [4 files with indirect coverage
changes](https://app.codecov.io/gh/apache/groovy/pull/2640/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 groovy-ginq from incubating to stable
> ----------------------------------------------
>
> Key: GROOVY-12042
> URL: https://issues.apache.org/jira/browse/GROOVY-12042
> Project: Groovy
> Issue Type: Task
> Reporter: Paul King
> Priority: Major
>
> h2. GINQ graduation: work done
> GINQ has been incubating since 4.0.0 (~4.5 years, 494 spec tests, no semantic
> churn). The roadmap
> (SQL backend [GEP-26], GEP-18 concurrency alignment, query continuation,
> async sources) is entirely
> *additive* to the public surface, so graduating the stable parts now does not
> constrain any future
> work. This graduates the user-facing surface while keeping only the
> genuinely-unstable provider SPI
> (and the {{agg()}} hook) marked incubating.
> h3. Graduated -- {{@Incubating}} removed (stable user-facing surface)
> * (/) {{groovy.ginq.transform.GQ}} -- the {{@GQ}} annotation
> * (/) {{org.apache.groovy.ginq.GinqGroovyMethods}} -- the {{GQ}}/{{GQL}}
> macros
> h3. Kept incubating -- the genuinely-unstable extension surface
> * {{org.apache.groovy.ginq.dsl.GinqAstVisitor}} -- the provider SPI contract
> a custom walker implements ({{@Incubating}}, type level)
> * {{org.apache.groovy.ginq.dsl.GinqAstBaseVisitor}} -- the convenience base
> for custom walkers ({{@Incubating}}, type level)
> * {{@GQ.astWalker()}} member -- {{@Incubating}} + javadoc cross-linking the
> SPI (selector for a custom walker)
> * {{astWalker:}} macro config key -- code comment noting the SPI is
> incubating (covers the {{GQ(astWalker: ...)}} path)
> * User guide "Customize GINQ" section -- INCUBATING note
> * {{agg()}} custom aggregation -- existing INCUBATING doc label left as-is
> h3. Files changed
> || File || Change ||
> | {{transform/GQ.java}} | {{@Incubating}} removed from the type; added to the
> {{astWalker()}} member (+ import, + javadoc) |
> | {{GinqGroovyMethods.groovy}} | {{@Incubating}} removed from the class (+
> import); comment on the {{astWalker}} config key |
> | {{dsl/GinqAstVisitor.java}} | {{@Incubating}} added at type level (+
> import) |
> | {{dsl/GinqAstBaseVisitor.java}} | {{@Incubating}} added at type level (+
> import) |
> | {{spec/doc/ginq-userguide.adoc}} | INCUBATING note on the "Customize GINQ"
> section |
> h3. Notes
> * The only {{Incubating}}/{{INCUBATING}} references left in GINQ are the
> deliberate fences above (verified by grep); no unused imports.
> * Changes are compile-safe (annotation add/remove with no members used;
> {{@Incubating}} is RUNTIME-retained on the SPI types, doc-only on the
> {{SOURCE}}-retained {{@GQ}} member).
> * The runtime result surface ({{Queryable}}, {{GroupResult}},
> {{NamedRecord}}, {{Window}}, bound types) is already free of incubating
> markers and is settled (the {{groupby...into}} group model landed in
> [GROOVY-11915]); the SQL backend consumes it rather than changing it.
> h3. Deliberately not done (separate calls)
> * {{withoutBinaryCompatibilityChecks()}} in {{groovy-ginq/build.gradle}} --
> whether to enable bin-compat enforcement is a separate decision; recent
> graduations (contracts, type checkers) left theirs off, so it was not flipped
> here.
> * The {{provider:}} key introduced by [GEP-26] should carry the same
> {{@Incubating}} marking until the SPI settles.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)