-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle
127 lines (114 loc) · 4.18 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
117
118
119
120
121
122
123
124
125
126
127
plugins {
id 'java'
id 'maven'
}
def release_version = '0.0.4'
group 'io.peacemakr'
version release_version
// built for java8+
sourceCompatibility = 1.8
repositories {
flatDir {
dirs "$rootProject.projectDir/libs"
}
mavenCentral()
}
dependencies {
compile group: 'io.peacemakr', name: 'peacemakr-core-crypto', version: '0.2.2'
compile group: 'log4j', name: 'log4j', version: '1.2.17'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
compile group: 'com.squareup.okhttp', name: 'okhttp', version: '2.7.5'
compile group: 'io.swagger', name: 'swagger-annotations', version: '1.5.22'
compile group: 'io.gsonfire', name: 'gson-fire', version: '1.8.3'
compile group: 'org.threeten', name: 'threetenbp', version: '1.4.0'
//TODO: replace outdated library.
compile group: 'com.squareup.okhttp', name: 'logging-interceptor', version: '2.7.5'
// Starting java9 javax.annotation are excluded. Adding this for swagger code generation.
compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'org.mockito', name: 'mockito-core', version: '2.1.0'
}
task createPom {
pom {
project {
groupId 'io.peacemakr'
artifactId rootProject.name
version release_version
inceptionYear '2019'
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
name 'Peaceamakr Java SDK'
description 'The opensource Peacemakr java crypto SDK. Simple and open source interface into the Peacemakr Key Lifecycle Management'
url 'http://maven.apache.org'
organization {
name 'io.peacemakr'
url 'https://peacemakr.io/'
}
licenses {
license {
name 'Apache License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
scm {
url 'https://github.com/peacemakr-io/peacemakr-java-sdk/tree/master'
connection 'scm:git:git://github.com/peacemakr-io/peacemakr-java-sdk.git'
developerConnection 'scm:git:ssh://github.com:peacemakr-io/peacemakr-java-sdk.git'
}
developers {
developer {
name 'Peacemakr'
email 'info@peacemakr.io'
organization 'Peacemakr'
organizationUrl 'https://peacemakr.io/'
}
}
}
}.writeTo("$buildDir/poms/pom-generated.xml")
}
// Publish to Maven Central
task sourceJar(type: Jar) {
classifier "sources"
from sourceSets.main.allJava
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier "javadoc"
from javadoc.destinationDir
}
artifacts {
archives sourceJar
archives javadocJar
}
// Task for Sonatype Nexus OSS: build, sign, and upload
uploadArchives {
repositories {
mavenDeployer {
// Sign POM
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
// Destination
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
// *-SNAPSHOT versions the snapshotRepository is used.
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
pom.withXml { provider ->
def builder = provider.asString()
builder.length = 0
builder << project.file("$buildDir/poms/pom-generated.xml").getText("utf-8")
}
}
}
// Signing
apply plugin: 'signing'
signing {
sign configurations.archives
}
}