Skip to content

Commit fcd23b9

Browse files
authored
Merge branch '7.0.x' into match-profile-forge
2 parents 8de80ad + 48ce16e commit fcd23b9

File tree

22 files changed

+713
-95
lines changed

22 files changed

+713
-95
lines changed

.github/workflows/gradle.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,6 @@ jobs:
125125
./gradlew build
126126
--continue --stacktrace
127127
--rerun-tasks
128-
- name: "✅ Verify Forge CLI"
129-
run: |
130-
cd grails-forge
131-
cp grails-forge-cli/build/distributions/apache-grails-forge-cli-*.zip forge-cli.zip
132-
unzip forge-cli -d tmp
133-
mv tmp/apache-grails-forge-cli-* tmp/forge-cli
134-
./tmp/forge-cli/bin/grails-forge-cli --version
135128
- name: "✅ Verify combined CLI"
136129
run: |
137130
cd grails-forge

DOAP.rdf

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0"?>
2+
<?xml-stylesheet type="text/xsl"?>
3+
<rdf:RDF xml:lang="en"
4+
xmlns="http://usefulinc.com/ns/doap#"
5+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6+
xmlns:asfext="http://projects.apache.org/ns/asfext#"
7+
xmlns:foaf="http://xmlns.com/foaf/0.1/">
8+
<!--
9+
Licensed to the Apache Software Foundation (ASF) under one or more
10+
contributor license agreements. See the NOTICE file distributed with
11+
this work for additional information regarding copyright ownership.
12+
The ASF licenses this file to You under the Apache License, Version 2.0
13+
(the "License"); you may not use this file except in compliance with
14+
the License. You may obtain a copy of the License at
15+
16+
https://www.apache.org/licenses/LICENSE-2.0
17+
18+
Unless required by applicable law or agreed to in writing, software
19+
distributed under the License is distributed on an "AS IS" BASIS,
20+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21+
See the License for the specific language governing permissions and
22+
limitations under the License.
23+
-->
24+
<Project rdf:about="https://grails.apache.org">
25+
<created>2025-01-25</created>
26+
<license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
27+
<name>Apache Grails</name>
28+
<homepage rdf:resource="https://grails.apache.org" />
29+
<asfext:pmc rdf:resource="https://groovy.apache.org" />
30+
<shortdesc>Grails - the Groovy Web Application Framework</shortdesc>
31+
<description>Grails is a powerful Groovy-based web application framework for the JVM built on top of Spring Boot that has many plugins to further extend its functionality.</description>
32+
<bug-database rdf:resource="https://github.com/apache/grails-core/issues" />
33+
<mailing-list rdf:resource="https://grails.apache.org/community.html" />
34+
<download-page rdf:resource="https://grails.apache.org/download.html" />
35+
<programming-language>Groovy</programming-language>
36+
<category rdf:resource="https://projects.apache.org/category/web-framework" />
37+
<repository>
38+
<GitRepository>
39+
<location rdf:resource="https://gitbox.apache.org/repos/asf/grails-core.git"/>
40+
<browse rdf:resource="http://github.com/apache/grails-core"/>
41+
</GitRepository>
42+
</repository>
43+
</Project>
44+
</rdf:RDF>

