diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 83526ab2d0..36f717fb41 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -40,7 +40,6 @@ libraries.kotlin = [ stdlib: "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}", coroutines: 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.3-native-mt', - gradlePlugin: "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}", ] libraries.android = [ runner: 'androidx.test:runner:1.5.2', diff --git a/gradle/java-publication.gradle b/gradle/java-publication.gradle index c6ef90c3a7..354e110aea 100644 --- a/gradle/java-publication.gradle +++ b/gradle/java-publication.gradle @@ -52,7 +52,9 @@ publishing { pom { name = artifactId - description = project.description + afterEvaluate { + description = project.description + } plugins.withId("java") { //Gradle does not write 'jar' packaging to the pom (unlike other packaging types). diff --git a/gradle/java-test.gradle b/gradle/java-test.gradle new file mode 100644 index 0000000000..18ffad3efd --- /dev/null +++ b/gradle/java-test.gradle @@ -0,0 +1,10 @@ +apply plugin: "java" + +// Test modules don't need to be published, so there's no need to build javadoc for them. +// Most test modules don't have src/main, but this is here in shared configuration just in case. +tasks.javadoc.enabled = false + +java { + sourceCompatibility = 11 + targetCompatibility = 11 +} diff --git a/settings.gradle.kts b/settings.gradle.kts index dbe6fcb84f..3420e0c733 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,8 +1,9 @@ plugins { - id("com.gradle.enterprise").version("3.13.4") + id("com.gradle.enterprise") version "3.13.4" } -include("subclass", +include( + "subclass", "inlineTest", "proxy", "extTest", @@ -20,7 +21,8 @@ include("subclass", "osgi-test", "bom", "errorprone", - "programmatic-test") + "programmatic-test" +) // https://developer.android.com/studio/command-line/variables#envar // https://developer.android.com/studio/build#properties-files @@ -32,18 +34,10 @@ if (System.getenv("ANDROID_HOME") != null || File("local.properties").exists()) rootProject.name = "mockito" -val koltinBuildScriptProject = hashSetOf("junitJupiterExtensionTest", "junitJupiterInlineMockMakerExtensionTest") - -fun buildFileExtensionFor(projectName: String) = - if (projectName in koltinBuildScriptProject) ".gradle.kts" else ".gradle" - -fun buildFileFor(projectName: String) = - "$projectName${buildFileExtensionFor(projectName)}" - rootProject.children.forEach { project -> val projectDirName = "subprojects/${project.name}" project.projectDir = File(settingsDir, projectDirName) - project.buildFileName = buildFileFor(project.name) + project.buildFileName = "${project.name}.gradle" require(project.projectDir.isDirectory) { "Project directory ${project.projectDir} for project ${project.name} does not exist." } diff --git a/subprojects/android/android.gradle b/subprojects/android/android.gradle index 4cbd7dd38d..4527cfd04b 100644 --- a/subprojects/android/android.gradle +++ b/subprojects/android/android.gradle @@ -1,7 +1,8 @@ -description = "Mockito for Android" - +apply from: "$rootDir/gradle/dependencies.gradle" apply from: "$rootDir/gradle/java-library.gradle" +description = "Mockito for Android" + dependencies { api project.rootProject implementation libraries.bytebuddyandroid diff --git a/subprojects/bom/bom.gradle b/subprojects/bom/bom.gradle index d91f0a92a8..0060e4ee40 100644 --- a/subprojects/bom/bom.gradle +++ b/subprojects/bom/bom.gradle @@ -1,5 +1,5 @@ plugins { - id('java-platform') + id 'java-platform' } description = "Mockito Bill of Materials (BOM)" diff --git a/subprojects/errorprone/errorprone.gradle b/subprojects/errorprone/errorprone.gradle index effbb91d2c..470dd90870 100644 --- a/subprojects/errorprone/errorprone.gradle +++ b/subprojects/errorprone/errorprone.gradle @@ -1,7 +1,7 @@ -description = "ErrorProne plugins for Mockito" - -apply from: "$rootDir/gradle/java-library.gradle" apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-library.gradle" + +description = "ErrorProne plugins for Mockito" dependencies { compileOnly libraries.autoservice diff --git a/subprojects/extTest/extTest.gradle b/subprojects/extTest/extTest.gradle index afc6b9ec32..c680f419ed 100644 --- a/subprojects/extTest/extTest.gradle +++ b/subprojects/extTest/extTest.gradle @@ -1,12 +1,8 @@ apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" -apply plugin: 'java' description = "End-to-end tests for Mockito and its extensions." -repositories { - mavenLocal() //we depend on locally published mockito -} - dependencies { testImplementation project.rootProject testImplementation project(":junit-jupiter") diff --git a/subprojects/groovyInlineTest/groovyInlineTest.gradle b/subprojects/groovyInlineTest/groovyInlineTest.gradle index 16e95a9118..6c822fcea7 100644 --- a/subprojects/groovyInlineTest/groovyInlineTest.gradle +++ b/subprojects/groovyInlineTest/groovyInlineTest.gradle @@ -1,8 +1,11 @@ -apply plugin: 'groovy' - -description = "Integration test for using mockito-inline with Groovy." +plugins { + id 'groovy' +} apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" + +description = "Integration test for using mockito-inline with Groovy." dependencies { testImplementation project(":") diff --git a/subprojects/groovyTest/groovyTest.gradle b/subprojects/groovyTest/groovyTest.gradle index 4b86c87260..c5023ac63c 100644 --- a/subprojects/groovyTest/groovyTest.gradle +++ b/subprojects/groovyTest/groovyTest.gradle @@ -1,8 +1,11 @@ -apply plugin: 'groovy' - -description = "Integration test for using Mockito from Groovy." +plugins { + id 'groovy' +} apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" + +description = "Integration test for using Mockito from Groovy." dependencies { testImplementation project(":") diff --git a/subprojects/inlineTest/inlineTest.gradle b/subprojects/inlineTest/inlineTest.gradle index 6130b556da..ba232c5f2d 100644 --- a/subprojects/inlineTest/inlineTest.gradle +++ b/subprojects/inlineTest/inlineTest.gradle @@ -1,15 +1,7 @@ -plugins { - id 'java' -} - -description = "Mockito preconfigured inline mock maker (intermediate and to be superseeded by automatic usage in a future version)" - apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" -java { - sourceCompatibility = 11 - targetCompatibility = 11 -} +description = "Mockito preconfigured inline mock maker (intermediate and to be superseeded by automatic usage in a future version)" dependencies { implementation project.rootProject @@ -17,8 +9,6 @@ dependencies { testImplementation libraries.assertj } -tasks.javadoc.enabled = false - test { if (JavaVersion.VERSION_17 <= JavaVersion.current()) { // For Java 17: https://openjdk.org/jeps/403 diff --git a/subprojects/junit-jupiter/junit-jupiter.gradle b/subprojects/junit-jupiter/junit-jupiter.gradle index 26543df240..e49dabd323 100644 --- a/subprojects/junit-jupiter/junit-jupiter.gradle +++ b/subprojects/junit-jupiter/junit-jupiter.gradle @@ -1,9 +1,13 @@ import aQute.bnd.gradle.Resolve -description = "Mockito JUnit 5 support" +plugins { + id 'biz.aQute.bnd.builder' +} +apply from: "$rootDir/gradle/dependencies.gradle" apply from: "$rootDir/gradle/java-library.gradle" -apply plugin: 'biz.aQute.bnd.builder' + +description = "Mockito JUnit 5 support" dependencies { api project.rootProject diff --git a/subprojects/junitJupiterExtensionTest/junitJupiterExtensionTest.gradle b/subprojects/junitJupiterExtensionTest/junitJupiterExtensionTest.gradle new file mode 100644 index 0000000000..feb05d1a15 --- /dev/null +++ b/subprojects/junitJupiterExtensionTest/junitJupiterExtensionTest.gradle @@ -0,0 +1,16 @@ +apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" + +description = "End-to-end tests for automatic registration of MockitoExtension." + +dependencies { + testImplementation project(":junit-jupiter") + testImplementation libraries.assertj + testImplementation libraries.junitJupiterApi + testRuntimeOnly libraries.junitJupiterEngine + testRuntimeOnly libraries.junitPlatformLauncher +} + +test { + useJUnitPlatform() +} diff --git a/subprojects/junitJupiterExtensionTest/junitJupiterExtensionTest.gradle.kts b/subprojects/junitJupiterExtensionTest/junitJupiterExtensionTest.gradle.kts deleted file mode 100644 index 82a1ab4280..0000000000 --- a/subprojects/junitJupiterExtensionTest/junitJupiterExtensionTest.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -apply(from = "$rootDir/gradle/dependencies.gradle") - -plugins { - java -} - -description = "End-to-end tests for automatic registration of MockitoExtension." - -dependencies { - testImplementation(project(":junit-jupiter")) - testImplementation(library("assertj")) - testImplementation(library("junitJupiterApi")) - testRuntimeOnly(library("junitJupiterEngine")) - testRuntimeOnly(library("junitPlatformLauncher")) -} - -tasks.named("test") { - useJUnitPlatform() -} - -val Project.libraries - get() = @Suppress("UNCHECKED_CAST") (rootProject.extra["libraries"] as Map) - -fun Project.library(name: String) = - libraries[name]!! diff --git a/subprojects/junitJupiterInlineMockMakerExtensionTest/junitJupiterInlineMockMakerExtensionTest.gradle b/subprojects/junitJupiterInlineMockMakerExtensionTest/junitJupiterInlineMockMakerExtensionTest.gradle new file mode 100644 index 0000000000..0b35513def --- /dev/null +++ b/subprojects/junitJupiterInlineMockMakerExtensionTest/junitJupiterInlineMockMakerExtensionTest.gradle @@ -0,0 +1,16 @@ +apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" + +description = "End-to-end tests for automatic registration of MockitoExtension with the inline mock maker." + +dependencies { + testImplementation project(":junit-jupiter") + testImplementation libraries.assertj + testImplementation libraries.junitJupiterApi + testRuntimeOnly libraries.junitJupiterEngine + testRuntimeOnly libraries.junitPlatformLauncher +} + +test { + useJUnitPlatform() +} diff --git a/subprojects/junitJupiterInlineMockMakerExtensionTest/junitJupiterInlineMockMakerExtensionTest.gradle.kts b/subprojects/junitJupiterInlineMockMakerExtensionTest/junitJupiterInlineMockMakerExtensionTest.gradle.kts deleted file mode 100644 index dbdd389b1e..0000000000 --- a/subprojects/junitJupiterInlineMockMakerExtensionTest/junitJupiterInlineMockMakerExtensionTest.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -apply(from = "$rootDir/gradle/dependencies.gradle") - -plugins { - java -} - -description = "End-to-end tests for automatic registration of MockitoExtension with the inline mock maker." - -dependencies { - testImplementation(project(":junit-jupiter")) - testImplementation(library("assertj")) - testImplementation(library("junitJupiterApi")) - testRuntimeOnly(library("junitJupiterEngine")) - testRuntimeOnly(library("junitPlatformLauncher")) -} - -tasks.named("test") { - useJUnitPlatform() -} - -val Project.libraries - get() = @Suppress("UNCHECKED_CAST") (rootProject.extra["libraries"] as Map) - -fun Project.library(name: String) = - libraries[name]!! diff --git a/subprojects/junitJupiterParallelTest/junitJupiterParallelTest.gradle b/subprojects/junitJupiterParallelTest/junitJupiterParallelTest.gradle index 2a1e8e9910..242c809420 100644 --- a/subprojects/junitJupiterParallelTest/junitJupiterParallelTest.gradle +++ b/subprojects/junitJupiterParallelTest/junitJupiterParallelTest.gradle @@ -1,8 +1,7 @@ -description = "Tests that require fine tuned parallel settings for JUnit Jupiter (bug #1630)" - apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" -apply plugin: "java" +description = "Tests that require fine tuned parallel settings for JUnit Jupiter (bug #1630)" dependencies { testImplementation libraries.junitJupiterApi diff --git a/subprojects/kotlinReleaseCoroutinesTest/kotlinReleaseCoroutinesTest.gradle b/subprojects/kotlinReleaseCoroutinesTest/kotlinReleaseCoroutinesTest.gradle index 2ac86f00c1..c1f922d4cc 100644 --- a/subprojects/kotlinReleaseCoroutinesTest/kotlinReleaseCoroutinesTest.gradle +++ b/subprojects/kotlinReleaseCoroutinesTest/kotlinReleaseCoroutinesTest.gradle @@ -1,30 +1,15 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -buildscript { - repositories { - mavenCentral() - maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' } - } - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${libraries.kotlin.version}" - } +plugins { + id 'org.jetbrains.kotlin.jvm' } -apply plugin: "org.jetbrains.kotlin.jvm" +apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" description = "Kotlin tests for Mockito." -repositories { - mavenCentral() - maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' } -} - -java { - sourceCompatibility = 11 - targetCompatibility = 11 -} - tasks.withType(KotlinCompile).configureEach { compilerOptions { jvmTarget = JvmTarget.JVM_11 diff --git a/subprojects/kotlinTest/kotlinTest.gradle b/subprojects/kotlinTest/kotlinTest.gradle index adb3b8056b..c1f922d4cc 100644 --- a/subprojects/kotlinTest/kotlinTest.gradle +++ b/subprojects/kotlinTest/kotlinTest.gradle @@ -3,17 +3,12 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id 'org.jetbrains.kotlin.jvm' - id 'java' } -description = "Kotlin tests for Mockito." - apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" -java { - sourceCompatibility = 11 - targetCompatibility = 11 -} +description = "Kotlin tests for Mockito." tasks.withType(KotlinCompile).configureEach { compilerOptions { diff --git a/subprojects/memory-test/memory-test.gradle b/subprojects/memory-test/memory-test.gradle index a7df279a31..017378ca26 100644 --- a/subprojects/memory-test/memory-test.gradle +++ b/subprojects/memory-test/memory-test.gradle @@ -1,9 +1,7 @@ -plugins { - id 'java' -} -description = "Test suite memory usage of Mockito" - apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" + +description = "Test suite memory usage of Mockito" dependencies { implementation project.rootProject @@ -11,8 +9,6 @@ dependencies { testImplementation libraries.assertj } -tasks.javadoc.enabled = false - test { maxHeapSize = "128m" } diff --git a/subprojects/module-test/module-test.gradle b/subprojects/module-test/module-test.gradle index 8ef84af11d..3f5c9f5c7a 100644 --- a/subprojects/module-test/module-test.gradle +++ b/subprojects/module-test/module-test.gradle @@ -1,20 +1,10 @@ -plugins { - id 'java' -} +apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" description = "Test suite for Java 9 modules with Mockito" -apply from: "$rootDir/gradle/dependencies.gradle" - dependencies { implementation project.rootProject testImplementation libraries.junit4 testImplementation libraries.assertj } - -tasks.javadoc.enabled = false - -java { - sourceCompatibility = 11 - targetCompatibility = 11 -} diff --git a/subprojects/osgi-test/osgi-test-bundles.gradle b/subprojects/osgi-test/osgi-test-bundles.gradle index 608f9727b8..4fead8969e 100644 --- a/subprojects/osgi-test/osgi-test-bundles.gradle +++ b/subprojects/osgi-test/osgi-test-bundles.gradle @@ -7,9 +7,7 @@ buildscript { } } -apply from: "$rootDir/gradle/dependencies.gradle" - -description = "Test bundles for OSGi tests" +// Test bundles for OSGi tests sourceSets { testBundle diff --git a/subprojects/osgi-test/osgi-test.gradle b/subprojects/osgi-test/osgi-test.gradle index fcd02fb493..e1a6c8ff4d 100644 --- a/subprojects/osgi-test/osgi-test.gradle +++ b/subprojects/osgi-test/osgi-test.gradle @@ -1,8 +1,5 @@ -plugins { - id 'java' -} - apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" apply from: "osgi-test-bundles.gradle" description = "Test suite for OSGi framework with Mockito" @@ -15,8 +12,6 @@ dependencies { testRuntimeOnly libraries.equinox } -tasks.javadoc.enabled = false - configurations { testRuntimeBundles } diff --git a/subprojects/programmatic-test/programmatic-test.gradle b/subprojects/programmatic-test/programmatic-test.gradle index 44e158ab5f..f96429675f 100644 --- a/subprojects/programmatic-test/programmatic-test.gradle +++ b/subprojects/programmatic-test/programmatic-test.gradle @@ -1,24 +1,14 @@ -plugins { - id 'java' -} +apply from: "$rootDir/gradle/dependencies.gradle" +apply from: "$rootDir/gradle/java-test.gradle" description = "Test suite for excercising programmatic mock maker in Mockito" -apply from: "$rootDir/gradle/dependencies.gradle" - dependencies { implementation project.rootProject testImplementation libraries.junit4 testImplementation libraries.assertj } -tasks.javadoc.enabled = false - -java { - sourceCompatibility = 11 - targetCompatibility = 11 -} - test { forkEvery = 1 } diff --git a/subprojects/proxy/proxy.gradle b/subprojects/proxy/proxy.gradle index 1ba13b5527..e68f012ed1 100644 --- a/subprojects/proxy/proxy.gradle +++ b/subprojects/proxy/proxy.gradle @@ -1,7 +1,8 @@ -description = "Mockito preconfigured proxy mock mock maker (to support interfaces without code generation)" - +apply from: "$rootDir/gradle/dependencies.gradle" apply from: "$rootDir/gradle/java-library.gradle" +description = "Mockito preconfigured proxy mock mock maker (to support interfaces without code generation)" + dependencies { implementation project.rootProject testImplementation libraries.junit4 diff --git a/subprojects/subclass/subclass.gradle b/subprojects/subclass/subclass.gradle index 8ef7ae1ae5..134b396790 100644 --- a/subprojects/subclass/subclass.gradle +++ b/subprojects/subclass/subclass.gradle @@ -1,7 +1,8 @@ -description = "Mockito preconfigured subclass mock maker" - +apply from: "$rootDir/gradle/dependencies.gradle" apply from: "$rootDir/gradle/java-library.gradle" +description = "Mockito preconfigured subclass mock maker" + dependencies { api project.rootProject testImplementation libraries.junit4