Skip to content

Commit 7a6d7ad

Browse files
committed
Merge branch '7.0.x' into 7.0.x-mongo-index-error
2 parents 1ed2686 + b5224d9 commit 7a6d7ad

File tree

8 files changed

+93
-17
lines changed

8 files changed

+93
-17
lines changed

RELEASE.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Example:
138138
### Manual Verification: Reproducible Jar Files
139139
After all jar files are verified to be signed by a valid Grails key, we need to build a local copy to ensure the file was built with the right code base. The `very-reproducible.sh` script handles this check, but if the bootstrap needs to be manually bootstrapped, perform the following step:
140140

141-
gradle -p gradle bootstrap
141+
gradle -p gradle-bootstrap
142142

143143
Further details on the building can be found in the [INSTALL](INSTALL) document. Otherwise, run the `verify-reproducible.sh` shell script to compare the published jar files to a locally built version of them.
144144

@@ -267,7 +267,7 @@ Confirm the Grails PMC votes passed with a +1 from at least 3 PMC members. The `
267267
The `release` job in the `Release` workflow has a step entitled `🚀 Release JAR files - MANUAL`. You can release the jar
268268
files by one of 2 ways:
269269

270-
1. In repository.apache.org, the staged artifacts must be released by opening the `grails-core` staging repository and
270+
1. On https://repository.apache.org/#stagingRepositories, the staged artifacts must be released by opening the `grails-core` staging repository and
271271
clicking the `Release` button. It took almost 2 hours for the initial ASF release to publish these jars to Maven
272272
Central.
273273
2. Alternatively, the `release` job in the `Release` workflow will output an example command line to release the staging
@@ -276,7 +276,7 @@ files by one of 2 ways:
276276

277277
### Move the distributions from `dev` to `release`
278278

279-
On dist.apache.org, the staged source distribution & binary distributions must be moved from `dev` to `release`. Per ASF
279+
On dist.apache.org, the staged source distribution & binary distributions must be moved from `https://dist.apache.org/repos/dist/dev/grails/` to `https://dist.apache.org/repos/dist/release/grails/`. Per ASF
280280
infrastructure, this must be performed manually, and we are not allowed to automate it via a gated approval workflow.
281281
Either move them via your SVN client or use the checked in script to perform these actions as your user.
282282

@@ -286,13 +286,11 @@ an example call to the checked in script to move the distributions.
286286
### Update ASF Reporter
287287

288288
After moving the distributions, you will receive an email from the ASF reporter. Click the link in the email to mark the
289-
release as published. The `release` job in the `Release` workflow has a step to remind you of this.
289+
release as published or go to https://reporter.apache.org/addrelease.html?grails. The `release` job in the `Release` workflow has a step to remind you of this.
290290

291291
For example, if the release is out of core with version `7.0.0-M4`, then the release name with be `CORE-7.0.0-M4`. Enter
292292
the date you moved the distribution artifacts and report the release.
293293

294-
NOTE: Grails as a podling, cannot currently do this.
295-
296294
### Deploy grails-forge so the release is accessible on start.grails.org
297295

298296
On the `grails-core` repository, using the release tag, deploy the grails-forge-web-netty docker container to Google Cloud Run using one of the GCP Deploy actions.
@@ -315,7 +313,7 @@ this step.
315313
### Publish `grails-core` documentation
316314

317315
Open the release workflow in `grails-core` and approve the `Publish Documentation` step. Wait until finished, and a
318-
workflow should eventually kick off in `grails-doc` to publish the gh-pages branch that was updated.
316+
workflow should eventually kick off in `grails-doc` to publish to https://github.com/apache/grails-website/tree/asf-site-production/docs and https://grails.apache.org/docs/.
319317

320318
### Advertise the release via SDKMAN
321319

@@ -324,15 +322,17 @@ version from Maven Central.
324322

325323
### Close out the `grails-core` release
326324

327-
The last step in the `grails-core` release workflow is to run the `Close Release` step. This will create a merge branch for the original tag with version number and then open a PR to merge back into the next branch. You will need to merge it into the branch after correcting any merge conflict.
325+
The last step in the `grails-core` release workflow is to run the `Close Release` step. This will create a merge branch for the original tag with version number and then open a PR to merge back into the next branch. You will need to merge this PR into the branch after correcting any merge conflict.
328326

329327
### Update the `grails-static-website`
330328

331329
On the `grails-static-website` repository:
332330

