-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.gradle
More file actions
131 lines (115 loc) · 4.25 KB
/
build.gradle
File metadata and controls
131 lines (115 loc) · 4.25 KB
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
128
129
130
131
import com.vanniktech.maven.publish.JavaLibrary
import com.vanniktech.maven.publish.JavadocJar
plugins {
id 'java-library'
id 'groovy'
id "com.vanniktech.maven.publish" version "0.34.0"
id "org.graalvm.buildtools.native" version "0.11.0" apply false
}
repositories {
mavenCentral()
}
subprojects {
// Applies when maven-publish is present (Micronaut & Vanniktech both apply it)
plugins.withId("maven-publish") {
publishing {
publications.withType(MavenPublication).configureEach {
// prefer GROUP / VERSION_NAME if present; else fallback to Gradle's group/version
groupId = (findProperty("GROUP") ?: project.group).toString()
artifactId = (findProperty("POM_ARTIFACT_ID") ?: project.name).toString()
version = (findProperty("VERSION_NAME") ?: project.version).toString()
}
// your extra repos belong *here*
repositories {
maven {
name = "MauroSnapshotRepository"
url = uri("https://mauro-repository.com/libs-snapshot-local")
credentials(PasswordCredentials)
authentication { basic(BasicAuthentication) }
}
}
}
}
plugins.withId("com.vanniktech.maven.publish") {
java {
sourceCompatibility = JavaVersion.toVersion("17")
targetCompatibility = JavaVersion.toVersion("17")
}
mavenPublishing {
// Use GROUP/VERSION_NAME if present, else fall back to project.group/version
def g = (findProperty("GROUP") ?: project.group).toString()
def v = (findProperty("VERSION_NAME") ?: project.version).toString()
coordinates(g, project.name, v)
configure(new JavaLibrary(new JavadocJar.Empty(), /* sourcesJar */ true))
publishToMavenCentral()
signAllPublications()
pom {
url = "https://github.com/MauroDataMapper/mauro-micronaut"
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'jamesrwelch'
name = 'James Welch'
email = 'james.welch@bdi.ox.ac.uk'
}
developer {
id = 'joe-crawford'
name = 'Joseph Crawford'
}
developer {
id = 'edwardcrichton'
name = 'Edward Crichton'
}
}
scm {
url = "https://github.com/MauroDataMapper/mauro-micronaut"
}
}
}
}
}
project(':mauro-domain') {
plugins.withId("com.vanniktech.maven.publish") {
mavenPublishing {
pom {
name = 'Mauro Domain'
description = 'The \'domain layer\' of Mauro which defines the underlying data model and additional Mauro concepts such as plugins, profiles, etc.'
}
}
}
}
project(':mauro-persistence') {
plugins.withId("com.vanniktech.maven.publish") {
mavenPublishing {
pom {
name = 'Mauro Persistence'
description = 'The code for persisting Mauro objects into a Postgres database, including an in-memory caching layer'
}
}
}
}
project(':mauro-client') {
plugins.withId("com.vanniktech.maven.publish") {
mavenPublishing {
pom {
name = 'Mauro Client'
description = 'Interfaces that Micronaut uses to generate client / SDK code for interacting with a Mauro API'
}
}
}
}
project(':mauro-api') {
plugins.withId("com.vanniktech.maven.publish") {
mavenPublishing {
pom {
name = 'Mauro API'
description = 'Controllers and business logic for defining the Mauro API: this is the \'application layer\' of Mauro'
}
}
}
}