-
Notifications
You must be signed in to change notification settings - Fork 28
/
build.gradle
112 lines (96 loc) · 4.56 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
import org.gradle.api.internal.artifacts.DefaultExcludeRule
plugins {
id 'java'
}
archivesBaseName = "apoc-processor"
jar {
manifest {
attributes 'Implementation-Version': version
}
}
javadoc {
failOnError = false
options.addStringOption('Xdoclint:none', '-quiet')
}
dependencies {
implementation group: 'org.neo4j', name: 'neo4j', version: neo4jVersionEffective // mandatory to run @ServiceProvider based META-INF code generation
api 'com.squareup:javapoet:1.13.0'
testImplementation 'com.google.testing.compile:compile-testing:0.19'
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
testImplementation 'org.assertj:assertj-core:3.19.0'
testImplementation 'org.mockito:mockito-core:4.2.0'
}
publishing {
repositories {
maven {
name = 'pipeline'
url = "file:https://${project(':core').buildDir}/repo"
}
if (System.getenv("CODEARTIFACT_PUBLISH_URL") ?: "" != "") {
maven {
name = 'codeartifact-publish'
url System.getenv('CODEARTIFACT_PUBLISH_URL')
credentials {
username System.getenv('CODEARTIFACT_USERNAME')
password System.getenv('CODEARTIFACT_TOKEN')
}
}
}
}
publications {
shadow(MavenPublication) { publication ->
artifactId("apoc-processor")
artifact(mySourcesJar)
artifact(myJavadocJar)
artifact(jar)
pom.withXml {
def root = asNode()
root.appendNode("name", "neo4j-apoc-procedure-processor")
root.appendNode("description", "A processor for APOC")
root.appendNode("url", "https://github.com/neo4j-contrib/neo4j-apoc-procedures")
def scmNode = root.appendNode("scm")
scmNode.appendNode("url", "https://github.com/neo4j-contrib/neo4j-apoc-procedures")
def licensesNode = root.appendNode("licenses")
def licenseNode = licensesNode.appendNode("license")
licenseNode.appendNode("name", 'The Apache Software License, Version 2.0')
licenseNode.appendNode("url", 'https://www.apache.org/licenses/LICENSE-2.0.txt')
licenseNode.appendNode("comments", 'Note that this license is for the project itself, and not for its dependencies.')
licenseNode.appendNode("distribution", 'repo')
def developersNode = root.appendNode("developers")
def developerNode = developersNode.appendNode("developer")
developerNode.appendNode("id", 'neo4j')
developerNode.appendNode("name", 'The Neo4j Team')
developerNode.appendNode("url", 'https://neo4j.com/')
developerNode.appendNode("organization", 'Neo4j Inc.')
developerNode.appendNode("organizationUrl", 'https://neo4j.com/')
def dependenciesNode = root.get("dependencies")[0]
if (dependenciesNode == null) {
dependenciesNode = root.appendNode("dependencies")
}
if (dependenciesNode != null) {
configurations.default.allDependencies.findAll {dependency -> dependency.group != "org.neo4j.procedure"}.forEach {
def dependency = dependenciesNode.appendNode('dependency')
dependency.appendNode('groupId', it.group)
dependency.appendNode('artifactId', it.name)
dependency.appendNode('version', it.version)
dependency.appendNode('scope', "compile")
def myExcludeRules = it.excludeRules
if (myExcludeRules.size() == 0) {
myExcludeRules = new HashSet<>()
}
myExcludeRules.add(new DefaultExcludeRule("org.slf4j", "slf4j-nop"))
// for exclusions
if (myExcludeRules.size() > 0) {
def exclusions = dependency.appendNode('exclusions')
myExcludeRules.each { ExcludeRule ex ->
def exclusion = exclusions.appendNode('exclusion')
exclusion.appendNode('artifactId', ex.module ? ex.module : "*")
exclusion.appendNode('groupId', ex.group)
}
}
}
}
}
}
}
}