NOTICE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ The Apache Software Foundation (http://www.apache.org/).
88
Additional Licenses
99
------------------
1010

11+
This product uses the Jakarta Annotations™ API which is a trademark of the Eclipse Foundation. It is licensed under
12+
the Eclipse Public License v. 2.0 which is available at https://www.eclipse.org/legal/epl-2.0.
13+
1114
Project Reactor
1215
This product includes software from Project Reactor, licensed under Apache License, Version 2.0.
1316
2011-2014 Pivotal Software, Inc.

gradle/dependency-licenses.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
apply plugin: 'com.github.hierynomus.license-report'
2121

2222
List<String> licenseExclusions = rootProject.subprojects.collect {
23-
"org.grails:${it.name}:${rootProject.projectVersion}" as String
23+
"org.apache.grails:${it.findProperty('pomArtifactId') ?: it.name}:${rootProject.projectVersion}" as String
2424
}
2525

2626
downloadLicenses {

grails-core/NOTICE

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Apache Grails
2+
Copyright 2005-2025 The Apache Software Foundation
3+
4+
This product includes software developed at
5+
The Apache Software Foundation (http://www.apache.org/).
6+
7+
8+
Additional Licenses
9+
------------------
10+
11+
This product uses the Jakarta Annotations™ API which is a trademark of the Eclipse Foundation. It is licensed under
12+
the Eclipse Public License v. 2.0 which is available at https://www.eclipse.org/legal/epl-2.0.

grails-core/src/main/groovy/org/grails/compiler/injection/GlobalGrailsClassInjectorTransformation.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import grails.util.GrailsNameUtils
2828
import groovy.transform.CompilationUnitAware
2929
import groovy.transform.CompileDynamic
3030
import groovy.transform.CompileStatic
31+
import org.springframework.core.CollectionFactory
3132
import groovy.xml.MarkupBuilder
3233
import groovy.xml.StreamingMarkupBuilder
3334
import groovy.xml.XmlSlurper
@@ -191,7 +192,8 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
191192
if (Modifier.isAbstract(classNode.getModifiers())) return false
192193

193194
def classNodeName = classNode.name
194-
def props = new Properties()
195+
// Use SortedProperties to ensure a consistent order of entries for reproducible builds
196+
def props = CollectionFactory.createSortedProperties(false)
195197
def superTypeName = superType.getName()
196198

197199
// generate META-INF/grails.factories

grails-forge/build.gradle

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ file('../gradle.properties').withInputStream {
2828
}
2929

3030
ext {
31+
isReproducibleBuild = System.getenv("SOURCE_DATE_EPOCH") != null
3132
buildInstant = java.util.Optional.ofNullable(System.getenv('SOURCE_DATE_EPOCH'))
3233
.map(Long::parseLong)
3334
.map(Instant::ofEpochSecond)
@@ -41,7 +42,7 @@ ext {
4142

4243
allprojects {
4344
props.forEach { k, v ->
44-
if(!project.hasProperty(k as String)) {
45+
if (!project.hasProperty(k as String)) {
4546
project.ext.set(k as String, v)
4647
}
4748
}
@@ -72,6 +73,18 @@ allprojects {
7273
}
7374
}
7475

76+
subprojects {
77+
configurations.configureEach {
78+
resolutionStrategy {
79+
def cacheHours = isCiBuild || isReproducibleBuild ? 0 : 24
80+
cacheDynamicVersionsFor(cacheHours, 'hours')
81+
cacheChangingModulesFor(cacheHours, 'hours')
82+
}
83+
}
84+
85+
apply from: rootProject.layout.projectDirectory.file('gradle/dependency-licenses.gradle')
86+
}
87+
7588
apply {
7689
// we must apply the publish configuration first or the docs config will not work
7790
from layout.projectDirectory.file('gradle/publish-root-config.gradle')

grails-forge/buildSrc/build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ configurations.configureEach {
6464
}
6565

6666
dependencies {
67+
implementation "gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:${rootProperties.gradleLicensePluginVersion}", {
68+
// Due to https://github.com/hierynomus/license-gradle-plugin/issues/161, spring must be excluded
69+
exclude group: 'org.springframework', module: 'spring-core'
70+
}
6771
implementation "io.micronaut.build.internal:micronaut-gradle-plugins:$micronautGradlePlugins"
6872
implementation "com.fizzed:rocker-compiler:$rockerVersion"
6973
implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion"
@@ -80,6 +84,7 @@ dependencies {
8084
}
8185
implementation "org.antlr:antlr4-runtime:$antlr4Version"
8286
implementation "org.gradle.crypto.checksum:org.gradle.crypto.checksum.gradle.plugin:$gradleChecksumPluginVersion"
87+
implementation "org.apache.ant:ant:$antVersion"
8388
}
8489

8590
gradlePlugin {

0 commit comments

Comments
 (0)