-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
114 lines (101 loc) · 4.33 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
plugins {
id 'java'
id 'application'
// Helps with resolving dependency conflicts: run ./gradlew htmlDependencyReport
id 'project-report'
// To generate license report, run: ./gradlew generateLicenseReport
id 'com.github.jk1.dependency-license-report' version '1.13'
// Package the pipeline along with its deps into a fat JAR.
id 'com.github.johnrengelman.shadow' version '5.2.0'
}
group 'com.google.cloud.healthcare'
version '0.1.0'
sourceCompatibility = 11
repositories {
mavenCentral()
maven {
url "https://packages.confluent.io/maven"
}
}
sourceSets {
main {
java {
srcDirs('src/main/java')
}
resources {
srcDirs('lib')
}
}
}
shadowJar {
mainClassName = project.findProperty('mainClass') ?: 'com.google.cloud.healthcare.etl.runner.hl7v2tofhir.Hl7v2ToFhirStreamingRunner'
dependsOn('buildDeps')
}
test {
// Ex: -PexcludeTests=com/google/cloud/healthcare/etl/runner/hl7v2tofhir/integ/*
if (project.hasProperty('excludeTests')) {
exclude project.property('excludeTests')
}
dependsOn('buildDeps')
}
// Reproduciable builds.
tasks.withType(AbstractArchiveTask) {
preserveFileTimestamps = false
reproducibleFileOrder = true
}
configurations.all {
resolutionStrategy {
force 'org.mockito:mockito-core:3.9.0'
}
}
def dataflowVersion = '2.35.0'
def autoValueVersion = '1.7'
dependencies {
implementation "org.apache.beam:beam-sdks-java-core:${dataflowVersion}"
implementation "org.apache.beam:beam-runners-google-cloud-dataflow-java:${dataflowVersion}"
implementation "org.apache.beam:beam-runners-direct-java:${dataflowVersion}"
implementation "org.apache.beam:beam-sdks-java-extensions-sorter:${dataflowVersion}"
implementation "org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:${dataflowVersion}"
implementation "org.apache.beam:beam-sdks-java-io-google-cloud-platform:${dataflowVersion}"
implementation "org.apache.beam:beam-sdks-java-extensions-json-jackson:${dataflowVersion}"
implementation 'com.google.api-client:google-api-client-gson:1.28.0'
implementation 'com.google.cloud:google-cloud-storage:1.69.0'
implementation 'org.slf4j:slf4j-simple:1.7.25'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.google.apis:google-api-services-healthcare:v1beta1-rev20200414-1.30.9'
implementation 'com.google.guava:guava:29.0-jre'
// TODO(b/154931475): Remove the imported IOs.
implementation "com.google.auto.value:auto-value-annotations:${autoValueVersion}"
annotationProcessor "com.google.auto.value:auto-value:${autoValueVersion}"
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.4.0'
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.4.0'
testImplementation 'junit:junit:4.12'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.0'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.4.0'
testImplementation 'org.skyscreamer:jsonassert:1.5.0'
testImplementation 'org.powermock:powermock-api-mockito2:1.7.4'
testImplementation 'org.powermock:powermock-module-junit4:1.7.4'
testImplementation 'com.google.protobuf:protobuf-java:3.6.1'
testImplementation 'org.apache.beam:beam-runners-direct-java:2.9.0'
testImplementation 'org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.9.0'
testImplementation 'org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.9.0'
testImplementation 'org.hamcrest:hamcrest-all:1.3'
testImplementation 'org.apache.beam:beam-sdks-java-test-utils:2.9.0'
testImplementation 'com.google.cloud:google-cloud-pubsub:1.108.4'
testImplementation 'com.google.guava:guava:25.1-jre'
testImplementation 'com.google.guava:guava-testlib:25.1-jre'
testImplementation 'com.google.truth:truth:1.0.1'
}
//=============================================================================
// Clean - Must remove generated sources.
//=============================================================================
clean {
delete 'build'
delete 'lib'
delete files('gradle/wrapper')
}
task buildDeps(type: Exec) {
inputs.dir('deps')
outputs.file('lib/libwhistler.so')
commandLine './build_deps.sh', '--work_dir', file('build/tmp/build_deps').absolutePath, '--output_dir', file('lib').absolutePath
}