-
Notifications
You must be signed in to change notification settings - Fork 94
Expand file tree
/
Copy pathbuild.gradle
More file actions
124 lines (102 loc) · 4.23 KB
/
build.gradle
File metadata and controls
124 lines (102 loc) · 4.23 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
plugins {
id 'java-library'
id 'io.deephaven.project.register'
}
description = 'The Deephaven Flight SQL library'
sourceSets {
adbcTest {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
jdbcTest {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
configurations {
adbcTestImplementation.extendsFrom implementation
adbcTestRuntimeOnly.extendsFrom runtimeOnly
jdbcTestImplementation.extendsFrom implementation
jdbcTestRuntimeOnly.extendsFrom runtimeOnly
}
dependencies {
api project(':server')
implementation project(':sql')
implementation project(':engine-sql')
// :sql does not expose calcite as a dependency (maybe it should?); in the meantime, we want to make sure we can
// provide reasonable error messages to the client
implementation libs.calcite.core
constraints {
implementation(libs.json.smart) {
because 'CVE-2024-57699'
}
}
implementation libs.dagger
implementation libs.arrow.flight.sql
// FlightSqlClient testing does not depend on a public port being bound (ie, does not require server-jetty) because
// it can use io.grpc.inprocess.InProcessChannelBuilder (via io.deephaven.server.runner.ServerBuilderInProcessModule).
testImplementation project(':authorization')
testImplementation project(':server-test-utils')
testAnnotationProcessor libs.dagger.compiler
testImplementation libs.assertj
testImplementation platform(libs.junit.bom)
testImplementation libs.junit.jupiter
testRuntimeOnly libs.junit.platform.launcher
testRuntimeOnly libs.junit.vintage.engine
testRuntimeOnly project(':log-to-slf4j')
testRuntimeOnly libs.slf4j.simple
// ADBC testing needs an actually server instance bound to a port because it can only connect over ADBC URIs like
// grpc://localhost:10000
adbcTestImplementation project(':server-jetty')
adbcTestImplementation libs.adbc.flight.sql
// The BouncyCastle provider must be pinned to a particular version, because otherwise we end up with a dynamic
// range "org.bouncycastle:bcprov-jdk18on:[1.80,1.81)" from org.apache.arrow:flight-sql-jdbc-core:18.3.0 which is
// not permitted by our build.
adbcTestImplementation libs.bcprov.jdk18on
adbcTestImplementation libs.bcutil.jdk18on
adbcTestImplementation libs.bcpkix.jdk18on
adbcTestImplementation project(':server-test-utils')
adbcTestAnnotationProcessor libs.dagger.compiler
adbcTestImplementation libs.assertj
adbcTestImplementation platform(libs.junit.bom)
adbcTestImplementation libs.junit.jupiter
adbcTestRuntimeOnly libs.junit.platform.launcher
adbcTestRuntimeOnly libs.junit.vintage.engine
adbcTestRuntimeOnly project(':log-to-slf4j')
adbcTestRuntimeOnly libs.slf4j.simple
// JDBC testing needs an actually server instance bound to a port because it can only connect over JDBC URIs like
// jdbc:arrow-flight-sql://localhost:10000.
jdbcTestImplementation project(':server-jetty')
jdbcTestRuntimeOnly libs.arrow.flight.sql.jdbc
jdbcTestImplementation project(':server-test-utils')
jdbcTestAnnotationProcessor libs.dagger.compiler
jdbcTestImplementation libs.assertj
jdbcTestImplementation platform(libs.junit.bom)
jdbcTestImplementation libs.junit.jupiter
jdbcTestRuntimeOnly libs.junit.platform.launcher
jdbcTestRuntimeOnly libs.junit.vintage.engine
jdbcTestRuntimeOnly project(':log-to-slf4j')
jdbcTestRuntimeOnly libs.slf4j.simple
}
test {
useJUnitPlatform()
}
def adbcTest = tasks.register('adbcTest', Test) {
description = 'Runs ADBC tests.'
group = 'verification'
testClassesDirs = sourceSets.adbcTest.output.classesDirs
classpath = sourceSets.adbcTest.runtimeClasspath
shouldRunAfter test
useJUnitPlatform()
}
def jdbcTest = tasks.register('jdbcTest', Test) {
description = 'Runs JDBC tests.'
group = 'verification'
testClassesDirs = sourceSets.jdbcTest.output.classesDirs
classpath = sourceSets.jdbcTest.runtimeClasspath
shouldRunAfter test
useJUnitPlatform()
}
check.dependsOn adbcTest
check.dependsOn jdbcTest
apply plugin: 'io.deephaven.java-open-nio'