plugins { id 'com.gradle.build-scan' version '2.0.2' id 'org.ysb33r.gradletest' version '2.0-rc.4' apply false id 'org.ajoberstar.github-pages' version '1.2.0' apply false id 'com.github.hierynomus.license' version '0.14.0' apply false id 'io.ratpack.ratpack-java' version "1.6.1" apply false id 'com.gradle.plugin-publish' version '1.1.0' } buildScan { termsOfServiceUrl = 'https://gradle.com/terms-of-service' termsOfServiceAgree = 'yes' } allprojects { apply plugin: 'idea' if (!releaseBuild) { version = "${version}-SNAPSHOT" } defaultTasks 'check', 'assemble' sourceCompatibility = '1.8' targetCompatibility = '1.8' ext { olderJRubyVersion = '9.4.1.0' spockVersion = "org.spockframework:spock-core:1.2-groovy-2.4" pluginExtraText = (version.contains('-alpha') || version.contains('-beta')) ? '(If you need a production-ready version of the JRuby/Gradle plugin use a 1.7.x release instead)' : '' } } subprojects { repositories { mavenCentral() gradlePluginPortal() } if (project.name != 'docs') { apply plugin: TestConfigPlugin apply plugin: 'java-gradle-plugin' apply plugin: 'groovy' apply plugin: 'codenarc' apply plugin: 'org.ysb33r.gradletest' apply plugin: 'com.gradle.plugin-publish' apply from: "${rootProject.projectDir}/gradle/integration-tests.gradle" apply from: "${rootProject.projectDir}/gradle/license.gradle" dependencies { compile localGroovy() compile gradleApi() compile "org.ysb33r.gradle:grolifant60:${grolifantVersion}" gradleTestRuntime "org.ysb33r.gradle:grolifant60:${grolifantVersion}" } codenarc { sourceSets = [sourceSets.main] configFile = file("${rootProject.projectDir}/gradle/codenarc.groovy") } test { testLogging { showStandardStreams = true exceptionFormat "full" } } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } gradleTest { // https://github.com/jruby-gradle/jruby-gradle-plugin/issues/346 if (JavaVersion.current().java11) { versions '5.0', '5.4.1', '6.0.1', '6.7', '7.6.1' } else { versions '4.10.2', '5.3.1', '6.0.1', '6.7', '7.6.1' if (project.name == 'jruby-gradle-core-plugin') { versions '4.3' } else { versions '4.9' } } dependsOn jar } gradlePlugin { website = 'https://github.com/jruby-gradle/jruby-gradle-plugin' // 'http://jruby-gradle.org/' vcsUrl = 'https://github.com/jruby-gradle/jruby-gradle-plugin.git' } tasks.withType(Test) { if (gradle.startParameter.isOffline()) { systemProperties 'TESTS_ARE_OFFLINE': '1' } } tasks.withType(CodeNarc) { codenarcSourceSetTask -> def reportName = (codenarcSourceSetTask.name - 'codenarc').uncapitalize() def ideReport = reports.add(org.gradle.api.reporting.internal.TaskGeneratedSingleFileReport, 'ide', reports.task) ideReport.enabled = true ideReport.destination = file("${project.codenarc.reportsDir}/${reportName}.ide.txt") } tasks.withType(ValidateTaskProperties) { validateTaskProperties -> validateTaskProperties.failOnWarning = true validateTaskProperties.enableStricterValidation = true } } idea { module { downloadJavadoc = true downloadSources = true } } } task release(type: Exec) { description 'Create and upload a release' dependsOn subprojects.findAll { it.name != 'docs' }.collect { ":${it.name}:bintrayUpload" } commandLine 'git', 'tag', "v${project.version}" }