Skip to content

Commit

Permalink
Grace: change to new group name
Browse files Browse the repository at this point in the history
  • Loading branch information
rainboyan committed Jan 1, 2024
1 parent a684924 commit e13c4e3
Show file tree
Hide file tree
Showing 1,891 changed files with 2,687 additions and 2,624 deletions.
49 changes: 11 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,24 @@
[![Revved up by Gradle Enterprise](https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A)](https://ge.grails.org/scans)

#### Build Status
- ![Java CI](https://github.com/grails/grails-core/workflows/Java%20CI/badge.svg)
- ![Grails Joint Validation Build](https://github.com/grails/grails-core/workflows/Grails%20Joint%20Validation%20Build/badge.svg)

#### Slack Signup
- [Slack Signup](https://slack.grails.org/)

Grails
Grace Framework
===

[Grails](https://grails.org/) is a framework used to build web applications with the [Groovy](https://groovy-lang.org/) programming language. The core framework is very extensible and there are numerous [plugins](https://plugins.grails.org/) available that provide easy integration of add-on features.

Grails development is lead by the [Grails Foundation](https://grails.org/foundation/) and is sponsored by [Object Computing Inc.](https://objectcomputing.com/) in St. Louis Missouri. Please contact <2gm@objectcomputing.com> for support inquiries.
[Grace](https://graceframework.org/) is a framework used to build web applications with the [Groovy](https://groovy-lang.org/) programming language. The core framework is very extensible and there are numerous [plugins](https://plugins.graceframework.org/) available that provide easy integration of add-on features.

Getting Started
---

You need a Java Development Kit (JDK) installed, but it is not necessary to install Groovy because it's bundled with the Grails distribution.
You need a Java Development Kit (JDK) installed, but it is not necessary to install Groovy because it's bundled with the Grace distribution.

To install Grails, visit https://grails.org/download.html and download the version you would like to use. Set a `GRAILS_HOME` environment variable to point to the root of the extracted download and add `GRAILS_HOME/bin` to your executable `PATH`. Then in a shell, type the following:
To install Grace, visit https://graceframework.org/download.html and download the version you would like to use. Set a `GRACE_HOME` environment variable to point to the root of the extracted download and add `GRACE_HOME/bin` to your executable `PATH`. Then in a shell, type the following:

grails create-app sampleapp
grace create-app sampleapp
cd sampleapp
grails run-app
grace run-app

To build Grails, clone this GitHub repository and execute the install Gradle target:
To build Grace, clone this GitHub repository and execute the install Gradle target:

git clone https://github.com/grails/grails-core.git
cd grails-core
./gradlew install
git clone https://github.com/graceframework/grace-framework.git
cd grace-framework
./gradlew pTML zipDist

If you encounter out of memory errors when trying to run the install target, try adjusting Gradle build settings. For example:

Expand All @@ -43,20 +32,4 @@ See [RELEASE.md](RELEASE.md).
License
---

Grails and Groovy are licensed under the terms of the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).

***

YourKit is kindly supporting Grails open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products:
[YourKit Java Profiler](https://www.yourkit.com/java/profiler/features/) and
[YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/features/).

Dependencies
---

**Gradle Plugins**

* SDKMAN! Vendor Plugin [Github](https://github.com/sdkman/sdkman-vendor-gradle-plugin).
* Gradle Nexus Staging Plugin [Github](https://github.com/Codearte/gradle-nexus-staging-plugin)
Grace is licensed under the terms of the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).
145 changes: 77 additions & 68 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,17 @@ ext {
homeSrcDir = file("src")
}

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

// Groovy is added as a dependency to both the 'groovy' and 'compile'
// configurations, so place the dependency in a shared variable. The
// 'compile' is required so that Groovy appears as a dependency in the
// artifacts' POMs.
ext.jointBuildGroovyJarProperty = System.getProperty('groovy.jar')
ext.groovyDependency = null

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 (jointBuildGroovyJarProperty) {
def jointBuildGroovyJar = file(jointBuildGroovyJarProperty)
if (jointBuildGroovyJar.exists()) {
Expand All @@ -57,37 +57,34 @@ if (jointBuildGroovyJarProperty) {
}

version = grailsVersion
group = "org.grails"
group = "org.graceframework"

apply plugin: 'idea'
apply plugin: 'maven-publish'
apply plugin: "io.github.gradle-nexus.publish-plugin"

if (isReleaseVersion) {
apply plugin: 'maven-publish'
apply plugin: "io.github.gradle-nexus.publish-plugin"

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
}
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/")
snapshotRepositoryUrl = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
username = ossUser
password = ossPass
stagingProfileId = ossStagingProfileId
}
}

transitionCheckOptions {
maxRetries.set(40)
delayBetween.set(java.time.Duration.ofMillis(2000))
}
transitionCheckOptions {
maxRetries.set(40)
delayBetween.set(java.time.Duration.ofMillis(2000))
}
}

allprojects {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://repo.grails.org/grails/core" }
Expand Down Expand Up @@ -132,18 +129,20 @@ apply from: "gradle/idea.gradle"

subprojects { project ->
version = grailsVersion
group = "org.grails"
group = "org.graceframework"

configurations {
documentation
}

ext.isTestSuite = project.name.startsWith("grails-test-suite")
ext.isTestSuite = project.name.startsWith("grace-test-suite")
ext.isCiBuild = project.hasProperty("isCiBuild") || System.getenv().get("CI") as Boolean
ext.pomInfo = {
delegate.name 'Grails Framework'
delegate.description 'Grails Web Application Framework'
delegate.url 'https://grails.org/'
if (project.name != 'grace-gradle-plugin') {
delegate.name 'Grace'
delegate.description 'Grace Web Application Framework'
}
delegate.url 'https://github.com/graceframework/grace-framework'

delegate.licenses {
delegate.license {
Expand All @@ -154,9 +153,9 @@ subprojects { project ->
}

delegate.scm {
delegate.url 'scm:git@github.com:rainboyan/grails-framework.git'
delegate.connection 'scm:git@github.com:rainboyan/grails-framework.git'
delegate.developerConnection 'scm:git@github.com:rainboyan/grails-framework.git'
delegate.url 'scm:git@github.com:graceframework/grace-framework.git'
delegate.connection 'scm:git@github.com:graceframework/grace-framework.git'
delegate.developerConnection 'scm:git@github.com:graceframework/grace-framework.git'
}

delegate.developers {
Expand Down Expand Up @@ -204,40 +203,31 @@ subprojects { project ->
}

if (!isTestSuite) {
publishing {
if (isBuildSnapshot) {
repositories {
maven {
credentials {
def u = System.getenv("ARTIFACTORY_USERNAME") ?: project.hasProperty("artifactoryPublishUsername") ? project.artifactoryPublishUsername : ''
def p = System.getenv("ARTIFACTORY_PASSWORD") ?: project.hasProperty("artifactoryPublishPassword") ? project.artifactoryPublishPassword : ''
username = u
password = p
}
url "https://repo.grails.org/grails/libs-snapshots-local"
}
}
}

if (project.name in ['grails-bom', 'grails-dependencies', 'grails-gradle-plugin']) return

publishing {
publications {
mavenJava(MavenPublication) {
maven(MavenPublication) {
from components.java

pom.withXml {
def xml = asNode()
if (project.name != 'grace-gradle-plugin') {
pom.withXml {
def xml = asNode()

xml.children().last() + pomInfo
xml.children().last() + pomInfo
}
}
}
}
}

// signing {
// required { isReleaseVersion && gradle.taskGraph.hasTask("publish") }
// sign publishing.publications.mavenJava
// }
afterEvaluate {
if (project.name != 'grace-gradle-plugin') {
signing {
required { isReleaseVersion && gradle.taskGraph.hasTask("publish") }
sign publishing.publications.maven
}
}
}

tasks.withType(Sign) {
onlyIf { isReleaseVersion }
Expand All @@ -259,18 +249,36 @@ subprojects { project ->

}

if (project.name in ['grails-bom', 'grails-dependencies']) return
if (project.name == 'grace-dependencies') return
if (project.name == 'grace-bom') return

sourceCompatibility = 11
targetCompatibility = 11

jar {
if (project.name =~ /^(grace-web|grace-plugin-|grace-test-suite|grace-test)/) {
dependencies {
api libs.javax.servlet
// MockHttpServletRequest/Response/Context used in many classes
api libs.spring.test, {
exclude group: 'commons-logging', module:'commons-logging'
}
}
}

if (project.name =~ /^(grace-plugin-datasource|grace-test-suite)/) {
dependencies {
testImplementation libs.hsqldb
testImplementation libs.h2
}
}

jar{
manifest.mainAttributes(
"Built-By": System.properties['user.name'],
"Created-By": System.properties['java.vm.version'] + " (" + System.properties['java.vm.vendor'] + ")",
"Implementation-Title": "Grails Framework",
"Implementation-Title": "Grace",
"Implementation-Version": grailsVersion,
"Implementation-Vendor": 'grails.org')
"Implementation-Vendor": 'graceframework.org')
}

checkstyle {
Expand Down Expand Up @@ -298,14 +306,11 @@ subprojects { project ->
groovyOptions.fork(memoryInitialSize: '128M', memoryMaximumSize: '1G')
groovyOptions.encoding = "UTF-8"
options.encoding = "UTF-8"
options.deprecation = true
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}

configure([compileJava, compileTestJava]) {
options.deprecation = true
options.debug = true
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}

configure([groovydoc]) {
Expand Down Expand Up @@ -339,7 +344,7 @@ subprojects { project ->
testImplementation libs.junit.platform.runner
testRuntimeOnly libs.junit.jupiter.engine

if (project.name != "grails-docs") {
if (project.name != "grace-docs") {
// Logging
api libs.slf4j.api
api libs.slf4j.jcl
Expand Down Expand Up @@ -405,7 +410,11 @@ subprojects { project ->
configurations {
meta
published.extendsFrom archives, meta
all*.exclude group:'commons-logging', module: 'commons-logging'
testRuntimeOnly {
exclude group: 'commons-logging', module: 'commons-logging'
exclude group: 'org.grails', module: 'grails-bootstrap'
exclude group: 'org.grails', module: 'grails-core'
}
}

if (!isTestSuite) {
Expand Down Expand Up @@ -470,8 +479,8 @@ sdkman {
api = "https://vendors.sdkman.io"
consumerKey = System.getenv("GVM_SDKVENDOR_KEY") ?: project.hasProperty("gvmSdkvendorKey") ? project.gvmSdkvendorKey : ''
consumerToken = System.getenv("GVM_SDKVENDOR_TOKEN") ?: project.hasProperty("gvmSdkvendorToken") ? project.gvmSdkvendorToken : ''
candidate = "grails"
candidate = "grace"
version = project.version
url = "https://github.com/grails/grails-core/releases/download/v${project.version}/grails-${project.version}.zip"
url = "https://github.com/graceframework/grace-framework/releases/download/v${project.version}/grace-${project.version}.zip"
hashtag = "#grailsfw"
}
2 changes: 1 addition & 1 deletion grails-api/README.md → grace-api/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## grails-api
## grace-api

This subproject contains much of the code for the Core API of Grails.
4 changes: 2 additions & 2 deletions grails-api/build.gradle → grace-api/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies {
api project(":grails-bootstrap")
api project(":grails-util")
api project(":grace-bootstrap")
api project(":grace-util")

api(libs.grails.datastore.core) {
transitive = false
Expand Down
2 changes: 1 addition & 1 deletion grails-bom/README.md → grace-bom/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## grails-bom
## grace-bom

Build support for generating the Maven bill of materials.
9 changes: 4 additions & 5 deletions grails-bom/build.gradle → grace-bom/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ publishing {
pom.withXml {
def xml = asNode()

xml.children().last() + pomInfo
xml.children().last() + {
def mkp = delegate

Expand Down Expand Up @@ -60,13 +59,13 @@ publishing {
mkp.dependencyManagement {
mkp.dependencies {
for (sub in project.parent.subprojects) {
if (sub.name == 'grails-bom') continue
if (sub.name == 'grace-bom') continue

mkp.dependency {
mkp.groupId sub.group
mkp.artifactId sub.name
mkp.version sub.version
if (sub.name == 'grails-dependencies') {
if (sub.name == 'grace-dependencies') {
mkp.type 'pom'
mkp.scope 'import'
}
Expand All @@ -93,7 +92,7 @@ publishing {
String artifactId = plugin.key
String version = "\${grails-plugin-${plugin.key}.version}"
mkp.dependency {
mkp.groupId 'org.grails.plugins'
mkp.groupId 'org.graceframework.plugins'
mkp.artifactId artifactId
String versionValue = plugin.value
mkp.version version
Expand All @@ -102,7 +101,7 @@ publishing {

for (profile in grails.profiles) {
mkp.dependency {
mkp.groupId 'org.grails.profiles'
mkp.groupId 'org.graceframework.profiles'
mkp.artifactId profile.key
String version = profile.value
mkp.version("\${grails-profile-${profile.key}.version}")
Expand Down
2 changes: 1 addition & 1 deletion grails-boot/README.md → grace-boot/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## grails-boot
## grace-boot

This subproject contains much of the code for the core of Grails support Spring Boot.
Loading

0 comments on commit e13c4e3

Please sign in to comment.