-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
110 lines (94 loc) · 3.36 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
plugins {
id 'pl.allegro.tech.build.axion-release' version '1.13.3'
id 'biz.aQute.bnd.builder' version "$bndVersion"
id 'java-library'
id 'maven-publish'
id 'signing'
}
repositories {
mavenCentral()
}
dependencies {
api 'org.apache.sling:org.apache.sling.scripting.api:2.2.0',
'org.apache.sling:org.apache.sling.commons.classloader:1.4.4',
'org.osgi:osgi.core:6.0.0',
'org.osgi:org.osgi.service.component.annotations:1.3.0',
'org.osgi:org.osgi.service.metatype.annotations:1.3.0',
'org.osgi:org.osgi.annotation:6.0.0',
"org.codehaus.groovy:groovy:$groovyVersion",
"org.codehaus.groovy:groovy-templates:$groovyVersion"
}
scmVersion {
tag {
prefix = 'whistlepost-scripting-groovy-'
}
versionCreator 'versionWithBranch'
branchVersionCreator = ['main': 'simple']
nextVersion {
suffix = 'pre'
separator = '-'
}
}
sourceCompatibility = 8
targetCompatibility = 8
group = 'org.whistlepost'
version = rootProject.scmVersion.version
description = 'Support for scripting using the Groovy Markup Template Engine'
ext {
isReleaseVersion = !version.endsWith("SNAPSHOT")
}
test {
useJUnitPlatform()
}
task javadocJar(type: Jar, dependsOn: javadoc) {
archiveClassifier.set('javadoc')
from 'build/docs/javadoc'
}
task sourcesJar(type: Jar) {
from sourceSets.main.allSource
archiveClassifier.set('sources')
}
artifacts {
archives javadocJar
archives sourcesJar
}
publishing {
publications {
"$name"(MavenPublication) {
from components.java
artifact javadocJar
artifact sourcesJar
pom.withXml {
asNode().appendNode('name', name)
asNode().appendNode('description', description)
asNode().appendNode('url', 'https://www.whistlepost.org')
def scmNode = asNode().appendNode('scm')
scmNode.appendNode('url', 'https://github.com/whistlepost/whistlepost-scripting-groovy')
scmNode.appendNode('connection', 'scm:[email protected]:whistlepost/whistlepost-scripting-groovy.git')
scmNode.appendNode('developerConnection', 'scm:[email protected]:whistlepost/whistlepost-scripting-groovy.git')
def licenseNode = asNode().appendNode('licenses').appendNode('license')
licenseNode.appendNode('name', 'Apache License')
licenseNode.appendNode('url', 'https://raw.githubusercontent.com/whistlepost/whistlepost/master/LICENSE')
licenseNode.appendNode('distribution', 'repo')
def developerNode = asNode().appendNode('developers').appendNode('developer')
developerNode.appendNode('id', 'fortuna')
developerNode.appendNode('name', 'Ben Fortuna')
}
}
}
repositories {
maven {
name = "OSSRH"
url = version.endsWith('SNAPSHOT') ? "https://oss.sonatype.org/content/repositories/snapshots/" :
"https://oss.sonatype.org/service/local/staging/deploy/maven2/"
credentials {
username = System.getenv("MAVEN_USERNAME")
password = System.getenv("MAVEN_PASSWORD")
}
}
}
}
signing {
required { isReleaseVersion }
sign publishing.publications[name]
}