333-
Run the release action (https://github.com/apache/grails-static-website/actions/workflows/release.yml) with the new version to update https://github.com/apache/grails-static-website/blob/HEAD/conf/releases.yml and then run the publish action (https://github.com/apache/grails-static-website/actions/workflows/publish.yml) to update the `asf-site-production` branch and https://grails.apache.org
331+
Run the release action (https://github.com/apache/grails-static-website/actions/workflows/release.yml) with the new version to update https://github.com/apache/grails-static-website/blob/HEAD/conf/releases.yml
332+
333+
Then run the publish action (https://github.com/apache/grails-static-website/actions/workflows/publish.yml) to update https://github.com/apache/grails-website/tree/asf-site-production/ and publish to https://grails.apache.org
334334

335-
Create a new `.md` file in the `/posts` directory announcing the release. The PR will stage this change on https://grails.staged.apache.org/ and when the PR is merged it will deploy to https://grails.apache.org
335+
Create a new `.md` file in the `/posts` directory announcing the release. When the PR is merged it will deploy to https://grails.apache.org
336336

337337
### Flag release in `grails-core` as latest
338338

@@ -341,7 +341,7 @@ Update the release in `grails-core` to be flagged as 'latest'
341341
### Announce the release
342342

343343
Announcements should come from your apache email address (see https://infra.apache.org/committer-email.html) and have an
344-
expected format. The announcement should be sent to `[email protected]`, `[email protected]`, &
344+
expected format. The announcement should be sent to `[email protected]`, `[email protected]`, `[email protected]`, &
345345
`[email protected]`. See the `close` job for a generated email.
346346

347347
# Rollback
@@ -576,4 +576,4 @@ If you wish to fork these workflows, please ensure you update project specific i
576576
## Step 4 - Next Steps
577577
578578
After the workflows are setup, they should be tested per this Release document. GitHub releases can be deleted and
579-
recreated as needed to test the release process up to voting. Use the `Release Abort` workflow to rollback as needed.
579+
recreated as needed to test the release process up to voting. Use the `Release Abort` workflow to rollback as needed.

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
projectVersion=7.0.0-SNAPSHOT
16+
projectVersion=7.0.1-SNAPSHOT
1717

1818
javaVersion=17
1919

grails-controllers/src/main/groovy/org/grails/compiler/web/ControllerActionTransformer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -941,8 +941,7 @@ protected void initializePrimitiveOrTypeWrapperParameter(final ClassNode classNo
941941
Statement declareVariableStatement = new ExpressionStatement(declareConvertedValueExpression);
942942
wrapper.addStatement(declareVariableStatement);
943943

944-
final VariableExpression methodParamExpression = new VariableExpression(
945-
methodParamName, paramTypeClassNode);
944+
final VariableExpression methodParamExpression = localVarX(methodParamName, paramTypeClassNode);
946945
final DeclarationExpression declareParameterVariableStatement = new DeclarationExpression(
947946
methodParamExpression, equalsToken, new EmptyExpression());
948947
declareVariableStatement = new ExpressionStatement(declareParameterVariableStatement);

grails-core/src/test/groovy/grails/util/GrailsUtilTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class GrailsUtilTests {
3333

3434
@Test
3535
public void testGrailsVersion() {
36-
assertEquals("7.0.0-SNAPSHOT", GrailsUtil.getGrailsVersion());
36+
assertEquals("7.0.1-SNAPSHOT", GrailsUtil.getGrailsVersion());
3737
}
3838

3939
@AfterEach

grails-datamapping-support/src/test/groovy/org/grails/datastore/mapping/core/grailsversion/GrailsVersionSpec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class GrailsVersionSpec extends Specification {
3636
"3.2.0" | true
3737
"3.1.0" | true
3838
"3.3.0" | true
39-
"7.0.0" | false
39+
"7.1.0" | false
4040
}
4141

4242
@Unroll

grails-shell-cli/src/test/groovy/org/grails/cli/profile/repository/MavenRepositorySpec.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,17 @@
1818
*/
1919
package org.grails.cli.profile.repository
2020

21+
import grails.util.Environment
22+
import spock.lang.IgnoreIf
2123
import spock.lang.Specification
2224

2325
/**
2426
* @author graemerocher
2527
*/
28+
29+
// Note: These tests will fail on a new SNAPSHOT version until the corresponding
30+
// grails-bom has been published for the first time.
31+
@IgnoreIf({ Environment.grailsVersion?.endsWith('SNAPSHOT') })
2632
class MavenRepositorySpec extends Specification {
2733

2834
void "Test resolve profile"() {
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* https://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
package functionaltests
21+
22+
import grails.converters.JSON
23+
24+
class DataBindingController {
25+
26+
def show(String id) {
27+
render([success: true] as JSON)
28+
}
29+
30+
def submit(long id, long data) {
31+
render([success: true] as JSON)
32+
}
33+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* https://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
package functionaltests
21+
22+
import spock.lang.Issue
23+
24+
import grails.plugin.geb.ContainerGebSpec
25+
import grails.testing.mixin.integration.Integration
26+
27+
@Integration
28+
class DataBindingSpec extends ContainerGebSpec {
29+
30+
@Issue('https://github.com/apache/grails-core/issues/15147')
31+
void 'data binding works'() {
32+
when:
33+
go('/dataBinding/submit?id=123&data=456')
34+
35+
then:
36+
pageSource.contains('{"success":true}')
37+
}
38+
}

0 commit comments

Comments
 (0)