forked from neowu/core-ng-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
127 lines (115 loc) · 5.14 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
apply from: file("${rootDir}/gradle/project.gradle")
subprojects {
group = 'core.framework'
version = '7.9.0'
repositories {
maven {
url 'https://neowu.github.io/maven-repo/'
content {
includeGroupByRegex 'core\\.framework.*' // for elasticsearch modules dependencies
}
}
}
}
def elasticVersion = '7.15.0'
def kafkaVersion = '3.0.0'
def jacksonVersion = '2.12.3'
def junitVersion = '5.7.2'
def mockitoVersion = '3.12.4'
def assertjVersion = '3.20.2'
def mysqlVersion = '8.0.26'
project('core-ng-api') {
apply from: file("${rootDir}/gradle/lib.gradle")
}
project('core-ng') {
apply from: file("${rootDir}/gradle/lib.gradle")
dependencies {
api project(":core-ng-api")
api 'org.slf4j:slf4j-api:1.8.0-beta4'
implementation 'org.javassist:javassist:3.28.0-GA'
implementation "com.fasterxml.jackson.module:jackson-module-afterburner:${jacksonVersion}"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jacksonVersion}"
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'io.undertow:undertow-core:2.2.10.Final'
implementation "org.apache.kafka:kafka-clients:${kafkaVersion}@jar"
implementation 'org.xerial.snappy:snappy-java:1.1.8.4' // used by kafka message compression
compileOnly "mysql:mysql-connector-java:${mysqlVersion}"
compileOnly 'org.jboss.logging:jboss-logging-annotations:2.2.1.Final'
testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
testImplementation "org.mockito:mockito-junit-jupiter:${mockitoVersion}"
testImplementation "org.assertj:assertj-core:${assertjVersion}"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
testRuntimeOnly 'org.hsqldb:hsqldb:2.6.0'
}
}
project('core-ng-test') {
apply from: file("${rootDir}/gradle/lib.gradle")
dependencies {
api "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
api "org.mockito:mockito-junit-jupiter:${mockitoVersion}"
api "org.assertj:assertj-core:${assertjVersion}"
implementation project(":core-ng")
implementation "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
implementation "org.apache.kafka:kafka-clients:${kafkaVersion}@jar"
testRuntimeOnly 'org.hsqldb:hsqldb:2.6.0'
}
}
project('core-ng-mongo') {
apply from: file("${rootDir}/gradle/lib.gradle")
dependencies {
api project(":core-ng")
api 'org.mongodb:mongodb-driver-sync:4.3.0'
testImplementation project(":core-ng-test")
}
}
project('core-ng-mongo-test') {
apply from: file("${rootDir}/gradle/lib.gradle")
dependencies {
implementation project(":core-ng-test")
implementation project(":core-ng-mongo")
implementation 'de.bwaldvogel:mongo-java-server:1.38.0'
}
}
project('core-ng-search') {
apply from: file("${rootDir}/gradle/lib.gradle")
dependencies {
api project(":core-ng")
api "org.elasticsearch:elasticsearch:${elasticVersion}@jar"
api "org.elasticsearch:elasticsearch-x-content:${elasticVersion}@jar"
implementation "org.elasticsearch.client:elasticsearch-rest-high-level-client:${elasticVersion}"
implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" // override transitive jackson dependencies of elasticsearch
testImplementation project(":core-ng-test")
}
}
project('core-ng-search-test') {
apply from: file("${rootDir}/gradle/lib.gradle")
dependencies {
implementation project(":core-ng-test")
implementation project(":core-ng-search")
implementation "org.elasticsearch:elasticsearch:${elasticVersion}"
implementation "org.elasticsearch.plugin:transport-netty4-client:${elasticVersion}"
implementation "org.elasticsearch.plugin:reindex-client:${elasticVersion}"
implementation "org.elasticsearch.plugin:mapper-extras-client:${elasticVersion}" // used by elasticsearch scaled_float
implementation "core.framework.elasticsearch.module:lang-painless:${elasticVersion}"
implementation "core.framework.elasticsearch.module:analysis-common:${elasticVersion}" // used by elasticsearch stemmer
implementation 'org.apache.logging.log4j:log4j-core:2.11.1' // used by elasticsearch local node, must match elasticsearch version
implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" // override transitive jackson dependencies of elasticsearch
}
}
def mavenURL = hasProperty('mavenURL') ? mavenURL : null // usage: "gradlew -PmavenURL=/path clean publish"
configure(subprojects.findAll { it.name.startsWith('core-ng') }) {
apply plugin: 'maven-publish'
if (mavenURL != null) {
assert project.file(mavenURL).exists()
publishing {
publications {
maven(MavenPublication) {
from components.java
}
}
repositories {
maven { url mavenURL }
}
}
}
}