codeconsole commented on code in PR #16019:
URL: https://github.com/apache/grails-core/pull/16019#discussion_r3679575509


##########
grails-mail/build.gradle:
##########
@@ -76,10 +76,14 @@ dependencies {
     compileOnly 'org.springframework.boot:spring-boot-autoconfigure' // 
@AutoConfiguration, @ConditionalOnProperty, @ConfigurationProperties
     compileOnly 'org.apache.groovy:groovy' // Provided as this is a Grails 
plugin
     compileOnly 'org.slf4j:slf4j-api' // @Slf4j
+    compileOnly project(':grails-beans-dsl') // comp: @GrailsBeans

Review Comment:
   Dropped in `138d014236`, along with the other six — agreed that 
`compileOnly` was closest to correct but still unnecessary.
   
   See my reply on `grails-cache/build.gradle` for how each removal was 
verified: compiling is not sufficient evidence, since `compileBeansDsl` fails 
silently, so `grails-mail`'s generated `MailAutoConfiguration` was checked 
instead.



##########
grails-beans-dsl/build.gradle:
##########
@@ -0,0 +1,71 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+plugins {
+    id 'groovy'
+    id 'java-library'
+    id 'org.apache.grails.buildsrc.properties'
+    id 'org.apache.grails.buildsrc.dependency-validator'
+    id 'org.apache.grails.buildsrc.compile'
+    id 'org.apache.grails.buildsrc.publish'
+    id 'org.apache.grails.buildsrc.sbom'
+    id 'org.apache.grails.buildsrc.vulnerability-scan'
+    id 'org.apache.grails.gradle.grails-code-style'
+    id 'org.apache.grails.gradle.grails-jacoco'
+}
+
+version = projectVersion
+group = 'org.apache.grails'

Review Comment:
   Done in `138d014236` — `org.apache.grails.beandsl`.
   
   Checked the knock-on you flagged: `publish-root-config.gradle` gates on 
project name so it is unaffected, and no BOM constraint or document spells the 
coordinate out.



##########
settings.gradle:
##########
@@ -107,6 +107,9 @@ def skipMicronautProjects = explicitlySkipMicronaut || 
(!buildJdkSupportsMicrona
 
 include(
         'grails-bootstrap',
+        'grails-beans-dsl',
+        'grails-beans-dsl-example',

Review Comment:
   Done in `0224df0ecd`, following your table exactly:
   
   | now | project |
   | --- | --- |
   | `grails-test-examples/beans-dsl/` | `:grails-test-examples-beans-dsl` |
   | `grails-test-examples/beans-dsl-plugin/` | 
`:grails-test-examples-beans-dsl-plugin` |
   
   Both load-bearing steps done as described: the rename, so the name-prefix 
match puts them in `testProjects` and `functional-test-config.gradle`'s 
`evaluationDependsOn` fan-out does not have a project depending on itself; and 
the swap to `functional-test-config.gradle` with `junit-platform-launcher` 
declared explicitly, since that file does not supply it. Both names are listed 
in the flat `include(...)` block with their own `projectDir`, since that bucket 
is not auto-scanned.
   
   All 7 specs run and pass at the new locations. On the CI-coverage 
consequence you raised: `grails-databinding` now applies the 
`autoconfiguration-imports` plugin, so it has a consumer inside core-only CI.



##########
grails-beans-dsl-example/build.gradle:
##########
@@ -0,0 +1,58 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+plugins {
+    id 'groovy'
+    id 'java-library'
+    id 'org.apache.grails.buildsrc.properties'
+    id 'org.apache.grails.buildsrc.dependency-validator'
+    id 'org.apache.grails.buildsrc.compile'
+    id 'org.apache.grails.buildsrc.vulnerability-scan'
+    id 'org.apache.grails.buildsrc.autoconfiguration-imports'
+    id 'org.apache.grails.gradle.grails-code-style'
+    id 'org.apache.grails.gradle.grails-jacoco'
+}
+
+version = projectVersion
+group = 'org.apache.grails'

Review Comment:
   Done in `0224df0ecd`: `group = 'examples'`, `functional-test-config.gradle` 
plus an explicit `junit-platform-launcher`, and 
`grails-code-style`/`grails-jacoco` dropped. Agreed on the last — no other 
module there applies either, and example code does not belong in the violation 
and coverage reports. `autoconfiguration-imports` kept.
   
   One departure: this module **keeps** `implementation 
project(':grails-beans-dsl')`. It deliberately has no `grails-core` on its 
classpath — that is the whole point of the split documented in the sibling 
module — so the `api` that carries the DSL everywhere else does not reach it. 
The line now records that. The plugin example does have `grails-core` and 
dropped its declaration.



##########
grails-beans-dsl-plugin-example/build.gradle:
##########
@@ -0,0 +1,64 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+plugins {
+    id 'groovy'
+    id 'java-library'
+    id 'org.apache.grails.buildsrc.properties'
+    id 'org.apache.grails.buildsrc.dependency-validator'
+    id 'org.apache.grails.buildsrc.compile'
+    id 'org.apache.grails.buildsrc.vulnerability-scan'
+    id 'org.apache.grails.buildsrc.autoconfiguration-imports'
+    id 'org.apache.grails.gradle.grails-code-style'
+    id 'org.apache.grails.gradle.grails-jacoco'
+}
+
+version = projectVersion
+group = 'org.apache.grails'

Review Comment:
   Done in `0224df0ecd`, same set as the sibling module: `group = 'examples'`, 
`functional-test-config.gradle` plus an explicit `junit-platform-launcher`, 
`grails-code-style`/`grails-jacoco` dropped, `autoconfiguration-imports` kept.
   
   Here the `grails-beans-dsl` declaration *is* dropped, since `grails-core` 
carries it — unlike `grails-test-examples/beans-dsl`, which deliberately has no 
`grails-core`.
   
   The comment that referred to the sibling by its old name now points at 
`grails-test-examples/beans-dsl`.



-- 
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