Skip to content

Commit ab32438

Browse files
bric3TimvdLippe
authored andcommitted
Move core sources to mockito-core
Previously, the source code for the `mockito-core` artifact lived in `/src/main/java` and the configuration was part of the `rootProject`. With this change, we align the `mockito-core` as a separate artifact similar to the recent move to split up the extension projects into `mockito-extensions`. Fixes #3444
1 parent 61dcd83 commit ab32438

File tree

932 files changed

+100
-93
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

932 files changed

+100
-93
lines changed

Diff for: .github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
env:
9595
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
9696
with:
97-
files: build/reports/jacoco/mockitoCoverage/mockitoCoverage.xml
97+
files: mockito-core/build/reports/jacoco/mockitoCoverage/mockitoCoverage.xml
9898
fail_ci_if_error: true
9999

100100
#

Diff for: build.gradle

+4-58
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,14 @@ buildscript {
2121

2222
plugins {
2323
id 'com.diffplug.spotless' version '6.25.0'
24-
id 'eclipse'
2524
id 'com.github.ben-manes.versions' version '0.51.0'
26-
id 'biz.aQute.bnd.builder' version '7.0.0'
27-
id 'ru.vyarus.animalsniffer' version '1.7.1'
2825
}
2926

30-
description = 'Mockito mock objects library core API and implementation'
27+
apply from: "$rootDir/gradle/shipkit.gradle"
28+
apply from: "$rootDir/gradle/root/ide.gradle"
29+
apply from: "$rootDir/gradle/license.gradle"
3130

32-
apply plugin: 'base'
33-
base.archivesName = 'mockito-core'
34-
35-
apply from: 'gradle/shipkit.gradle'
36-
37-
apply from: 'gradle/root/ide.gradle'
38-
apply from: 'gradle/root/gradle-fix.gradle'
39-
apply from: 'gradle/java-library.gradle'
40-
apply from: 'gradle/license.gradle'
41-
apply from: 'gradle/root/coverage.gradle'
42-
43-
apply from: 'gradle/mockito-core/inline-mock.gradle'
44-
apply from: 'gradle/mockito-core/osgi.gradle'
45-
apply from: 'gradle/mockito-core/javadoc.gradle'
46-
apply from: 'gradle/mockito-core/testing.gradle'
47-
48-
allprojects { proj ->
31+
subprojects { proj ->
4932
repositories {
5033
mavenCentral()
5134
google()
@@ -79,40 +62,3 @@ allprojects { proj ->
7962
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
8063
}
8164
}
82-
83-
configurations {
84-
testUtil //TODO move to separate project
85-
// Putting 'provided' dependencies on test compile and runtime classpath.
86-
testCompileOnly.extendsFrom(compileOnly)
87-
testRuntimeOnly.extendsFrom(compileOnly)
88-
}
89-
90-
dependencies {
91-
api libs.bytebuddy, libs.bytebuddy.agent
92-
93-
compileOnly libs.junit4, libs.hamcrest, libs.opentest4j
94-
implementation libs.objenesis
95-
96-
testImplementation libs.assertj
97-
testImplementation libs.junit.jupiter.api
98-
testImplementation libs.junit.jupiter.params
99-
100-
testUtil sourceSets.test.output
101-
102-
signature 'org.codehaus.mojo.signature:java18:1.0@signature'
103-
signature 'net.sf.androidscents.signature:android-api-level-26:8.0.0_r2@signature'
104-
}
105-
106-
animalsniffer {
107-
sourceSets = [sourceSets.main]
108-
annotation = 'org.mockito.internal.SuppressSignatureCheck'
109-
// See please https://github.com/mojohaus/animal-sniffer/issues/172
110-
ignore += [
111-
'java.lang.instrument.Instrumentation',
112-
'java.lang.invoke.MethodHandle',
113-
'java.lang.invoke.MethodHandles$Lookup',
114-
'java.lang.StackWalker',
115-
'java.lang.StackWalker$StackFrame',
116-
'java.lang.StackWalker$Option'
117-
]
118-
}

Diff for: gradle/root/coverage.gradle renamed to gradle/coverage.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
allprojects { Project project ->
1+
rootProject.subprojects { Project project ->
22
plugins.withId("java") {
33
project.apply plugin: "jacoco"
44
project.jacoco {
@@ -9,7 +9,7 @@ allprojects { Project project ->
99

1010
def mockitoCoverage = tasks.register("mockitoCoverage", JacocoReport) { mockitoCoverage ->
1111
group = LifecycleBasePlugin.VERIFICATION_GROUP
12-
allprojects { Project currentProject ->
12+
rootProject.subprojects { Project currentProject ->
1313
plugins.withId("jacoco") {
1414
plugins.withId("java") {
1515
// JacocoReport.sourceSets() appends both sourceDirectories and classDirectories.

Diff for: gradle/mockito-core/javadoc.gradle

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//It seems the gradle javadoc task works file by file and as such disable some features of javadoc tool
22
//such as link to packages, https://groups.google.com/d/msg/gradle-dev/R83dy_6PHMc/bgw0cUTMFAAJ
3-
def javaDocsDir = 'gradle/java-docs'
3+
def jdkDocsDir = "$rootDir/gradle/java-docs"
44

55
tasks.named("javadoc", Javadoc) {
66
inputs.dir("src/main/javadoc")
@@ -15,7 +15,7 @@ tasks.named("javadoc", Javadoc) {
1515
title = "Mockito ${project.version} API"
1616

1717
options.addBooleanOption('-allow-script-in-comments', true)
18-
options.addFileOption('-add-stylesheet', rootProject.file("src/main/javadoc/mockito-theme.css"))
18+
options.addFileOption('-add-stylesheet', project(":mockito-core").file("src/main/javadoc/mockito-theme.css"))
1919
options.addStringOption('Xwerror', '-quiet')
2020
options.bottom("""
2121
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/obsidian.min.css">
@@ -28,7 +28,7 @@ tasks.named("javadoc", Javadoc) {
2828
options.encoding = 'UTF-8'
2929
options.group("Main package", ["org.mockito"])
3030
options.links('https://junit.org/junit4/javadoc/4.13.2/')
31-
options.linksOffline('https://docs.oracle.com/en/java/javase/11/docs/api/', javaDocsDir)
31+
options.linksOffline('https://docs.oracle.com/en/java/javase/11/docs/api/', jdkDocsDir)
3232
options.memberLevel = JavadocMemberLevel.PROTECTED
3333
options.outputLevel = JavadocOutputLevel.QUIET
3434
options.splitIndex = true

Diff for: gradle/mockito-junit-jupiter/javadoc.gradle

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
//It seems the gradle javadoc task works file by file and as such disable some features of javadoc tool
22
//such as link to packages, https://groups.google.com/d/msg/gradle-dev/R83dy_6PHMc/bgw0cUTMFAAJ
3-
def javaDocsDir = "$rootDir/gradle/java-docs"
3+
def jdkDocsDir = "$rootDir/gradle/java-docs"
44

55
tasks.named("javadoc", Javadoc) {
6-
inputs.dir("$rootDir/src/main/javadoc")
6+
inputs.dir(project(":mockito-core").file("src/main/javadoc"))
77

88
description "Creates javadoc html for Mockito JUnit Jupiter."
99

@@ -15,7 +15,7 @@ tasks.named("javadoc", Javadoc) {
1515
title = "Mockito JUnit Jupiter ${project.version} API"
1616

1717
options.addBooleanOption('-allow-script-in-comments', true)
18-
options.addFileOption('-add-stylesheet', rootProject.file("$rootDir/src/main/javadoc/mockito-theme.css"))
18+
options.addFileOption('-add-stylesheet', project(":mockito-core").file("src/main/javadoc/mockito-theme.css"))
1919
options.addStringOption('Xwerror', '-quiet')
2020
options.bottom("""
2121
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/obsidian.min.css">
@@ -27,7 +27,7 @@ tasks.named("javadoc", Javadoc) {
2727
options.docTitle = """<h1>Mockito JUnit Jupiter ${project.version} API.</h1>"""
2828
options.encoding = 'UTF-8'
2929
options.group("Main package", ["org.mockito.junit.jupiter"])
30-
options.linksOffline('https://docs.oracle.com/en/java/javase/11/docs/api/', javaDocsDir)
30+
options.linksOffline('https://docs.oracle.com/en/java/javase/11/docs/api/', jdkDocsDir)
3131
options.memberLevel = JavadocMemberLevel.PROTECTED
3232
options.outputLevel = JavadocOutputLevel.QUIET
3333
options.splitIndex = true

Diff for: mockito-bom/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ apply from: "$rootDir/gradle/java-publication.gradle"
1212

1313
dependencies {
1414
constraints {
15-
api(project.rootProject)
15+
api(project(":mockito-core"))
1616

1717
project(":mockito-extensions").subprojects.forEach {
1818
api(it)

Diff for: mockito-core/build.gradle

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
2+
plugins {
3+
id 'base'
4+
id 'biz.aQute.bnd.builder' version '7.0.0'
5+
id 'ru.vyarus.animalsniffer' version '1.7.1'
6+
}
7+
8+
description = 'Mockito mock objects library core API and implementation'
9+
base.archivesName = 'mockito-core'
10+
11+
12+
apply from: "$rootDir/gradle/java-library.gradle"
13+
apply from: "$rootDir/gradle/coverage.gradle"
14+
apply from: "$rootDir/gradle/mockito-core/inline-mock.gradle"
15+
apply from: "$rootDir/gradle/mockito-core/osgi.gradle"
16+
apply from: "$rootDir/gradle/mockito-core/javadoc.gradle"
17+
apply from: "$rootDir/gradle/mockito-core/testing.gradle"
18+
19+
configurations {
20+
testUtil //TODO move to separate project
21+
// Putting 'provided' dependencies on test compile and runtime classpath.
22+
testCompileOnly.extendsFrom(compileOnly)
23+
testRuntimeOnly.extendsFrom(compileOnly)
24+
}
25+
26+
dependencies {
27+
api libs.bytebuddy, libs.bytebuddy.agent
28+
29+
compileOnly libs.junit4, libs.hamcrest, libs.opentest4j
30+
implementation libs.objenesis
31+
32+
testImplementation libs.assertj
33+
testImplementation libs.junit.jupiter.api
34+
testImplementation libs.junit.jupiter.params
35+
36+
testUtil sourceSets.test.output
37+
38+
signature 'org.codehaus.mojo.signature:java18:1.0@signature'
39+
signature 'net.sf.androidscents.signature:android-api-level-26:8.0.0_r2@signature'
40+
}
41+
42+
animalsniffer {
43+
sourceSets = [sourceSets.main]
44+
annotation = 'org.mockito.internal.SuppressSignatureCheck'
45+
// See please https://github.com/mojohaus/animal-sniffer/issues/172
46+
ignore += [
47+
'java.lang.instrument.Instrumentation',
48+
'java.lang.invoke.MethodHandle',
49+
'java.lang.invoke.MethodHandles$Lookup',
50+
'java.lang.StackWalker',
51+
'java.lang.StackWalker$StackFrame',
52+
'java.lang.StackWalker$Option'
53+
]
54+
}
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)