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]