-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
116 lines (101 loc) · 3.58 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
group "$porterGroup"
version "$porterVersion"
wrapper.gradleVersion = "$gradleWrapper"
buildscript {
repositories {
mavenLocal()
mavenCentral()
google()
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'maven-publish'
apply plugin: 'signing'
apply from: rootDir.path + '/config/checkstyle/checkstyle.gradle'
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
repositories {
mavenLocal()
mavenCentral()
google()
}
}
subprojects {
dependencies {
testImplementation "org.junit.jupiter:junit-jupiter-api:$jupiter"
testImplementation "org.mockito:mockito-core:$mockito"
testImplementation "org.slf4j:slf4j-simple:$slf4j"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$jupiter"
}
test.useJUnitPlatform()
java {
withJavadocJar()
withSourcesJar()
}
javadoc {
options.addStringOption("charset", "UTF-8")
if (JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
}
publishing {
publications {
"$project.name"(MavenPublication) {
groupId = "$porterGroup"
artifactId = "$porterArtifact-$project.name"
version = "$porterVersion"
from components.java
pom {
name = "$porterArtifact-$project.name"
description = "porter $project.name module"
url = 'https://github.com/arjenzhou/porter'
licenses {
license {
name = 'The MIT License'
url = 'https://github.com/arjenzhou/porter/blob/master/LICENSE'
}
}
developers {
developer {
id = 'arjenzhou'
name = 'Zhou Yang'
email = '[email protected]'
}
}
scm {
connection = 'scm:git:[email protected]:arjenzhou/porter.git'
developerConnection = 'scm:git:[email protected]:arjenzhou/porter.git'
url = 'https://github.com/arjenzhou/porter'
}
}
}
}
repositories {
maven {
name = "OSSRH"
if ("$porterVersion".endsWith("-SNAPSHOT")) {
url = "https://s01.oss.sonatype.org/content/repositories/snapshots"
} else {
url = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
}
credentials {
username = findProperty("ossrhUsername") ?: System.getenv("OSSRH_USERNAME")
password = findProperty("ossrhPassword") ?: System.getenv("OSSRH_PASSWORD")
}
}
}
}
signing {
sign(publishing.publications."$project.name")
}
}
task codeCoverageReport(type: JacocoReport) {
dependsOn subprojects.test
executionData.from project.fileTree(dir: '.', include: '**/build/jacoco/test.exec')
sourceDirectories.from files(subprojects.sourceSets.main.allSource.srcDirs)
additionalSourceDirs.from files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories.from files(subprojects.sourceSets.main.output)
reports.xml.required = true
}