diff --git a/build.gradle b/build.gradle index 32480b556d9..03b4d8beca1 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,6 @@ buildscript { classpath "com.github.adrianbk:gradle-travisci-trigger-plugin:1.0.0" classpath "com.bmuschko:gradle-nexus-plugin:$gradleNexusPluginVersion" classpath "gradle.plugin.io.sdkman:gradle-sdkvendor-plugin:$gradleSdkVendorVersion" -// classpath "io.github.groovylang.groovydoc:groovydoc-gradle-plugin:1.0.1" classpath "javax.xml.bind:jaxb-api:$jaxbVersion" classpath "com.sun.xml.bind:jaxb-impl:$jaxbVersion" classpath "org.codehaus.groovy.modules.http-builder:http-builder:0.7.2" @@ -284,6 +283,7 @@ subprojects { project -> project.ext.artifactoryPublishPassword = System.getenv("ARTIFACTORY_PASSWORD") } + apply plugin: 'java-library' apply plugin: 'groovy' // apply plugin: "io.github.groovylang.groovydoc" if(!isTestSuite) { @@ -451,24 +451,24 @@ subprojects { project -> documentation "org.codehaus.groovy:groovy-cli-picocli:$groovyVersion" documentation ("com.github.javaparser:javaparser-core:$javaParserCoreVersion") - compile groovyDependency + api groovyDependency - testCompile "org.codehaus.groovy:groovy-test-junit5:${groovyVersion}" - testCompile "org.junit.jupiter:junit-jupiter-api:5.6.2" - testCompile "org.junit.platform:junit-platform-runner:1.6.2" + testImplementation "org.codehaus.groovy:groovy-test-junit5:${groovyVersion}" + testImplementation "org.junit.jupiter:junit-jupiter-api:5.6.2" + testImplementation "org.junit.platform:junit-platform-runner:1.6.2" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.6.2" if (project.name != "grails-docs") { // Logging - compile "org.slf4j:slf4j-api:$slf4jVersion" - compile "org.slf4j:jcl-over-slf4j:$slf4jVersion" + api "org.slf4j:slf4j-api:$slf4jVersion" + api "org.slf4j:jcl-over-slf4j:$slf4jVersion" // Testing - testCompile "org.slf4j:slf4j-simple:$slf4jVersion" - testCompile("org.spockframework:spock-core:${spockVersion}") { transitive = false } + testImplementation "org.slf4j:slf4j-simple:$slf4jVersion" + testImplementation("org.spockframework:spock-core:${spockVersion}") { transitive = false } // Required by Spock's Mocking - testCompile "cglib:cglib-nodep:${cglibVersion}" - testCompile "org.objenesis:objenesis:${objenesisVersion}" + testImplementation "cglib:cglib-nodep:${cglibVersion}" + testImplementation "org.objenesis:objenesis:${objenesisVersion}" } } diff --git a/gradle/docs.gradle b/gradle/docs.gradle index 7f1ecee6cbb..1eeff437fb1 100644 --- a/gradle/docs.gradle +++ b/gradle/docs.gradle @@ -2,10 +2,8 @@ buildscript { repositories { maven { url "https://repo.grails.org/grails/core" } } - dependencies { -// classpath "io.github.groovylang.groovydoc:groovydoc-gradle-plugin:1.0.1" - } } + /** * Since Grails is a mixed Groovy/Java codebase the javadoc tool needs stubs in order for javadoc compilation to pass * This target generates a set of stubs for the Groovy sources @@ -52,7 +50,7 @@ task docs { task javadoc(type:Javadoc) { def subs = subprojects.findAll { it.name != 'grails-dependencies' && it.name != 'grails-bom' && it.name != 'grails-compat' } - classpath = files(subs.configurations.compile) + classpath = files(subs.configurations.compileClasspath) dependsOn stubs maxMemory = '256M' destinationDir = file("$docs.destinationDir/javadoc") diff --git a/gradle/integration-test.gradle b/gradle/integration-test.gradle index 267aced6d30..74a02ae1a0a 100644 --- a/gradle/integration-test.gradle +++ b/gradle/integration-test.gradle @@ -13,8 +13,8 @@ sourceSets { dependencies { integrationTestCompile sourceSets.main.output integrationTestCompile sourceSets.test.output - integrationTestCompile configurations.testCompile - integrationTestRuntime configurations.testRuntime + integrationTestCompile configurations.testCompileClasspath + integrationTestRuntime configurations.testRuntimeClasspath } // Define integration test task diff --git a/grails-bootstrap/build.gradle b/grails-bootstrap/build.gradle index 6f756d7ef8b..ae1afd1d753 100644 --- a/grails-bootstrap/build.gradle +++ b/grails-bootstrap/build.gradle @@ -1,9 +1,9 @@ import org.apache.tools.ant.filters.ReplaceTokens dependencies { - compile ( "org.codehaus.groovy:groovy-xml:$groovyVersion" ) - compile ( "org.codehaus.groovy:groovy-templates:$groovyVersion" ) - compile "org.yaml:snakeyaml:1.23" + api ( "org.codehaus.groovy:groovy-xml:$groovyVersion" ) + api ( "org.codehaus.groovy:groovy-templates:$groovyVersion" ) + api "org.yaml:snakeyaml:1.23" compileOnly("io.methvin:directory-watcher:0.3.0") compileOnly("org.fusesource.jansi:jansi:$jansiVersion") @@ -13,8 +13,8 @@ dependencies { // Ant compileOnly "org.codehaus.groovy:groovy-ant:$groovyVersion" - testCompile("org.fusesource.jansi:jansi:$jansiVersion") - testCompile("jline:jline:$jlineVersion") + testImplementation("org.fusesource.jansi:jansi:$jansiVersion") + testImplementation("jline:jline:$jlineVersion") } diff --git a/grails-codecs/build.gradle b/grails-codecs/build.gradle index 8cbce39d9ae..8312eaf8015 100644 --- a/grails-codecs/build.gradle +++ b/grails-codecs/build.gradle @@ -1,3 +1,3 @@ dependencies { - compile 'commons-codec:commons-codec:1.10' + api 'commons-codec:commons-codec:1.10' } diff --git a/grails-console/build.gradle b/grails-console/build.gradle index 0bc45e4fe13..c1d1ef8e6d2 100644 --- a/grails-console/build.gradle +++ b/grails-console/build.gradle @@ -1,16 +1,16 @@ dependencies { - compile project(":grails-core") - compile "org.codehaus.groovy:groovy-console:$groovyVersion" - compile "org.codehaus.groovy:groovy-swing:$groovyVersion" - compile "org.codehaus.groovy:groovy-groovysh:$groovyVersion" - compile "org.fusesource.jansi:jansi:$jansiVersion", + api project(":grails-core") + api "org.codehaus.groovy:groovy-console:$groovyVersion" + api "org.codehaus.groovy:groovy-swing:$groovyVersion" + api "org.codehaus.groovy:groovy-groovysh:$groovyVersion" + implementation "org.fusesource.jansi:jansi:$jansiVersion", "jline:jline:$jlineVersion", "net.java.dev.jna:jna:$jnaVersion" - compile("org.springframework.boot:spring-boot:$springBootVersion") - compile "org.springframework:spring-test:${springVersion}" + api("org.springframework.boot:spring-boot:$springBootVersion") + api "org.springframework:spring-test:${springVersion}" - compile "org.springframework:spring-web:${springVersion}", optional + api "org.springframework:spring-web:${springVersion}", optional - compile "javax.servlet:javax.servlet-api:$servletApiVersion", optional + api "javax.servlet:javax.servlet-api:$servletApiVersion", optional } diff --git a/grails-core/build.gradle b/grails-core/build.gradle index a93ded31f76..2733e9108e1 100644 --- a/grails-core/build.gradle +++ b/grails-core/build.gradle @@ -6,23 +6,23 @@ dependencies { "org.aspectj:aspectjweaver:$aspectjVersion" annotationProcessor "io.micronaut:micronaut-inject-java:$micronautVersion" annotationProcessor "io.micronaut.spring:micronaut-spring-annotation:$micronautSpringVersion" - compile "io.micronaut:micronaut-inject:$micronautVersion" - compile "io.micronaut.spring:micronaut-spring-context:$micronautSpringVersion" - compile 'javax.persistence:javax.persistence-api:2.2' - compile "javax.annotation:javax.annotation-api:$javaxAnnotationApiVersion" + api "io.micronaut:micronaut-inject:$micronautVersion" + api "io.micronaut.spring:micronaut-spring-context:$micronautSpringVersion" + api 'javax.persistence:javax.persistence-api:2.2' + api "javax.annotation:javax.annotation-api:$javaxAnnotationApiVersion" - compile "com.github.ben-manes.caffeine:caffeine:$caffeineVersion" - compile("org.springframework.boot:spring-boot:$springBootVersion") - compile("org.springframework:spring-core:${springVersion}") { + implementation "com.github.ben-manes.caffeine:caffeine:$caffeineVersion" + api("org.springframework.boot:spring-boot:$springBootVersion") + api("org.springframework:spring-core:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } - compile("org.springframework:spring-tx:${springVersion}") { + api("org.springframework:spring-tx:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } - compile("org.springframework:spring-beans:${springVersion}") { + api("org.springframework:spring-beans:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } - compile("org.springframework:spring-context:${springVersion}") { + api("org.springframework:spring-context:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } @@ -32,7 +32,7 @@ dependencies { compileOnly("org.codehaus.groovy:groovy-templates:$groovyVersion") - compile project(":grails-bootstrap"), { + api project(":grails-bootstrap"), { exclude group:"org.fusesource.jansi", module:"jansi" exclude group:"jline", module:"jline" exclude group:"net.java.dev.jna", module:"jna" @@ -48,21 +48,21 @@ dependencies { exclude group:"org.codehaus.gant", module:"gant_groovy1.8" } - compile project(":grails-spring"), { + api project(":grails-spring"), { exclude group:'org.springframework', module:'spring-tx' exclude group:'org.springframework', module:'spring-web' exclude group:'org.grails', module:'grails-bootstrap' } - compile "org.grails:grails-datastore-core:$datastoreVersion" + api "org.grails:grails-datastore-core:$datastoreVersion" - testCompile("org.springframework:spring-jdbc:${springVersion}") { + testImplementation("org.springframework:spring-jdbc:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } - testCompile "org.hamcrest:hamcrest-core:1.3" + testImplementation "org.hamcrest:hamcrest-core:1.3" - testRuntime "com.h2database:h2:$h2Version" + testRuntimeOnly "com.h2database:h2:$h2Version" // These dependencies are not required, but due to a Groovy compiler bug they are loaded by Groovy and hence // have to be on the path for compilation even though they shouldn't be diff --git a/grails-databinding/build.gradle b/grails-databinding/build.gradle index 9b2e7f98ae1..4bac3f2efb1 100644 --- a/grails-databinding/build.gradle +++ b/grails-databinding/build.gradle @@ -1,4 +1,4 @@ dependencies { - compile "org.codehaus.groovy:groovy-xml:$groovyVersion" + api "org.codehaus.groovy:groovy-xml:$groovyVersion" } diff --git a/grails-dependencies/build.gradle b/grails-dependencies/build.gradle index 9768c85bba5..1a24ae26438 100644 --- a/grails-dependencies/build.gradle +++ b/grails-dependencies/build.gradle @@ -16,7 +16,7 @@ publishing { delegate.groupId "org.grails" delegate.artifactId "grails-bootstrap" delegate.version( project.version ) - delegate.scope "compile" + delegate.scope "api" delegate.exclusions { delegate.exclusion { @@ -42,14 +42,14 @@ publishing { delegate.groupId "org.grails" delegate.artifactId "grails-plugin-${sub}" delegate.version( project.version ) - delegate.scope "compile" + delegate.scope "api" } } delegate.dependency { delegate.groupId "org.grails.plugins" delegate.artifactId "async" delegate.version asyncVersion - delegate.scope "compile" + delegate.scope "api" delegate.exclusions { delegate.exclusion { delegate.groupId 'javax' @@ -61,7 +61,7 @@ publishing { delegate.groupId "org.grails.plugins" delegate.artifactId "gsp" delegate.version gspVersion - delegate.scope "compile" + delegate.scope "api" delegate.exclusions { delegate.exclusion { delegate.groupId 'javax' @@ -73,7 +73,7 @@ publishing { delegate.groupId "com.h2database" delegate.artifactId "h2" delegate.version( h2Version ) - delegate.scope "runtime" + delegate.scope "runtimeOnly" } } diff --git a/grails-docs/build.gradle b/grails-docs/build.gradle index 9eb8f75ea87..730e4c75633 100644 --- a/grails-docs/build.gradle +++ b/grails-docs/build.gradle @@ -1,28 +1,28 @@ configurations { // Required to keep Gradle classes off the test compile classpath. - gradleConf.extendsFrom compile + gradleConf.extendsFrom compileClasspath } dependencies { gradleConf gradleApi() - compile "commons-lang:commons-lang:$commonsLangVersion", + api "commons-lang:commons-lang:$commonsLangVersion", "org.slf4j:jcl-over-slf4j:$slf4jVersion", "org.apache.ant:ant:$antVersion", 'org.grails:grails-gdoc-engine:1.0.1', 'org.yaml:snakeyaml:1.14', "org.codehaus.groovy:groovy-ant:$groovyVersion" - compile 'org.asciidoctor:asciidoctorj:1.5.4' - compile('org.xhtmlrenderer:core-renderer:R8') { + api 'org.asciidoctor:asciidoctorj:1.5.4' + api('org.xhtmlrenderer:core-renderer:R8') { exclude group: 'bouncycastle', module:'bcprov-jdk14' } - runtime "org.slf4j:slf4j-api:$slf4jVersion" + runtimeOnly "org.slf4j:slf4j-api:$slf4jVersion" - runtime('com.lowagie:itext:2.0.8') + runtimeOnly('com.lowagie:itext:2.0.8') - compile 'org.jsoup:jsoup:1.7.3' - testCompile("org.spockframework:spock-core:${spockVersion}") { transitive = false } + api 'org.jsoup:jsoup:1.7.3' + testImplementation("org.spockframework:spock-core:${spockVersion}") { transitive = false } } sourceSets { diff --git a/grails-encoder/build.gradle b/grails-encoder/build.gradle index a3bad0d6237..5f0667a93d8 100644 --- a/grails-encoder/build.gradle +++ b/grails-encoder/build.gradle @@ -1,6 +1,6 @@ dependencies { - compile project(":grails-core") + api project(":grails-core") // HtmlUtils is used from spring-web - compile "org.codehaus.groovy:groovy-json:$groovyVersion" - compile "org.springframework:spring-web:${springVersion}" + api "org.codehaus.groovy:groovy-json:$groovyVersion" + api "org.springframework:spring-web:${springVersion}" } diff --git a/grails-gradle-plugin/build.gradle b/grails-gradle-plugin/build.gradle index 343c60431be..2e830bd25c5 100644 --- a/grails-gradle-plugin/build.gradle +++ b/grails-gradle-plugin/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'groovy' dependencies { - compile gradleApi() - compile project(":grails-gradle-model") - compile project(":grails-shell"), { + api gradleApi() + api project(":grails-gradle-model") + api project(":grails-shell"), { exclude group:"org.slf4j", module:"slf4j-simple" } - compile project(":grails-bootstrap"), { + api project(":grails-bootstrap"), { exclude group:"org.fusesource.jansi", module:"jansi" exclude group:"jline", module:"jline" exclude group:"net.java.dev.jna", module:"jna" @@ -22,8 +22,8 @@ dependencies { exclude group:"org.codehaus.gant", module:"gant_groovy1.8" } - compile "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion" - compile 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' - compile "io.spring.gradle:dependency-management-plugin:0.6.1.RELEASE" - compile 'com.netflix.nebula:gradle-extra-configurations-plugin:2.2.0' + api "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion" + api 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' + api "io.spring.gradle:dependency-management-plugin:0.6.1.RELEASE" + api 'com.netflix.nebula:gradle-extra-configurations-plugin:2.2.0' } diff --git a/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/core/IntegrationTestGradlePlugin.groovy b/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/core/IntegrationTestGradlePlugin.groovy index c43118ef07c..3f9c7643af1 100644 --- a/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/core/IntegrationTestGradlePlugin.groovy +++ b/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/core/IntegrationTestGradlePlugin.groovy @@ -61,8 +61,8 @@ class IntegrationTestGradlePlugin implements Plugin { DependencyHandler dependencies = project.dependencies dependencies.add("integrationTestCompile", SourceSets.findMainSourceSet(project).output) dependencies.add("integrationTestCompile", SourceSets.findSourceSet(project, SourceSet.TEST_SOURCE_SET_NAME).output) - dependencies.add("integrationTestCompile", project.configurations.findByName("testCompile")) - dependencies.add("integrationTestRuntime", project.configurations.findByName("testRuntime")) + dependencies.add("integrationTestCompile", project.configurations.findByName("testCompileClasspath")) + dependencies.add("integrationTestRuntime", project.configurations.findByName("testRuntimeClasspath")) TaskContainer tasks = project.tasks Test integrationTestTask = tasks.create('integrationTest', Test) diff --git a/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/web/gsp/GroovyPagePlugin.groovy b/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/web/gsp/GroovyPagePlugin.groovy index 4003915b734..5d01e7f253a 100644 --- a/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/web/gsp/GroovyPagePlugin.groovy +++ b/grails-gradle-plugin/src/main/groovy/org/grails/gradle/plugin/web/gsp/GroovyPagePlugin.groovy @@ -43,7 +43,7 @@ class GroovyPagePlugin implements Plugin { File destDir = output?.dir("gsp-classes") ?: new File(project.buildDir, "gsp-classes/main") Configuration providedConfig = project.configurations.findByName('provided') - def allClasspath = project.configurations.compile + project.configurations.gspCompile + classesDirs + def allClasspath = project.configurations.compileClasspath + project.configurations.gspCompile + classesDirs if(providedConfig) { allClasspath += providedConfig } diff --git a/grails-logging/build.gradle b/grails-logging/build.gradle index 843a47e71c5..9a260428d3b 100644 --- a/grails-logging/build.gradle +++ b/grails-logging/build.gradle @@ -1,3 +1,3 @@ dependencies { - compile project(":grails-core") -} \ No newline at end of file + api project(":grails-core") +} diff --git a/grails-plugin-codecs/build.gradle b/grails-plugin-codecs/build.gradle index 8d49a5b860c..895dbf0412e 100644 --- a/grails-plugin-codecs/build.gradle +++ b/grails-plugin-codecs/build.gradle @@ -6,6 +6,6 @@ dependencies { compileOnly "io.micronaut.spring:micronaut-spring-annotation:$micronautSpringVersion" compileOnly "io.micronaut:micronaut-inject-groovy:$micronautVersion" - compile project(":grails-web"), project(":grails-encoder") - runtime project(":grails-codecs") + api project(":grails-web"), project(":grails-encoder") + runtimeOnly project(":grails-codecs") } diff --git a/grails-plugin-controllers/build.gradle b/grails-plugin-controllers/build.gradle index a19cfac1e8e..16cef8bcbcf 100644 --- a/grails-plugin-controllers/build.gradle +++ b/grails-plugin-controllers/build.gradle @@ -1,13 +1,13 @@ dependencies { - compile project(":grails-core"), + api project(":grails-core"), project(":grails-web"), project(':grails-plugin-mimetypes'), project(':grails-plugin-validation'), project(':grails-plugin-domain-class') - compile("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion") - runtime project(':grails-plugin-i18n') + api("org.springframework.boot:spring-boot-autoconfigure:$springBootVersion") + runtimeOnly project(':grails-plugin-i18n') - testRuntime "jline:jline:$jlineVersion" - testRuntime "org.fusesource.jansi:jansi:$jansiVersion" + testRuntimeOnly "jline:jline:$jlineVersion" + testRuntimeOnly "org.fusesource.jansi:jansi:$jansiVersion" } diff --git a/grails-plugin-databinding/build.gradle b/grails-plugin-databinding/build.gradle index 1a17ec389af..853243f1351 100644 --- a/grails-plugin-databinding/build.gradle +++ b/grails-plugin-databinding/build.gradle @@ -5,11 +5,11 @@ dependencies { compileOnly "io.micronaut:micronaut-inject-java:$micronautVersion" compileOnly "io.micronaut.spring:micronaut-spring-annotation:$micronautSpringVersion" - compile project(':grails-core'), project(':grails-web') + api project(':grails-core'), project(':grails-web') // compile "io.micronaut:micronaut-runtime-groovy:$micronautRuntimeGroovyVersion" - testCompile project(':grails-test-suite-base') - testCompile "org.grails:grails-web-testing-support:$testingSupportVersion", { + testImplementation project(':grails-test-suite-base') + testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-rest' exclude module:'grails-plugin-interceptors' diff --git a/grails-plugin-datasource/build.gradle b/grails-plugin-datasource/build.gradle index 627c5feee56..3ce4005d6b0 100644 --- a/grails-plugin-datasource/build.gradle +++ b/grails-plugin-datasource/build.gradle @@ -1,19 +1,19 @@ dependencies { - compile("org.springframework:spring-jdbc:${springVersion}") { + api("org.springframework:spring-jdbc:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } - compile "org.codehaus.groovy:groovy-sql:$groovyVersion" + api "org.codehaus.groovy:groovy-sql:$groovyVersion" - compile("org.springframework:spring-context:${springVersion}") { + api("org.springframework:spring-context:${springVersion}") { exclude group: 'commons-logging', module:'commons-logging' } - compile "org.grails:grails-datastore-gorm:$datastoreVersion" - compile "org.grails:grails-datastore-core:$datastoreVersion" + api "org.grails:grails-datastore-gorm:$datastoreVersion" + api "org.grails:grails-datastore-core:$datastoreVersion" compileOnly "org.apache.tomcat:tomcat-jdbc:$tomcatVersion" - runtime "org.apache.tomcat.embed:tomcat-embed-logging-log4j:$tomcatLog4jVersion" + runtimeOnly "org.apache.tomcat.embed:tomcat-embed-logging-log4j:$tomcatLog4jVersion" - compile project(":grails-core") + api project(":grails-core") } diff --git a/grails-plugin-domain-class/build.gradle b/grails-plugin-domain-class/build.gradle index 7b3dab3a48a..d4b0830adee 100644 --- a/grails-plugin-domain-class/build.gradle +++ b/grails-plugin-domain-class/build.gradle @@ -1,13 +1,13 @@ dependencies { - compile project(":grails-core"), project(":grails-spring") - compile project(":grails-plugin-validation") + api project(":grails-core"), project(":grails-spring") + api project(":grails-plugin-validation") // Datastore APIs - compile("org.grails:grails-datastore-gorm-validation:$datastoreVersion") { + api("org.grails:grails-datastore-gorm-validation:$datastoreVersion") { exclude group: 'org.grails', module:'grails-datastore-core' } - compile("org.grails:grails-datastore-gorm:$datastoreVersion") { + api("org.grails:grails-datastore-gorm:$datastoreVersion") { transitive = false exclude group: 'org.grails', module:'grails-datastore-core' exclude group: 'org.grails', module:'grails-bootstrap' @@ -20,7 +20,7 @@ dependencies { exclude group: 'org.slf4j', module:'slf4j-simple' } - compile("org.grails:grails-datastore-gorm-support:$datastoreVersion") { + api("org.grails:grails-datastore-gorm-support:$datastoreVersion") { transitive = false exclude group: 'org.grails', module:'grails-datastore-core' exclude group: 'org.grails', module:'grails-datastore-gorm' @@ -34,7 +34,7 @@ dependencies { exclude group: 'org.slf4j', module:'slf4j-simple' } - compile("org.grails:grails-datastore-core:$datastoreVersion") { + api("org.grails:grails-datastore-core:$datastoreVersion") { exclude group: 'org.springframework', module:'spring-core' exclude group: 'org.springframework', module:'spring-context' exclude group: 'org.springframework', module:'spring-web' diff --git a/grails-plugin-i18n/build.gradle b/grails-plugin-i18n/build.gradle index 0a073394975..7c741dc088f 100644 --- a/grails-plugin-i18n/build.gradle +++ b/grails-plugin-i18n/build.gradle @@ -1,5 +1,5 @@ dependencies { - compile project(":grails-web") + api project(":grails-web") provided "org.codehaus.groovy:groovy-ant:$groovyVersion" } diff --git a/grails-plugin-interceptors/build.gradle b/grails-plugin-interceptors/build.gradle index 0f55c607aab..438e3f86cbf 100644 --- a/grails-plugin-interceptors/build.gradle +++ b/grails-plugin-interceptors/build.gradle @@ -1,4 +1,4 @@ dependencies { - compile project(":grails-plugin-controllers") - compile project(":grails-plugin-url-mappings") + api project(":grails-plugin-controllers") + api project(":grails-plugin-url-mappings") } diff --git a/grails-plugin-mimetypes/build.gradle b/grails-plugin-mimetypes/build.gradle index 4aacc97908f..4600d5073d4 100644 --- a/grails-plugin-mimetypes/build.gradle +++ b/grails-plugin-mimetypes/build.gradle @@ -5,5 +5,5 @@ dependencies { compileOnly "io.micronaut:micronaut-inject-java:$micronautVersion" compileOnly "io.micronaut.spring:micronaut-spring-annotation:$micronautSpringVersion" - compile project(":grails-web") -} \ No newline at end of file + api project(":grails-web") +} diff --git a/grails-plugin-rest/build.gradle b/grails-plugin-rest/build.gradle index 44c37c81dd0..5893f1a261a 100644 --- a/grails-plugin-rest/build.gradle +++ b/grails-plugin-rest/build.gradle @@ -1,13 +1,13 @@ dependencies { - compile 'javax.xml.bind:jaxb-api:2.3.0' + api 'javax.xml.bind:jaxb-api:2.3.0' - compile project(":grails-web"), + api project(":grails-web"), project(":grails-plugin-controllers"), project(":grails-plugin-datasource") - compile "org.grails.plugins:converters:$legacyConvertersVersion" + api "org.grails.plugins:converters:$legacyConvertersVersion" - testCompile project(":grails-plugin-url-mappings"), + testImplementation project(":grails-plugin-url-mappings"), project(":grails-test-suite-base") } diff --git a/grails-plugin-services/build.gradle b/grails-plugin-services/build.gradle index ca61c55c90e..bf7b0d7ea41 100644 --- a/grails-plugin-services/build.gradle +++ b/grails-plugin-services/build.gradle @@ -1,5 +1,5 @@ dependencies { - compile "org.springframework:spring-tx:${springVersion}" + api "org.springframework:spring-tx:${springVersion}" - compile project(":grails-core"), project(":grails-plugin-datasource") -} \ No newline at end of file + api project(":grails-core"), project(":grails-plugin-datasource") +} diff --git a/grails-plugin-url-mappings/build.gradle b/grails-plugin-url-mappings/build.gradle index dbf12ac7c6f..373d15547d5 100644 --- a/grails-plugin-url-mappings/build.gradle +++ b/grails-plugin-url-mappings/build.gradle @@ -1,4 +1,4 @@ dependencies { - compile project(":grails-web"), project(":grails-plugin-controllers") + api project(":grails-web"), project(":grails-plugin-controllers") provided "junit:junit:${junitVersion}" } diff --git a/grails-plugin-validation/build.gradle b/grails-plugin-validation/build.gradle index df2be782c92..3f04461efaf 100644 --- a/grails-plugin-validation/build.gradle +++ b/grails-plugin-validation/build.gradle @@ -1,4 +1,4 @@ dependencies { - compile project(":grails-core"), + api project(":grails-core"), project(':grails-web') } diff --git a/grails-shell/build.gradle b/grails-shell/build.gradle index f943f17bb80..1ce55d85e6e 100644 --- a/grails-shell/build.gradle +++ b/grails-shell/build.gradle @@ -12,25 +12,25 @@ ext { } dependencies { - compile project(":grails-bootstrap") - compile project(":grails-gradle-model") - compile "org.apache.ant:ant:$antVersion" - compile "org.codehaus.groovy:groovy-ant:$groovyVersion" - compile "org.codehaus.groovy:groovy-json:$groovyVersion" - compile "org.codehaus.groovy:groovy-jmx:$groovyVersion" - compile "org.fusesource.jansi:jansi:$jansiVersion" - compile "jline:jline:$jlineVersion" - compile "org.gradle:gradle-tooling-api:$gradleToolingApiVersion" - - compile("org.springframework.boot:spring-boot-cli:$springBootVersion") { + api project(":grails-bootstrap") + api project(":grails-gradle-model") + api "org.apache.ant:ant:$antVersion" + api "org.codehaus.groovy:groovy-ant:$groovyVersion" + api "org.codehaus.groovy:groovy-json:$groovyVersion" + api "org.codehaus.groovy:groovy-jmx:$groovyVersion" + api "org.fusesource.jansi:jansi:$jansiVersion" + api "jline:jline:$jlineVersion" + api "org.gradle:gradle-tooling-api:$gradleToolingApiVersion" + + api("org.springframework.boot:spring-boot-cli:$springBootVersion") { exclude group: "org.codehaus.groovy", module: "groovy" } - testCompile "net.sf.expectit:expectit-core:0.5.0" - testCompile "com.github.jnr:jnr-posix:3.0.6" + testImplementation "net.sf.expectit:expectit-core:0.5.0" + testImplementation "com.github.jnr:jnr-posix:3.0.6" - runtime "org.slf4j:slf4j-simple:$slf4jVersion" - runtime "org.codehaus.plexus:plexus-component-api:1.0-alpha-33" + runtimeOnly "org.slf4j:slf4j-simple:$slf4jVersion" + runtimeOnly "org.codehaus.plexus:plexus-component-api:1.0-alpha-33" } diff --git a/grails-spring/build.gradle b/grails-spring/build.gradle index 799fc6118e7..fd72f8a9105 100644 --- a/grails-spring/build.gradle +++ b/grails-spring/build.gradle @@ -1,8 +1,8 @@ dependencies { - compile "org.springframework:spring-tx:${springVersion}" - compile "org.springframework:spring-web:${springVersion}" - compile "org.springframework:spring-context:${springVersion}" - compile project(":grails-bootstrap"), { + api "org.springframework:spring-tx:${springVersion}" + api "org.springframework:spring-web:${springVersion}" + api "org.springframework:spring-context:${springVersion}" + api project(":grails-bootstrap"), { exclude group:"org.fusesource.jansi", module:"jansi" exclude group:"jline", module:"jline" exclude group:"net.java.dev.jna", module:"jna" @@ -16,4 +16,4 @@ dependencies { exclude group:"org.codehaus.gant", module:"gant_groovy1.8" } -} \ No newline at end of file +} diff --git a/grails-test-suite-base/build.gradle b/grails-test-suite-base/build.gradle index 696a71d664c..0f763517f91 100644 --- a/grails-test-suite-base/build.gradle +++ b/grails-test-suite-base/build.gradle @@ -1,10 +1,10 @@ dependencies { - compile project(':grails-bootstrap'), + api project(':grails-bootstrap'), project(':grails-core'), project(':grails-spring'), project(':grails-web'), project(':grails-test'), project(':grails-plugin-domain-class') - compile "org.grails.plugins:converters:$legacyConvertersVersion" + api "org.grails.plugins:converters:$legacyConvertersVersion" } diff --git a/grails-test-suite-persistence/build.gradle b/grails-test-suite-persistence/build.gradle index 6776b5a15da..425927c7f59 100644 --- a/grails-test-suite-persistence/build.gradle +++ b/grails-test-suite-persistence/build.gradle @@ -1,10 +1,10 @@ -configurations.testCompile { +configurations.testCompileClasspath { exclude module: "grails-plugin-testing" } dependencies { - testCompile project(':grails-test-suite-base'), + testImplementation project(':grails-test-suite-base'), project(':grails-plugin-domain-class'), project(':grails-plugin-datasource'), project(':grails-plugin-i18n'), @@ -15,8 +15,8 @@ dependencies { project(':grails-bootstrap'), project(':grails-spring') - testCompile "org.grails:grails-datastore-gorm-validation:$datastoreVersion" - testCompile "org.grails:grails-datastore-gorm-hibernate5:$hibernateDatastoreVersion", { + testImplementation "org.grails:grails-datastore-gorm-validation:$datastoreVersion" + testImplementation "org.grails:grails-datastore-gorm-hibernate5:$hibernateDatastoreVersion", { exclude group: 'org.grails', module:'grails-datastore-gorm' exclude group: 'org.grails', module:'grails-datastore-core' exclude group: 'org.springframework', module:'spring-core' @@ -42,22 +42,22 @@ dependencies { exclude group: 'javassist', module: 'javassist' } - compile "org.apache.tomcat:tomcat-jdbc:$tomcatVersion" + api "org.apache.tomcat:tomcat-jdbc:$tomcatVersion" - testRuntime "com.h2database:h2:$h2Version" + testRuntimeOnly "com.h2database:h2:$h2Version" // // Required for AspectJ support - testRuntime "org.springframework:spring-aspects:${springVersion}" - testRuntime "org.aspectj:aspectjrt:$aspectjVersion", + testRuntimeOnly "org.springframework:spring-aspects:${springVersion}" + testRuntimeOnly "org.aspectj:aspectjrt:$aspectjVersion", "org.aspectj:aspectjweaver:$aspectjVersion" - testCompile "org.grails.plugins:async:$asyncVersion", { + testImplementation "org.grails.plugins:async:$asyncVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-controllers' exclude module:'grails-core' exclude module:'grails-plugin-domain-class' } - testCompile "org.grails:grails-gorm-testing-support:$testingSupportVersion", { + testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-domain-class' exclude module:'grails-test' diff --git a/grails-test-suite-uber/build.gradle b/grails-test-suite-uber/build.gradle index a3a7f825bc5..01c187eae12 100644 --- a/grails-test-suite-uber/build.gradle +++ b/grails-test-suite-uber/build.gradle @@ -1,24 +1,24 @@ -configurations.testCompile { +configurations.testCompileClasspath { exclude module: "grails-plugin-testing" } dependencies { - compile project(':grails-test-suite-base'), + api project(':grails-test-suite-base'), project(':grails-plugin-interceptors'), project(':grails-plugin-controllers') - compile "org.apache.tomcat:tomcat-jdbc:$tomcatVersion" + api "org.apache.tomcat:tomcat-jdbc:$tomcatVersion" - testRuntime 'javax.servlet.jsp:jsp-api:2.1' - testRuntime 'jstl:jstl:1.1.2' - testRuntime 'javax.el:el-api:1.0' - testRuntime "com.h2database:h2:$h2Version" - testRuntime "org.springframework:spring-aspects:${springVersion}" - testRuntime "org.aspectj:aspectjrt:$aspectjVersion", + testRuntimeOnly 'javax.servlet.jsp:jsp-api:2.1' + testRuntimeOnly 'jstl:jstl:1.1.2' + testRuntimeOnly 'javax.el:el-api:1.0' + testRuntimeOnly "com.h2database:h2:$h2Version" + testRuntimeOnly "org.springframework:spring-aspects:${springVersion}" + testRuntimeOnly "org.aspectj:aspectjrt:$aspectjVersion", "org.aspectj:aspectjweaver:$aspectjVersion" - testCompile project(':grails-plugin-codecs'), + testImplementation project(':grails-plugin-codecs'), project(':grails-plugin-domain-class') , project(':grails-plugin-url-mappings') , project(":grails-plugin-datasource"), @@ -28,7 +28,7 @@ dependencies { project(":grails-plugin-databinding"), project(':grails-spring') - testCompile "org.grails:grails-datastore-gorm-hibernate5:$hibernateDatastoreVersion", { + testImplementation "org.grails:grails-datastore-gorm-hibernate5:$hibernateDatastoreVersion", { exclude group: 'org.grails', module:'grails-datastore-gorm' exclude group: 'org.grails', module:'grails-datastore-core' exclude group: 'org.springframework', module:'spring-core' @@ -54,13 +54,13 @@ dependencies { exclude group: 'javassist', module: 'javassist' } - testCompile "org.grails.plugins:async:$asyncVersion", { + testImplementation "org.grails.plugins:async:$asyncVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-controllers' exclude module:'grails-core' exclude module:'grails-plugin-domain-class' } - testCompile "org.grails.plugins:gsp:$gspVersion", { + testImplementation "org.grails.plugins:gsp:$gspVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-controllers' exclude module:'grails-core' @@ -68,14 +68,14 @@ dependencies { exclude module:'grails-web-common' exclude module:'grails-encoder' } - testCompile "org.grails:grails-gorm-testing-support:$testingSupportVersion", { + testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-domain-class' exclude module:'grails-test' exclude module:'grails-core' exclude module:'async' } - testCompile "org.grails:grails-web-testing-support:$testingSupportVersion", { + testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-rest' exclude module:'grails-plugin-interceptors' diff --git a/grails-test-suite-web/build.gradle b/grails-test-suite-web/build.gradle index 7abc81242ef..c4ef84507dc 100644 --- a/grails-test-suite-web/build.gradle +++ b/grails-test-suite-web/build.gradle @@ -4,16 +4,16 @@ configurations.all { } } -configurations.testCompile { +configurations.testCompileClasspath { exclude module: "grails-plugin-testing" } dependencies { - testCompile 'javax.servlet.jsp:jsp-api:2.1' - testCompile 'jstl:jstl:1.1.2' - testCompile 'javax.el:el-api:1.0' - testCompile project(':grails-test-suite-base'), + testImplementation 'javax.servlet.jsp:jsp-api:2.1' + testImplementation 'jstl:jstl:1.1.2' + testImplementation 'javax.el:el-api:1.0' + testImplementation project(':grails-test-suite-base'), project(':grails-plugin-domain-class'), project(':grails-plugin-codecs'), project(':grails-plugin-datasource'), @@ -27,9 +27,9 @@ dependencies { project(':grails-web'), project(':grails-web-databinding'), project(':grails-spring') - testCompile "org.grails.plugins:converters:$legacyConvertersVersion" + testImplementation "org.grails.plugins:converters:$legacyConvertersVersion" - testCompile "org.grails:grails-datastore-gorm-hibernate5:$hibernateDatastoreVersion", { + testImplementation "org.grails:grails-datastore-gorm-hibernate5:$hibernateDatastoreVersion", { exclude group: 'org.grails', module:'grails-datastore-gorm' exclude group: 'org.grails', module:'grails-datastore-core' exclude group: 'org.springframework', module:'spring-core' @@ -56,10 +56,10 @@ dependencies { } // Required for tag library support - testCompile 'taglibs:standard:1.1.2' - testCompile "javax.servlet:jstl:1.1.2" + testImplementation 'taglibs:standard:1.1.2' + testImplementation "javax.servlet:jstl:1.1.2" - testCompile "org.grails:grails-web-testing-support:$testingSupportVersion", { + testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-rest' exclude module:'grails-plugin-interceptors' @@ -68,7 +68,7 @@ dependencies { exclude module:'async' exclude module:'gsp' } - testCompile "org.grails.plugins:gsp:$gspVersion", { + testImplementation "org.grails.plugins:gsp:$gspVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-controllers' exclude module:'grails-core' @@ -76,21 +76,21 @@ dependencies { exclude module:'grails-web-common' exclude module:'grails-encoder' } - testCompile "org.grails.plugins:async:$asyncVersion", { + testImplementation "org.grails.plugins:async:$asyncVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-controllers' exclude module:'grails-core' exclude module:'grails-plugin-domain-class' } - testCompile "org.grails:grails-gorm-testing-support:$testingSupportVersion", { + testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion", { exclude module:'grails-plugin-codecs' exclude module:'grails-plugin-domain-class' exclude module:'grails-test' exclude module:'async' } - testRuntime "org.springframework:spring-aspects:${springVersion}" - testRuntime "org.aspectj:aspectjrt:$aspectjVersion", + testRuntimeOnly "org.springframework:spring-aspects:${springVersion}" + testRuntimeOnly "org.aspectj:aspectjrt:$aspectjVersion", "org.aspectj:aspectjweaver:$aspectjVersion" } @@ -98,7 +98,7 @@ dependencies { // javaee-web-api has a bad versions of classes we need to compile against // Just remove it fromt the compile classpath here configurations { - testCompile { + testCompileClasspath { exclude module: "javaee-web-api" } } diff --git a/grails-test/build.gradle b/grails-test/build.gradle index 1d6f3e42f4e..984ab95b10a 100644 --- a/grails-test/build.gradle +++ b/grails-test/build.gradle @@ -1,13 +1,13 @@ dependencies { - compile "org.springframework:spring-tx:${springVersion}" + api "org.springframework:spring-tx:${springVersion}" - compile "org.springframework.boot:spring-boot-test:$springBootVersion" + api "org.springframework.boot:spring-boot-test:$springBootVersion" // Testing - compile "org.codehaus.groovy:groovy-test-junit5:$groovyVersion" - compile("org.codehaus.groovy:groovy-test:$groovyVersion") - compile("org.spockframework:spock-core:$spockVersion") { transitive = false } - compile "org.junit.platform:junit-platform-runner:1.6.0" + api "org.codehaus.groovy:groovy-test-junit5:$groovyVersion" + api("org.codehaus.groovy:groovy-test:$groovyVersion") + api("org.spockframework:spock-core:$spockVersion") { transitive = false } + api "org.junit.platform:junit-platform-runner:1.6.0" provided project(":grails-plugin-mimetypes") @@ -23,5 +23,5 @@ dependencies { provided "org.apache.ant:ant-junit:${antVersion}" // needed for Spock - compile "org.objenesis:objenesis:${objenesisVersion}" + api "org.objenesis:objenesis:${objenesisVersion}" } diff --git a/grails-web-boot/build.gradle b/grails-web-boot/build.gradle index 021f14a1d0d..8683c10fcfb 100644 --- a/grails-web-boot/build.gradle +++ b/grails-web-boot/build.gradle @@ -1,10 +1,10 @@ dependencies { - compile project(":grails-web-common") + api project(":grails-web-common") - testCompile project(":grails-plugin-controllers") + testImplementation project(":grails-plugin-controllers") - testCompile "org.apache.tomcat.embed:tomcat-embed-core:$tomcatVersion" - testRuntime "org.apache.tomcat.embed:tomcat-embed-logging-juli:$tomcatLog4jVersion" - testRuntime project(":grails-plugin-i18n") - testRuntime project(":grails-plugin-url-mappings") -} \ No newline at end of file + testImplementation "org.apache.tomcat.embed:tomcat-embed-core:$tomcatVersion" + testRuntimeOnly "org.apache.tomcat.embed:tomcat-embed-logging-juli:$tomcatLog4jVersion" + testRuntimeOnly project(":grails-plugin-i18n") + testRuntimeOnly project(":grails-plugin-url-mappings") +} diff --git a/grails-web-common/build.gradle b/grails-web-common/build.gradle index 4e42fd643b3..425dc62c93d 100644 --- a/grails-web-common/build.gradle +++ b/grails-web-common/build.gradle @@ -1,16 +1,16 @@ dependencies { - compile project(":grails-core"), { + api project(":grails-core"), { exclude group:'org.grails', module:'grails-spring' } - compile project(":grails-databinding") - compile project(":grails-encoder") - compile "org.grails:grails-gsp:$gspVersion", { + api project(":grails-databinding") + api project(":grails-encoder") + api "org.grails:grails-gsp:$gspVersion", { exclude group:'org.grails', module:'grails-core' exclude group:'org.grails', module:'grails-encoder' } - compile "org.codehaus.groovy:groovy-templates:$groovyVersion" + api "org.codehaus.groovy:groovy-templates:$groovyVersion" - compile "org.springframework:spring-webmvc:${springVersion}" - compile "org.springframework:spring-context-support:${springVersion}" + api "org.springframework:spring-webmvc:${springVersion}" + api "org.springframework:spring-context-support:${springVersion}" } diff --git a/grails-web-databinding/build.gradle b/grails-web-databinding/build.gradle index be1487a3583..9606d1510cd 100644 --- a/grails-web-databinding/build.gradle +++ b/grails-web-databinding/build.gradle @@ -1,4 +1,4 @@ dependencies { - compile project(":grails-databinding") - compile project(":grails-web-common") + api project(":grails-databinding") + api project(":grails-web-common") } diff --git a/grails-web-fileupload/build.gradle b/grails-web-fileupload/build.gradle index c8788bd643e..52abae595c4 100644 --- a/grails-web-fileupload/build.gradle +++ b/grails-web-fileupload/build.gradle @@ -1,4 +1,4 @@ dependencies { - compile project(":grails-web-common") - compile('commons-fileupload:commons-fileupload:1.3.3') + api project(":grails-web-common") + api('commons-fileupload:commons-fileupload:1.3.3') } diff --git a/grails-web-mvc/build.gradle b/grails-web-mvc/build.gradle index ab17a593139..6470aa4ade6 100644 --- a/grails-web-mvc/build.gradle +++ b/grails-web-mvc/build.gradle @@ -1,8 +1,8 @@ dependencies { - compile project(":grails-web-common"), + api project(":grails-web-common"), project(":grails-web-url-mappings") - compile "org.grails:grails-web-sitemesh:$gspVersion", { + api "org.grails:grails-web-sitemesh:$gspVersion", { exclude group:'org.grails', module:'grails-web-common' } -} \ No newline at end of file +} diff --git a/grails-web/build.gradle b/grails-web/build.gradle index c4de548e45b..6897bbaba71 100644 --- a/grails-web/build.gradle +++ b/grails-web/build.gradle @@ -1,17 +1,17 @@ dependencies { - compile project(":grails-web-common") - compile project(":grails-web-databinding") - compile project(":grails-web-fileupload"), optional - compile project(":grails-web-url-mappings") - compile project(":grails-web-mvc") + api project(":grails-web-common") + api project(":grails-web-databinding") + api project(":grails-web-fileupload"), optional + api project(":grails-web-url-mappings") + api project(":grails-web-mvc") - compile "org.grails:grails-web-gsp:$gspVersion", { + api "org.grails:grails-web-gsp:$gspVersion", { exclude group:'org.grails', module:'grails-core' exclude group:'org.grails', module:'grails-encoder' exclude group:'org.grails', module:'grails-web-common' } - compile "org.grails:grails-web-sitemesh:$gspVersion", { + api "org.grails:grails-web-sitemesh:$gspVersion", { exclude group:'org.grails', module:'grails-core' exclude group:'org.grails', module:'grails-encoder' exclude group:'org.grails', module:'grails-web-common'