This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a commit to branch moved-grails-core
in repository https://gitbox.apache.org/repos/asf/grails-wrapper.git

commit 49cdc2ef4964b5be539f7040733bab21add34a6d
Author: James Fredley <[email protected]>
AuthorDate: Fri May 2 12:19:43 2025 -0400

    Moved to grails-core
---
 .github/dependabot.yml                             |  10 -
 .github/release-drafter.yml                        |  37 ---
 .github/workflows/gradle.yml                       |  42 ----
 .github/workflows/release-notes.yml                |  47 ----
 .github/workflows/release.yml                      |  62 -----
 .gitignore                                         |   5 -
 LICENSE                                            | 201 ----------------
 README.md                                          |  33 +--
 build.gradle                                       |  48 ----
 gradle.properties                                  |   5 -
 gradle/wrapper/gradle-wrapper.jar                  | Bin 43583 -> 0 bytes
 gradle/wrapper/gradle-wrapper.properties           |   7 -
 gradlew                                            | 252 ---------------------
 gradlew.bat                                        |  94 --------
 publishing/grailsCentralPublishing.gradle          |  46 ----
 settings.gradle                                    |  29 ---
 shell/grailsw                                      | 152 -------------
 shell/grailsw.bat                                  |  89 --------
 starter/build.gradle                               |   8 -
 .../main/java/grails/init/FindReleaseHandler.java  |  49 ----
 starter/src/main/java/grails/init/Start.java       | 124 ----------
 .../proxy/SystemPropertiesAuthenticator.java       |  17 --
 wrapper/build.gradle                               | 115 ----------
 .../src/main/groovy/grails/init/RunCommand.groovy  |  60 -----
 24 files changed, 1 insertion(+), 1531 deletions(-)

diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 9b2d7bf..0000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: 2
-updates:
-- package-ecosystem: gradle
-  directory: "/"
-  schedule:
-    interval: daily
-  open-pull-requests-limit: 10
-  target-branch: main
-  labels:
-  - "type: dependency upgrade"
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
deleted file mode 100644
index c049edc..0000000
--- a/.github/release-drafter.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-name-template: $NEXT_PATCH_VERSION
-tag-template: v$NEXT_PATCH_VERSION
-version-resolver:
-  major:
-    labels:
-      - 'type: major'
-  minor:
-    labels:
-      - 'type: minor'
-  patch:
-    labels:
-      - 'type: patch'
-  default: patch
-categories:
-  - title: 🚀 Features
-    labels:
-      - "type: enhancement"
-      - "type: new feature"
-      - "type: major"
-  - title: 🚀 Bug Fixes/Improvements
-    labels:
-      - "type: improvement"
-      - "type: bug"
-      - "type: minor"
-  - title: 🛠 Dependency upgrades
-    labels:
-      - "type: dependency upgrade"
-      - "dependencies"
-change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
-template: |
-  ## Changes
-
-  $CHANGES
-
-  ## Contributors
-
-  $CONTRIBUTORS
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
deleted file mode 100644
index 921886b..0000000
--- a/.github/workflows/gradle.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Java CI
-on:
-  push:
-    branches:
-      - '[1-9]+.[0-9]+.x'
-      - master
-  pull_request:
-    branches:
-      - '[1-9]+.[0-9]+.x'
-      - master
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        java: ['17']
-    env:
-      WORKSPACE: ${{ github.workspace }}
-      GRADLE_OPTS: -Xmx1500m -Dfile.encoding=UTF-8
-    steps:
-      - name: "📥 Checkout repository"
-        uses: actions/checkout@v4
-      - name: "☕️ Setup JDK"
-        uses: actions/setup-java@v4
-        with:
-          distribution: liberica
-          java-version: ${{ matrix.java }}
-      - name: "🐘 Setup Gradle"
-        uses: gradle/actions/setup-gradle@v4
-        with:
-          develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY  }}
-      - name: "🔨 Run Assemble"
-        if: github.event_name == 'push' && matrix.java == '17'
-        run: ./gradlew assemble
-      - name: "📤 Publish Snapshot Artifacts to Apache Snapshot Repo"
-        if: github.event_name == 'push' && matrix.java == '17'
-        env:
-          MAVEN_PUBLISH_URL: ${{ secrets.GRAILS_NEXUS_PUBLISH_SNAPSHOT_URL }}
-          MAVEN_PUBLISH_USERNAME: ${{ secrets.NEXUS_USER }}
-          MAVEN_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PW  }}
-        run: |
-          ./gradlew publish
diff --git a/.github/workflows/release-notes.yml 
b/.github/workflows/release-notes.yml
deleted file mode 100644
index 2946a2a..0000000
--- a/.github/workflows/release-notes.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-name: Changelog
-on:
-  issues:
-    types: [closed,reopened]
-  push:
-    branches:
-      - master
-      - '[1-9]+.[0-9]+.x'
-  workflow_dispatch:
-jobs:
-  release_notes:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-      - name: Check if it has release drafter config file
-        id: check_release_drafter
-        run: |
-          has_release_drafter=$([ -f .github/release-drafter.yml ] && echo 
"true" || echo "false")
-          echo ::set-output name=has_release_drafter::${has_release_drafter}
-
-      # If it has release drafter:
-      - uses: release-drafter/release-drafter@v6
-        if: steps.check_release_drafter.outputs.has_release_drafter == 'true'
-        env:
-          GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
-        with:
-          prerelease: false
-          commitish: main
-      # Otherwise:
-      - name: Export Gradle Properties
-        if: steps.check_release_drafter.outputs.has_release_drafter == 'false'
-        uses: apache/grails-github-actions/export-gradle-properties@asf
-      - uses: apache/grails-github-actions/release-notes@asf
-        if: steps.check_release_drafter.outputs.has_release_drafter == 'false'
-        id: release_notes
-        # with:
-        #   token: ${{ secrets.GH_TOKEN }}
-      - uses: ncipollo/release-action@1e3e9c6637e5566e185b7ab66f187539c5a76da7
-        if: steps.check_release_drafter.outputs.has_release_drafter == 'false' 
&& steps.release_notes.outputs.generated_changelog == 'true'
-        with:
-          allowUpdates: true
-          commit: ${{ steps.release_notes.outputs.current_branch }}
-          draft: true
-          name: ${{ env.title }} ${{ steps.release_notes.outputs.next_version 
}}
-          tag: v${{ steps.release_notes.outputs.next_version }}
-          bodyFile: CHANGELOG.md
-          token: ${{ secrets.GH_TOKEN }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index 0cebd3d..0000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-name: Release
-on:
-  release:
-    types: [published]
-jobs:
-  release:
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        java: ['17']
-    env:
-      GIT_USER_NAME: 'grails-build'
-      GIT_USER_EMAIL: '[email protected]'
-    steps:
-      - name: "📥 Checkout repository"
-        uses: actions/checkout@v4
-      - name: "☕️ Setup JDK"
-        uses: actions/setup-java@v4
-        with:
-          distribution: liberica
-          java-version: ${{ matrix.java }}
-      - name: "🐘 Setup Gradle"
-        uses: gradle/actions/setup-gradle@v4
-        with:
-          develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY  }}
-      - name: "🔀 Extract Target Branch"
-        id: extract_branch
-        run: |
-          echo "Determining Target Branch"
-          TARGET_BRANCH=`cat $GITHUB_EVENT_PATH | jq 
'.release.target_commitish' | sed -e 's/^"\(.*\)"$/\1/g'`
-          echo $TARGET_BRANCH
-          echo ::set-output name=value::${TARGET_BRANCH}
-      - name: "📅 Set the current release version"
-        id: release_version
-        run: echo ::set-output name=release_version::${GITHUB_REF:11}
-      - name: "⚙️ Run pre-release"
-        uses: apache/grails-github-actions/pre-release@asf
-        with:
-          token: ${{ secrets.GITHUB_TOKEN }}
-      - name: "📤 Publish to Sonatype OSSRH"
-        id: publish
-        env:
-          SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
-          SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
-          SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
-          SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID 
}}
-          SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
-          SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
-          SECRING_FILE: ${{ secrets.SECRING_FILE }}
-        run: |
-          echo $SECRING_FILE | base64 -d > secring.gpg
-          echo "Publishing Artifacts"
-          (set -x; ./gradlew 
-Psigning.secretKeyRingFile="${GITHUB_WORKSPACE}/secring.gpg" publishToSonatype 
closeAndReleaseSonatypeStagingRepository --no-daemon)
-          (set -x; ./gradlew assemble --no-daemon)
-      - name: "📤 Export Gradle Properties"
-        uses: apache/grails-github-actions/export-gradle-properties@asf
-      - name: "⚙️ Run post-release"
-        uses: apache/grails-github-actions/post-release@asf
-        with:
-          token: ${{ secrets.GITHUB_TOKEN }}
-        env:
-          SNAPSHOT_SUFFIX: -SNAPSHOT
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 4eb4732..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.gradle/
-.idea/
-**/build/
-**/.DS_Store
-*.iml
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 8dada3e..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "{}"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright {yyyy} {name of copyright owner}
-
-   Licensed 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
-
-       http://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.
diff --git a/README.md b/README.md
index 53e8677..7cddb3c 100644
--- a/README.md
+++ b/README.md
@@ -1,32 +1 @@
-# Grails Wrapper
-
-#### Build Status
-- [![Java 
CI](https://github.com/apache/grails-wrapper/actions/workflows/gradle.yml/badge.svg?event=push)](https://github.com/apache/grails-wrapper/actions/workflows/gradle.yml)
-
-Update to the latest wrapper release based on Grails version
----
-
-    ./grailsw update-wrapper
-
-Versions
----
-
-| Grails        | Wrapper                                                      
 |
-|---------------|---------------------------------------------------------------|
-| 5.0.0 - 5.3.3 | 
[3.0.0.M1](https://github.com/apache/grails-wrapper/releases) |
-| 5.3.4 - 5.3.X | [3.1.x](https://github.com/apache/grails-wrapper/releases)   
 |
-| 6.x.x         | [4.0.x](https://github.com/apache/grails-wrapper/releases)   
 |
-| 7.x.x         | [7.0.x](https://github.com/apache/grails-wrapper/releases)   
 |
-
-Release Process
----
-
-- Release new version via GitHub Releases
-- After GitHub action is completed and only after the new release is visible 
on 
https://central.sonatype.com/artifact/org.apache.grails/grails7-wrapper/versions
-- Update the branch to trigger gradle.yml to publish the next snapshot which 
will update the release version on 
https://repository.apache.org/content/groups/snapshots/org/apache/grails/grails7-wrapper/maven-metadata.xml
-- The release version will be installed locally by grails-wrapper.jar, latest 
is only used when release is not present
-
-```xml
-    <latest>7.0.1-SNAPSHOT</latest>
-    <release>7.0.0</release>
-```
\ No newline at end of file
+This project has been relocated to 
[grails-core](https://github.com/apache/grails-core) as of Grails 7.
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 70b1f04..0000000
--- a/build.gradle
+++ /dev/null
@@ -1,48 +0,0 @@
-buildscript {
-    repositories {
-        mavenCentral()
-        maven { url = 'https://repository.apache.org/content/groups/snapshots' 
}
-        maven { url = 'https://repo.grails.org/grails/core' }
-        maven { url = 'https://plugins.gradle.org/m2' }
-    }
-    dependencies {
-        classpath 
platform("org.apache.grails:grails-gradle-bom:$grailsVersion")
-        classpath "org.apache.grails:grails-gradle-plugins"
-        classpath 
"io.github.gradle-nexus:publish-plugin:$nexusPublishPluginVersion"
-    }
-}
-
-ext.isSnapshot = project.projectVersion.endsWith("-SNAPSHOT")
-ext.isReleaseVersion = !ext.isSnapshot
-ext."signing.keyId" = System.getenv("SIGNING_KEY") ?: 
project.hasProperty("signing.keyId") ? project.getProperty('signing.keyId') : 
null
-ext."signing.password" = System.getenv("SIGNING_PASSPHRASE") ?: 
project.hasProperty("signing.password") ? 
project.getProperty('signing.password') : null
-ext."signing.secretKeyRingFile" = 
project.hasProperty("signing.secretKeyRingFile") ? 
project.getProperty('signing.secretKeyRingFile') : null
-
-if (isReleaseVersion) {
-    apply plugin: "io.github.gradle-nexus.publish-plugin"
-}
-
-if (isReleaseVersion) {
-    nexusPublishing {
-        repositories {
-            sonatype {
-                def ossUser = System.getenv("SONATYPE_USERNAME") ?: 
project.hasProperty("sonatypeOssUsername") ? project.sonatypeOssUsername : ''
-                def ossPass = System.getenv("SONATYPE_PASSWORD") ?: 
project.hasProperty("sonatypeOssPassword") ? project.sonatypeOssPassword : ''
-                def ossStagingProfileId = 
System.getenv("SONATYPE_STAGING_PROFILE_ID") ?: 
project.hasProperty("sonatypeOssStagingProfileId") ? 
project.sonatypeOssStagingProfileId : ''
-                nexusUrl = uri("https://s01.oss.sonatype.org/service/local/";)
-                username = ossUser
-                password = ossPass
-                stagingProfileId = ossStagingProfileId
-            }
-        }
-    }
-}
-
-allprojects {
-    group = 'org.apache.grails'
-    version = projectVersion
-
-    apply plugin: "java"
-
-    compileJava.options.release = 17
-}
diff --git a/gradle.properties b/gradle.properties
deleted file mode 100644
index a07ab54..0000000
--- a/gradle.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-projectVersion=7.0.0-SNAPSHOT
-gradleNexusPluginVersion=2.3.1
-grailsVersion=7.0.0-SNAPSHOT
-nexusPublishPluginVersion=2.0.0
-plexusSecDispatcherVersion=1.4
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar 
b/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index a4b76b9..0000000
Binary files a/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index df97d72..0000000
--- a/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
deleted file mode 100755
index f5feea6..0000000
--- a/gradlew
+++ /dev/null
@@ -1,252 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright © 2015-2021 the original authors.
-#
-# Licensed 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.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-##############################################################################
-#
-#   Gradle start up script for POSIX generated by Gradle.
-#
-#   Important for running:
-#
-#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-#       noncompliant, but you have some other compliant shell such as ksh or
-#       bash, then to run this script, type that shell name before the whole
-#       command line, like:
-#
-#           ksh Gradle
-#
-#       Busybox and similar reduced shells will NOT work, because this script
-#       requires all of these POSIX shell features:
-#         * functions;
-#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-#         * compound commands having a testable exit status, especially «case»;
-#         * various built-in commands including «command», «set», and «ulimit».
-#
-#   Important for patching:
-#
-#   (2) This script targets any POSIX shell, so it avoids extensions provided
-#       by Bash, Ksh, etc; in particular arrays are avoided.
-#
-#       The "traditional" practice of packing multiple parameters into a
-#       space-separated string is a well documented source of bugs and security
-#       problems, so this is (mostly) avoided, by progressively accumulating
-#       options in "$@", and eventually passing that to Java.
-#
-#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-#       see the in-line comments for details.
-#
-#       There are tweaks for specific operating systems such as AIX, CygWin,
-#       Darwin, MinGW, and NonStop.
-#
-#   (3) This script is generated from the Groovy template
-#       
https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-#       within the Gradle project.
-#
-#       You can find Gradle at https://github.com/gradle/gradle/.
-#
-##############################################################################
-
-# Attempt to set APP_HOME
-
-# Resolve links: $0 may be a link
-app_path=$0
-
-# Need this for daisy-chained symlinks.
-while
-    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no 
leading path
-    [ -h "$app_path" ]
-do
-    ls=$( ls -ld "$app_path" )
-    link=${ls#*' -> '}
-    case $link in             #(
-      /*)   app_path=$link ;; #(
-      *)    app_path=$APP_HOME$link ;;
-    esac
-done
-
-# This is normally unused
-# shellcheck disable=SC2034
-APP_BASE_NAME=${0##*/}
-# Discard cd standard output in case $CDPATH is set 
(https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD=maximum
-
-warn () {
-    echo "$*"
-} >&2
-
-die () {
-    echo
-    echo "$*"
-    echo
-    exit 1
-} >&2
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "$( uname )" in                #(
-  CYGWIN* )         cygwin=true  ;; #(
-  Darwin* )         darwin=true  ;; #(
-  MSYS* | MINGW* )  msys=true    ;; #(
-  NONSTOP* )        nonstop=true ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD=$JAVA_HOME/jre/sh/java
-    else
-        JAVACMD=$JAVA_HOME/bin/java
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD=java
-    if ! command -v java >/dev/null 2>&1
-    then
-        die "ERROR: JAVA_HOME is not set and no 'java' command could be found 
in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-fi
-
-# Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
-    case $MAX_FD in #(
-      max*)
-        # In POSIX sh, ulimit -H is undefined. That's why the result is 
checked to see if it worked.
-        # shellcheck disable=SC2039,SC3045
-        MAX_FD=$( ulimit -H -n ) ||
-            warn "Could not query maximum file descriptor limit"
-    esac
-    case $MAX_FD in  #(
-      '' | soft) :;; #(
-      *)
-        # In POSIX sh, ulimit -n is undefined. That's why the result is 
checked to see if it worked.
-        # shellcheck disable=SC2039,SC3045
-        ulimit -n "$MAX_FD" ||
-            warn "Could not set maximum file descriptor limit to $MAX_FD"
-    esac
-fi
-
-# Collect all arguments for the java command, stacking in reverse order:
-#   * args from the command line
-#   * the main class name
-#   * -classpath
-#   * -D...appname settings
-#   * --module-path (only if needed)
-#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
-    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
-    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
-
-    JAVACMD=$( cygpath --unix "$JAVACMD" )
-
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    for arg do
-        if
-            case $arg in                                #(
-              -*)   false ;;                            # don't mess with 
options #(
-              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX 
filepath
-                    [ -e "$t" ] ;;                      #(
-              *)    false ;;
-            esac
-        then
-            arg=$( cygpath --path --ignore --mixed "$arg" )
-        fi
-        # Roll the args list around exactly as many times as the number of
-        # args, so each arg winds up back in the position where it started, but
-        # possibly modified.
-        #
-        # NB: a `for` loop captures its iteration list before it begins, so
-        # changing the positional parameters here affects neither the number of
-        # iterations, nor the values presented in `arg`.
-        shift                   # remove old arg
-        set -- "$@" "$arg"      # push replacement arg
-    done
-fi
-
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to 
pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Collect all arguments for the java command:
-#   * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not 
allowed to contain shell fragments,
-#     and any embedded shellness will be escaped.
-#   * For example: A user cannot expect ${Hostname} to be expanded, as it is 
an environment variable and will be
-#     treated as '${Hostname}' itself on the command line.
-
-set -- \
-        "-Dorg.gradle.appname=$APP_BASE_NAME" \
-        -classpath "$CLASSPATH" \
-        org.gradle.wrapper.GradleWrapperMain \
-        "$@"
-
-# Stop when "xargs" is not available.
-if ! command -v xargs >/dev/null 2>&1
-then
-    die "xargs is not available"
-fi
-
-# Use "xargs" to parse quoted args.
-#
-# With -n1 it outputs one arg per line, with the quotes and backslashes 
removed.
-#
-# In Bash we could simply go:
-#
-#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-#   set -- "${ARGS[@]}" "$@"
-#
-# but POSIX shell has neither arrays nor command substitution, so instead we
-# post-process each arg (as a line of input to sed) to backslash-escape any
-# character that might be a shell metacharacter, then use eval to reverse
-# that process (while maintaining the separation between arguments), and wrap
-# the whole thing up as a single "set" statement.
-#
-# This will of course break if any of these variables contains a newline or
-# an unmatched quote.
-#
-
-eval "set -- $(
-        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
-        xargs -n1 |
-        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
-        tr '\n' ' '
-    )" '"$@"'
-
-exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
deleted file mode 100644
index 9b42019..0000000
--- a/gradlew.bat
+++ /dev/null
@@ -1,94 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem      https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem  Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS 
to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% 
"-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" 
org.gradle.wrapper.GradleWrapperMain %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code 
instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/publishing/grailsCentralPublishing.gradle 
b/publishing/grailsCentralPublishing.gradle
deleted file mode 100644
index 272eefa..0000000
--- a/publishing/grailsCentralPublishing.gradle
+++ /dev/null
@@ -1,46 +0,0 @@
-publishing {
-    publications {
-        maven(MavenPublication) {
-            pom.withXml {
-                def xml = asNode()
-                xml.children().last() + pomInfo
-                try {
-                    xml.dependencyManagement.replaceNode {}
-                } catch (Throwable e) {
-                    // ignore
-                }
-
-                // simply remove dependencies without a version
-                // version-less dependencies are handled with 
dependencyManagement
-                // see 
https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/8 
for more complete solutions
-                xml.dependencies.dependency.findAll {
-                    it.version.text().isEmpty()
-                }.each {
-                    try {
-                        it.replaceNode {}
-                    } catch (Throwable e) {
-                        // ignore
-                    }
-                }
-            }
-            artifactId project.name
-            from components.java
-            artifact sourcesJar
-            artifact javadocJar
-        }
-    }
-
-    repositories {
-        if (isSnapshot) {
-            maven {
-                credentials {
-                    username = System.getenv('MAVEN_PUBLISH_USERNAME')
-                    password = System.getenv('MAVEN_PUBLISH_PASSWORD')
-                }
-                url = System.getenv('MAVEN_PUBLISH_URL') ?: 
'https://repository.apache.org/content/repositories/snapshots'
-            }
-        }
-    }
-}
-
-task install(dependsOn: project.tasks.withType(PublishToMavenLocal))
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100644
index 752ea6a..0000000
--- a/settings.gradle
+++ /dev/null
@@ -1,29 +0,0 @@
-plugins {
-    id 'com.gradle.develocity' version '4.0'
-    id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.2.1'
-}
-
-def isCI = System.getenv().containsKey('CI')
-def isLocal = !isCI
-
-develocity {
-    server = 'https://ge.grails.org'
-    buildScan {
-        tag('grails')
-        tag('grails-wrapper')
-        publishing.onlyIf { it.authenticated }
-        uploadInBackground = isLocal
-    }
-}
-
-buildCache {
-    local { enabled = isLocal }
-    remote(develocity.buildCache) {
-        push = isCI
-        enabled = true
-    }
-}
-
-include 'starter'
-include 'wrapper'
-project(':wrapper').name = 'grails7-wrapper'
diff --git a/shell/grailsw b/shell/grailsw
deleted file mode 100755
index 8d0cc12..0000000
--- a/shell/grailsw
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-##  Grails start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRAILS_OPTS to 
pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-XX:+TieredCompilation" "-XX:TieredStopAtLevel=1" 
"-XX:CICompilerCount=3"'
-
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
-    echo "$*"
-}
-
-die ( ) {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-JAR_PATH=$APP_HOME/grails-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 
'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    JAVACMD=`cygpath --unix "$JAVACMD"`
-    JAR_PATH=`cygpath --path --mixed "$JAR_PATH"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRAILS_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRAILS_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### 
Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### 
Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" 
"$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Split up the JVM_OPTS And GRAILS_OPTS values into an array, following the 
shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRAILS_OPTS
-
-exec "$JAVACMD" -jar "${JVM_OPTS[@]}" "$JAR_PATH" "$@"
diff --git a/shell/grailsw.bat b/shell/grailsw.bat
deleted file mode 100755
index c48c384..0000000
--- a/shell/grailsw.bat
+++ /dev/null
@@ -1,89 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem  Grails startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRAILS_OPTS 
to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-XX:+TieredCompilation" "-XX:TieredStopAtLevel=1" 
"-XX:CICompilerCount=3"
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your 
PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-set JAR_PATH=%APP_HOME%/grails-wrapper.jar
-
-@rem Execute Grails
-"%JAVA_EXE%" -jar %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRAILS_OPTS% %JAR_PATH% 
%CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRAILS_EXIT_CONSOLE if you need the _script_ return code 
instead of
-rem the _cmd.exe /c_ return code!
-if  not "" == "%GRAILS_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/starter/build.gradle b/starter/build.gradle
deleted file mode 100644
index 289eb10..0000000
--- a/starter/build.gradle
+++ /dev/null
@@ -1,8 +0,0 @@
-apply plugin: 'java'
-
-jar {
-    archiveFileName = "grails-wrapper.jar"
-    manifest {
-        attributes 'Main-Class': 'grails.init.Start'
-    }
-}
diff --git a/starter/src/main/java/grails/init/FindReleaseHandler.java 
b/starter/src/main/java/grails/init/FindReleaseHandler.java
deleted file mode 100644
index c05f3ae..0000000
--- a/starter/src/main/java/grails/init/FindReleaseHandler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package grails.init;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Created by jameskleeh on 11/2/16.
- */
-public class FindReleaseHandler extends DefaultHandler {
-
-    private String releaseVersion;
-    private String latestVersion;
-
-    private boolean foundRelease;
-    private boolean foundLatest;
-
-    @Override
-    public void startElement(String uri, String localName,String qName,
-                            Attributes attributes) {
-        if (qName.equalsIgnoreCase("RELEASE")) {
-            foundRelease = true;
-        }
-        if (qName.equalsIgnoreCase("LATEST")) {
-            foundLatest = true;
-        }
-    }
-
-    @Override
-    public void characters(char ch[], int start, int length) throws 
SAXException {
-        if (foundRelease) {
-            releaseVersion = new String(ch, start, length);
-        }
-        if (foundLatest) {
-            latestVersion = new String(ch, start, length);
-        }
-        foundLatest = false;
-        foundRelease = false;
-    }
-
-    public String getVersion() {
-        if (releaseVersion != null) {
-            return releaseVersion;
-        } else if (latestVersion != null) {
-            return latestVersion;
-        }
-        return null;
-    }
-}
diff --git a/starter/src/main/java/grails/init/Start.java 
b/starter/src/main/java/grails/init/Start.java
deleted file mode 100644
index 8c5de32..0000000
--- a/starter/src/main/java/grails/init/Start.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package grails.init;
-
-import grails.proxy.SystemPropertiesAuthenticator;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.net.Authenticator;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.nio.channels.Channels;
-import java.nio.channels.ReadableByteChannel;
-import java.nio.file.Files;
-
-import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
-
-public class Start {
-
-    private static final String PROJECT_NAME = "grails7-wrapper";
-    private static final String WRAPPER_PATH = "/org/grails/" + PROJECT_NAME;
-    private static final String DEFAULT_GRAILS_CORE_ARTIFACTORY_BASE_URL = 
"https://repo.grails.org/grails/core";;
-    private static final File WRAPPER_DIR = new 
File(System.getProperty("user.home") + "/.grails/wrapper");
-    private static final File NO_VERSION_JAR = new File(WRAPPER_DIR, 
PROJECT_NAME + ".jar");
-
-    private static String getGrailsCoreArtifactoryBaseUrl() {
-        String baseUrl = System.getProperty("grails.core.artifactory.baseUrl");
-        if (baseUrl != null) {
-            return baseUrl;
-        }
-        baseUrl = System.getenv("GRAILS_CORE_ARTIFACTORY_BASE_URL");
-        if (baseUrl != null) {
-            return baseUrl;
-        }
-        return DEFAULT_GRAILS_CORE_ARTIFACTORY_BASE_URL;
-    }
-
-    private static String getVersion() {
-        try {
-            SAXParserFactory factory = SAXParserFactory.newInstance();
-            SAXParser saxParser = factory.newSAXParser();
-            FindReleaseHandler findReleaseHandler = new FindReleaseHandler();
-            final String mavenMetadataFileUrl = 
getGrailsCoreArtifactoryBaseUrl() + WRAPPER_PATH + "/maven-metadata.xml";
-            HttpURLConnection conn = 
createHttpURLConnection(mavenMetadataFileUrl);
-            saxParser.parse(conn.getInputStream(), findReleaseHandler);
-            return findReleaseHandler.getVersion();
-        } catch (Exception e) {
-            if (!NO_VERSION_JAR.exists()) {
-                System.out.println("You must be connected to the internet the 
first time you use the Grails wrapper");
-                e.printStackTrace();
-                System.exit(1);
-            }
-            return null;
-        }
-    }
-
-    private static HttpURLConnection createHttpURLConnection(String 
mavenMetadataFileUrl) throws IOException {
-        final URL url = new URL(mavenMetadataFileUrl);
-        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-        conn.setInstanceFollowRedirects(true);
-        return conn;
-    }
-
-
-    private static boolean updateJar(String version) {
-
-        boolean success = false;
-
-        final String jarFileName = PROJECT_NAME + "-" + version;
-        final String jarFileExtension = ".jar";
-
-        if (WRAPPER_DIR.exists() || WRAPPER_DIR.mkdirs()) {
-            try {
-                File downloadedJar = File.createTempFile(jarFileName, 
jarFileExtension);
-                final String wrapperUrl = getGrailsCoreArtifactoryBaseUrl() + 
WRAPPER_PATH + "/" + version + "/" + jarFileName + jarFileExtension;
-                HttpURLConnection conn = createHttpURLConnection(wrapperUrl);
-                success = downloadWrapperJar(downloadedJar, 
conn.getInputStream());
-            } catch (Exception e) {
-                System.out.println("There was an error downloading the wrapper 
jar");
-                e.printStackTrace();
-            }
-        }
-
-
-        return success;
-    }
-
-    private static boolean downloadWrapperJar(File downloadedJar, InputStream 
inputStream) throws IOException {
-        ReadableByteChannel rbc = Channels.newChannel(inputStream);
-        try (FileOutputStream fos = new FileOutputStream(downloadedJar)) {
-            fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
-        }
-        Files.move(downloadedJar.getAbsoluteFile().toPath(), 
NO_VERSION_JAR.getAbsoluteFile().toPath(), REPLACE_EXISTING);
-        return true;
-    }
-
-    public static void main(String[] args) {
-        Authenticator.setDefault(new SystemPropertiesAuthenticator());
-
-        try {
-            if (!NO_VERSION_JAR.exists() || (args.length > 0 && 
args[0].trim().equals("update-wrapper"))) {
-                System.out.println("Updating Grails wrapper jar to version: " 
+ getVersion() + " located in: " + NO_VERSION_JAR.getAbsolutePath());
-                updateJar(getVersion());
-                // remove "update-wrapper" command argument
-                if(args.length > 0) {
-                    args[0] = null;
-                }
-            }
-
-            URLClassLoader child = new URLClassLoader(new 
URL[]{NO_VERSION_JAR.toURI().toURL()});
-            Class<?> classToLoad = Class.forName("grails.init.RunCommand", 
true, child);
-            Method main = classToLoad.getMethod("main", String[].class);
-            main.invoke(null, (Object) args);
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-}
diff --git 
a/starter/src/main/java/grails/proxy/SystemPropertiesAuthenticator.java 
b/starter/src/main/java/grails/proxy/SystemPropertiesAuthenticator.java
deleted file mode 100644
index c6d2566..0000000
--- a/starter/src/main/java/grails/proxy/SystemPropertiesAuthenticator.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package grails.proxy;
-
-import java.net.Authenticator;
-import java.net.PasswordAuthentication;
-
-public class SystemPropertiesAuthenticator extends Authenticator {
-
-    @Override
-    protected PasswordAuthentication getPasswordAuthentication() {
-        if(getRequestorType() == RequestorType.PROXY) {
-            return new PasswordAuthentication(
-                    System.getProperty("http.proxyUser", ""),
-                    System.getProperty("http.proxyPassword", 
"").toCharArray());
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/wrapper/build.gradle b/wrapper/build.gradle
deleted file mode 100644
index d80e536..0000000
--- a/wrapper/build.gradle
+++ /dev/null
@@ -1,115 +0,0 @@
-ext.pomInfo = {
-    delegate.name 'Grails 7 Wrapper'
-    delegate.description 'The Grails Wrapper Project'
-    delegate.url 'https://github.com/apache/grails-wrapper'
-
-    delegate.licenses {
-        delegate.license {
-            delegate.name 'The Apache Software License, Version 2.0'
-            delegate.url 'https://www.apache.org/licenses/LICENSE-2.0.txt'
-            delegate.distribution 'repo'
-        }
-    }
-
-    delegate.scm {
-        delegate.url "scm:[email protected]:grails/grails-wrapper.git"
-        delegate.connection "scm:[email protected]:grails/grails-wrapper.git"
-        delegate.developerConnection 
"scm:[email protected]:grails/grails-wrapper.git"
-    }
-
-    delegate.developers {
-        delegate.developer {
-            delegate.id 'graemerocher'
-            delegate.name 'Graeme Rocher'
-        }
-        delegate.developer {
-            delegate.id 'jeffscottbrown'
-            delegate.name 'Jeff Brown'
-        }
-        delegate.developer {
-            delegate.id 'puneetbehl'
-            delegate.name 'Puneet Behl'
-        }
-    }
-}
-
-apply plugin: 'groovy'
-apply plugin: 'eclipse'
-apply plugin: 'idea'
-apply plugin: 'maven-publish'
-apply plugin: 'signing'
-apply plugin: "io.spring.dependency-management"
-
-ext {
-    userOrg = 'grails'
-    repo = 'grails-core'
-}
-
-configurations {
-    groovyDoc.extendsFrom runtimeClasspath
-
-    all {
-        resolutionStrategy.dependencySubstitution {
-            //update fields plugin used by scaffolding
-            
substitute(module("org.codehaus.plexus:plexus-sec-dispatcher:2.0")).using(module("org.sonatype.plexus:plexus-sec-dispatcher:$plexusSecDispatcherVersion"))
-        }
-    }
-}
-
-repositories {
-    mavenCentral()
-    maven { url = 'https://repository.apache.org/content/groups/snapshots' }
-    maven { url = 'https://repo.grails.org/grails/core' }
-}
-
-dependencies {
-    implementation platform("org.apache.grails:grails-bom:$grailsVersion")
-    implementation "org.apache.groovy:groovy"
-    implementation "org.springframework.boot:spring-boot-cli"
-    implementation "org.apache.groovy:groovy-ant"
-    implementation "org.apache.grails:grails-shell-cli"
-    implementation "org.apache.groovy:groovy-templates"
-}
-
-jar {
-    from {
-        (configurations.runtimeClasspath).collect {
-            it.isDirectory() ? it : zipTree(it)
-        }
-    }
-    manifest {
-        attributes 'Main-Class': 'grails.init.RunCommand'
-    }
-
-    duplicatesStrategy = DuplicatesStrategy.INCLUDE
-}
-
-task sourcesJar(type: Jar) {
-    archiveClassifier.set('sources')
-    from project.sourceSets.main.allSource
-}
-
-task javadocJar(type: Jar) {
-    archiveClassifier.set('javadoc')
-    from groovydoc.outputs
-}
-
-tasks.withType(Groovydoc) {
-    groovyClasspath = project.configurations.groovyDoc
-    includes = ["grails-wrapper/**"]
-}
-
-afterEvaluate {
-    signing {
-        required { isReleaseVersion && gradle.taskGraph.hasTask("publish") }
-        sign publishing.publications.maven
-    }
-}
-
-tasks.withType(io.github.gradlenexus.publishplugin.InitializeNexusStagingRepository).configureEach
 {
-    shouldRunAfter(tasks.withType(Sign))
-}
-
-apply from:'../publishing/grailsCentralPublishing.gradle'
-
-
diff --git a/wrapper/src/main/groovy/grails/init/RunCommand.groovy 
b/wrapper/src/main/groovy/grails/init/RunCommand.groovy
deleted file mode 100644
index 326669c..0000000
--- a/wrapper/src/main/groovy/grails/init/RunCommand.groovy
+++ /dev/null
@@ -1,60 +0,0 @@
-package grails.init
-
-
-import org.grails.cli.compiler.grape.DependencyResolutionContext
-import org.grails.cli.compiler.grape.MavenResolverGrapeEngine
-import org.grails.cli.compiler.grape.MavenResolverGrapeEngineFactory
-import org.grails.cli.compiler.grape.RepositoryConfiguration
-
-/**
- * Created by jameskleeh on 10/31/16.
- */
-class RunCommand {
-
-    static final String DEFAULT_GRAILS_SHELL_VERSION = '7.0.0-SNAPSHOT'
-
-    static void main(String[] args) {
-
-        Properties props = new Properties()
-        String grailsVersion
-        String grailsShellVersion
-        String groovyVersion
-        try {
-            props.load(new FileInputStream("gradle.properties"))
-            grailsVersion = props.getProperty("grailsVersion")
-            grailsShellVersion = props.getProperty("grailsShellVersion")
-            groovyVersion = props.getProperty("groovyVersion")
-        } catch (IOException e) {
-            throw new RuntimeException("Could not determine grails version due 
to missing properties file")
-        }
-
-        if(!grailsShellVersion) {
-            grailsShellVersion = DEFAULT_GRAILS_SHELL_VERSION
-        }
-
-        GroovyClassLoader groovyClassLoader = new 
GroovyClassLoader(RunCommand.classLoader)
-
-        List<RepositoryConfiguration> repositoryConfigurations = [new 
RepositoryConfiguration("grailsCentral", new 
URI("https://repo.grails.org/grails/core";), true)]
-        if (groovyVersion && groovyVersion.endsWith("SNAPSHOT")) {
-            repositoryConfigurations.add(new RepositoryConfiguration("JFrog 
OSS snapshot repo", new URI("https://oss.jfrog.org/oss-snapshot-local";), true))
-        }
-
-        MavenResolverGrapeEngine grapeEngine = 
MavenResolverGrapeEngineFactory.create(groovyClassLoader, 
repositoryConfigurations, new DependencyResolutionContext(), false)
-        try {
-            grapeEngine.grab([:], [group: "org.apache.grails", module: 
"grails-shell-cli", version: grailsVersion])
-        }
-        catch(dependencyResolutionException){
-            // Try grails shell version from gradle.properties or default
-            grapeEngine.grab([:], [group: "org.apache.grails", module: 
"grails-shell-cli", version: grailsShellVersion])
-        }
-
-        ClassLoader previousClassLoader = 
Thread.currentThread().contextClassLoader
-        Thread.currentThread().setContextClassLoader(groovyClassLoader)
-
-        try {
-            groovyClassLoader.loadClass('org.grails.cli.GrailsCli').main(args)
-        } finally {
-            Thread.currentThread().setContextClassLoader(previousClassLoader)
-        }
-    }
-}

Reply via email to