-
Notifications
You must be signed in to change notification settings - Fork 242
Expand file tree
/
Copy pathbuild.gradle
More file actions
140 lines (124 loc) · 3.7 KB
/
build.gradle
File metadata and controls
140 lines (124 loc) · 3.7 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
132
133
134
135
136
137
138
139
140
plugins {
id 'scala'
id 'maven-publish'
id 'signing'
id "com.vanniktech.maven.publish.base"
}
repositories {
mavenCentral()
mavenLocal()
maven {
url "https://repository.mulesoft.org/nexus/content/repositories/public/"
}
maven {
url "https://linkedin.jfrog.io/artifactory/open-source/" // GMA, pegasus
}
}
configurations {
// configuration that holds jars to include in the jar
extraLibs
// Dependencies that will be provided at runtime in the cloud execution
provided
compileOnly.extendsFrom(provided)
testImplementation.extendsFrom provided
}
configurations.all {
resolutionStrategy.force "org.antlr:antlr4-runtime:4.8"
resolutionStrategy.force "org.antlr:antlr4-tool:4.8"
}
dependencies {
implementation project(":feathr-compute")
implementation project(":feathr-config")
implementation project(":feathr-data-models")
implementation project(path: ':feathr-data-models', configuration: 'dataTemplate')
// needed to include data models in jar
extraLibs project(path: ':feathr-data-models', configuration: 'dataTemplate')
implementation spec.product.scala.scala_library
implementation spec.product.jackson.dataformat_csv
implementation spec.product.jackson.dataformat_yaml
implementation spec.product.jackson.module_scala
implementation spec.product.jackson.dataformat_hocon
implementation spec.product.jackson.jackson_core
implementation spec.product.spark_redis
implementation spec.product.fastutil
implementation spec.product.hadoop.mapreduce_client_core
implementation spec.product.mvel
implementation spec.product.jackson.jackson_module_caseclass
implementation spec.product.protobuf
implementation spec.product.guava
implementation spec.product.xbean
implementation spec.product.json
implementation spec.product.antlr
implementation spec.product.antlrRuntime
implementation spec.product.jackson.jackson_databind
provided spec.product.avroUtil
provided spec.product.typesafe_config
provided spec.product.log4j
provided spec.product.hadoop.common
provided(spec.product.spark.spark_core) {
exclude group: 'org.apache.xbean', module: 'xbean-asm6-shaded'
}
provided(spec.product.spark.spark_avro) {
exclude group: 'org.apache.xbean', module: 'xbean-asm6-shaded'
}
provided(spec.product.spark.spark_hive) {
exclude group: 'com.tdunning', module: 'json'
}
provided spec.product.spark.spark_sql
testImplementation spec.product.equalsverifier
testImplementation spec.product.spark.spark_catalyst
testImplementation spec.product.mockito
testImplementation spec.product.scala.scalatest
testImplementation spec.product.testing
testImplementation spec.product.jdiagnostics
}
// Since there are cross-calls from Scala to Java, we use joint compiler
// to compile them at the same time with Scala compiler.
// See https://docs.gradle.org/current/userguide/scala_plugin.html
sourceSets {
main {
scala {
srcDirs = ['src/main/scala', 'src/main/java']
}
java {
srcDirs = []
}
}
test {
scala {
srcDirs = ['src/test/scala', 'src/test/java']
}
java {
srcDirs = []
}
}
}
test {
useTestNG()
}
java {
withSourcesJar()
withJavadocJar()
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
// Required for publishing to local maven
publishing {
publications {
mavenJava(MavenPublication) {
artifactId = 'feathr-impl'
from components.java
versionMapping {
usage('java-api') {
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime') {
fromResolutionResult()
}
}
}
}
}