mirror of
https://github.com/google/nomulus
synced 2026-05-20 14:51:48 +00:00
Compare commits
209 Commits
nomulus-20
...
nomulus-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f8be045c7 | ||
|
|
dcc11379c8 | ||
|
|
6ff4aaeb1c | ||
|
|
199d02a4cc | ||
|
|
48cc12e016 | ||
|
|
e30b3f9e0b | ||
|
|
623356b1e8 | ||
|
|
4f69e1e0a6 | ||
|
|
9912e35ea2 | ||
|
|
413fd1dc94 | ||
|
|
2377774bf9 | ||
|
|
857cb833a5 | ||
|
|
82a50862c4 | ||
|
|
56d1ea71fe | ||
|
|
fd3cec2a0f | ||
|
|
b9c40dd68d | ||
|
|
754958ef3a | ||
|
|
1bf7c925bc | ||
|
|
eeca51667e | ||
|
|
123d6359dc | ||
|
|
64fba55f06 | ||
|
|
3a7ac669f5 | ||
|
|
fc029b5ad2 | ||
|
|
ec5c2cdb68 | ||
|
|
c4cf128844 | ||
|
|
c262ef82c9 | ||
|
|
03ca6cecc7 | ||
|
|
bee5e0a5a9 | ||
|
|
9f0138aeb2 | ||
|
|
eca2b61d8b | ||
|
|
d12897062b | ||
|
|
cc46447f25 | ||
|
|
e3016bb7d8 | ||
|
|
cc62530345 | ||
|
|
dd9c576146 | ||
|
|
d361f7cf18 | ||
|
|
a9b0988c8f | ||
|
|
08a9e2b64e | ||
|
|
205b16fe8a | ||
|
|
95dfd5b76a | ||
|
|
ac3c8b7520 | ||
|
|
f4436b54cf | ||
|
|
05fcf73452 | ||
|
|
e24dba7d2b | ||
|
|
4ec8b71f42 | ||
|
|
8e8911870c | ||
|
|
fa135dcd85 | ||
|
|
5d82893478 | ||
|
|
d0af81ecdf | ||
|
|
f273783894 | ||
|
|
0dfabe1c64 | ||
|
|
60a011c593 | ||
|
|
7716eebfff | ||
|
|
1e76eeed37 | ||
|
|
147d133aef | ||
|
|
c2e1f2e640 | ||
|
|
5d2639834a | ||
|
|
7912576e3d | ||
|
|
8424c85258 | ||
|
|
e72dd73ed8 | ||
|
|
508d221b94 | ||
|
|
073d0a416a | ||
|
|
f2ead5a0e3 | ||
|
|
212dbbe520 | ||
|
|
8594a61fd4 | ||
|
|
36837eb3e6 | ||
|
|
3a9a8c6557 | ||
|
|
65c2570b8f | ||
|
|
86acaa1b31 | ||
|
|
436cc03be9 | ||
|
|
e110ddd412 | ||
|
|
214b23e99c | ||
|
|
743dea9ca2 | ||
|
|
41f9f1ef7d | ||
|
|
44ede2b022 | ||
|
|
e4312322dc | ||
|
|
24dfaf6406 | ||
|
|
7afb8fa343 | ||
|
|
02b3f7b505 | ||
|
|
25342aa480 | ||
|
|
3ef1e6c6a4 | ||
|
|
9363b30b3e | ||
|
|
342f7d72a2 | ||
|
|
3592877210 | ||
|
|
3006ca39ca | ||
|
|
63adfa77ed | ||
|
|
fd5e5bf6f1 | ||
|
|
2495167215 | ||
|
|
0c6f399533 | ||
|
|
075ea23f1d | ||
|
|
3c19d4cbf6 | ||
|
|
ea4d60c830 | ||
|
|
c24e0053c8 | ||
|
|
537a6e4466 | ||
|
|
6c20d39a2d | ||
|
|
60c156c061 | ||
|
|
742ad0b37c | ||
|
|
6dd6ebce75 | ||
|
|
767e3935af | ||
|
|
86aa420773 | ||
|
|
61b38569e2 | ||
|
|
4bfa19a90c | ||
|
|
a001df6d7a | ||
|
|
6caf7819ed | ||
|
|
757803e985 | ||
|
|
4b1f4f96e3 | ||
|
|
bd49e8b238 | ||
|
|
6249a8e118 | ||
|
|
9b7bb12cd1 | ||
|
|
71d13bab71 | ||
|
|
8db28b7e61 | ||
|
|
5a7dc307c5 | ||
|
|
67278af3cb | ||
|
|
1eafc983ab | ||
|
|
f1bbdc5a0b | ||
|
|
b146301495 | ||
|
|
437a747eae | ||
|
|
a620b37c80 | ||
|
|
267cbeb95b | ||
|
|
b9fcabbc36 | ||
|
|
4f33de10f3 | ||
|
|
d6bb83f6d3 | ||
|
|
a8d3d22c5a | ||
|
|
fac659b520 | ||
|
|
178702ded3 | ||
|
|
59bca1a9ed | ||
|
|
f8198fa590 | ||
|
|
bbac81996b | ||
|
|
52c759d1db | ||
|
|
453af87615 | ||
|
|
d0d7515c0a | ||
|
|
2c70127573 | ||
|
|
d3fc6063c9 | ||
|
|
82802ec85c | ||
|
|
e53594a626 | ||
|
|
e6577e3f23 | ||
|
|
c9da36be9f | ||
|
|
2ccae00dae | ||
|
|
00c8b6a76d | ||
|
|
09dca28122 | ||
|
|
b412bdef9f | ||
|
|
62e5de8a3a | ||
|
|
fa9b784c5c | ||
|
|
e2bd72a74e | ||
|
|
28d41488b1 | ||
|
|
1107b9f2e3 | ||
|
|
9624b483d4 | ||
|
|
365937f22d | ||
|
|
d5db6c16bc | ||
|
|
c1ad06afd1 | ||
|
|
b24670f33a | ||
|
|
1253fa479a | ||
|
|
5f0dd24906 | ||
|
|
e25885e25f | ||
|
|
cbdf4704ba | ||
|
|
207c7e7ca8 | ||
|
|
b3a0eb6bd8 | ||
|
|
c602aa6e67 | ||
|
|
c6008b65a0 | ||
|
|
eded6813ab | ||
|
|
bbe5c058fe | ||
|
|
4b0cf576f8 | ||
|
|
045de3889b | ||
|
|
68fc4cd022 | ||
|
|
ebe55146c3 | ||
|
|
807ddf46b9 | ||
|
|
ff8f86090d | ||
|
|
5822f53e14 | ||
|
|
d04b3299aa | ||
|
|
ceade7f954 | ||
|
|
1fcf63facd | ||
|
|
f87e7eb6e6 | ||
|
|
7a174e3ffa | ||
|
|
2b38ad8a25 | ||
|
|
eefb4c71aa | ||
|
|
9d3cbd07fd | ||
|
|
69f8904692 | ||
|
|
7bebe46695 | ||
|
|
156344e408 | ||
|
|
7e115fa23e | ||
|
|
a23e3aa479 | ||
|
|
a9e792240e | ||
|
|
4e6d14a8ae | ||
|
|
6a419eaeb6 | ||
|
|
e3e277a264 | ||
|
|
01a5eadace | ||
|
|
efd2f4ea30 | ||
|
|
561ea71390 | ||
|
|
8c1b178c94 | ||
|
|
fe0353ae7d | ||
|
|
360c198f4f | ||
|
|
e79e76e578 | ||
|
|
a5dbfceae1 | ||
|
|
647d6a1b08 | ||
|
|
ec417e9258 | ||
|
|
55bef58063 | ||
|
|
ecc3d9f75d | ||
|
|
f23d2ca315 | ||
|
|
ac7cca35cd | ||
|
|
d663437cf2 | ||
|
|
0ceebc1d8b | ||
|
|
6006e253a4 | ||
|
|
f5d9ee4e4d | ||
|
|
39b613fe81 | ||
|
|
207fc49d64 | ||
|
|
f054bb2694 | ||
|
|
40b7a23d88 | ||
|
|
05e36f378b | ||
|
|
a82e6a05af |
@@ -36,3 +36,4 @@ Shicong Huang <shicong@google.com>
|
||||
Gustav Brodman <gbrodman@google.com>
|
||||
Sarah Botwinick <sarahbot@google.com>
|
||||
Legina Chen <legina@google.com>
|
||||
Rachel Guan <rachelguan@google.com>
|
||||
|
||||
27
build.gradle
27
build.gradle
@@ -20,6 +20,10 @@ buildscript {
|
||||
// Lock buildscript dependencies.
|
||||
configurations.classpath {
|
||||
resolutionStrategy.activateDependencyLocking()
|
||||
|
||||
// log4j has high-profile security vulnerabilities. It's a transitive
|
||||
// dependency used by Gradle itself during build, and not strictly needed.
|
||||
exclude group: 'org.apache.logging.log4j'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,12 +50,12 @@ plugins {
|
||||
id 'com.diffplug.gradle.spotless' version '3.25.0'
|
||||
|
||||
id 'jacoco'
|
||||
id 'com.dorongold.task-tree' version '1.5'
|
||||
id 'com.dorongold.task-tree' version '2.1.0'
|
||||
}
|
||||
|
||||
node {
|
||||
download = true
|
||||
version = "14.15.5"
|
||||
version = "16.14.0"
|
||||
npmVersion = "6.14.11"
|
||||
}
|
||||
|
||||
@@ -182,6 +186,12 @@ allprojects {
|
||||
println "Java dependencies: Using Maven Central..."
|
||||
mavenCentral()
|
||||
google()
|
||||
maven {
|
||||
url "https://packages.confluent.io/maven/"
|
||||
content {
|
||||
includeGroup "io.confluent"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,7 +292,8 @@ subprojects {
|
||||
|
||||
afterEvaluate {
|
||||
if (rootProject.enableDependencyLocking.toBoolean()
|
||||
&& project.name != 'integration') {
|
||||
&& project.name != 'integration'
|
||||
&& project.name != 'java8compatibility') {
|
||||
// The ':integration' project runs server/schema integration tests using
|
||||
// dynamically specified jars with no transitive dependency. Therefore
|
||||
// dependency-locking does not make sense. Furthermore, during
|
||||
@@ -290,6 +301,9 @@ subprojects {
|
||||
// immutable. Locking activation would trigger an invalid operation
|
||||
// exception.
|
||||
//
|
||||
// The ':java8compatibility' project is test-only. Its source does not go
|
||||
// into production.
|
||||
//
|
||||
// For all other projects, due to problem with the gradle-license-report
|
||||
// plugin, the dependencyLicenseReport configuration must opt out of
|
||||
// dependency-locking. See dependency_lic.gradle for the reason why.
|
||||
@@ -321,6 +335,13 @@ subprojects {
|
||||
|
||||
apply from: "${rootDir.path}/java_common.gradle"
|
||||
|
||||
if (project.name != 'docs') {
|
||||
compileJava {
|
||||
// TODO: Remove this once we migrate off AppEngine.
|
||||
options.release = 8
|
||||
}
|
||||
}
|
||||
|
||||
if (project.name == 'third_party') return
|
||||
|
||||
project.tasks.test.dependsOn runPresubmits
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.7.0
|
||||
com.github.kevinstern:software-and-algorithms:1.0
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.auto:auto-common:0.10
|
||||
com.google.code.findbugs:jFormatString:3.0.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
|
||||
@@ -3,61 +3,60 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.json:json:20160212
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:7.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,61 +3,60 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.json:json:20160212
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:7.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,61 +3,60 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.json:json:20160212
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:7.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,61 +3,60 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.json:json:20160212
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:7.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,61 +3,60 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.json:json:20160212
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:7.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,76 +3,74 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.json:json:20160212
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.objenesis:objenesis:3.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.objenesis:objenesis:3.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.ow2.asm:asm:9.1
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,76 +3,74 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.apiguardian:apiguardian-api:1.1.2
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.json:json:20160212
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.objenesis:objenesis:3.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.ow2.asm:asm:9.1
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,76 +3,74 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.json:json:20160212
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.objenesis:objenesis:3.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.objenesis:objenesis:3.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.ow2.asm:asm:9.1
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -3,76 +3,74 @@
|
||||
# This file is expected to be part of source control.
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.google.api-client:google-api-client:1.31.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.1.0
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.10
|
||||
com.google.api:api-common:1.10.1
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.62.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.auth:google-auth-library-credentials:0.24.1
|
||||
com.google.auth:google-auth-library-oauth2-http:0.24.1
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.google.api-client:google-api-client:1.34.1
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.6
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.0
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client:1.39.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.41.8
|
||||
com.google.http-client:google-http-client-appengine:1.41.8
|
||||
com.google.http-client:google-http-client-gson:1.41.8
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client:1.41.8
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.15.3
|
||||
com.google.oauth-client:google-oauth-client:1.33.3
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.ibm.icu:icu4j:57.1
|
||||
commons-codec:commons-codec:1.11
|
||||
commons-logging:commons-logging:1.2
|
||||
io.grpc:grpc-context:1.36.0
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.json:json:20160212
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.objenesis:objenesis:3.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.objenesis:objenesis:3.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:7.0
|
||||
org.ow2.asm:asm-commons:7.0
|
||||
org.ow2.asm:asm-tree:7.0
|
||||
org.ow2.asm:asm-util:7.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.threeten:threetenbp:1.5.0
|
||||
org.ow2.asm:asm:9.1
|
||||
org.threeten:threetenbp:1.6.0
|
||||
|
||||
@@ -51,6 +51,7 @@ artifacts {
|
||||
dependencies {
|
||||
def deps = rootProject.dependencyMap
|
||||
|
||||
compile deps['com.github.ben-manes.caffeine:caffeine']
|
||||
compile deps['com.google.code.findbugs:jsr305']
|
||||
compile deps['com.google.guava:guava']
|
||||
compile deps['javax.inject:javax.inject']
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,27 +1,28 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.apiguardian:apiguardian-api:1.1.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.junit.jupiter:junit-jupiter-api:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-engine:5.6.2
|
||||
org.junit.platform:junit-platform-commons:1.6.2
|
||||
org.junit.platform:junit-platform-engine:1.6.2
|
||||
org.junit:junit-bom:5.6.2
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
# This is a Gradle generated file for dependency locking.
|
||||
# Manual edits can break the build and are not advised.
|
||||
# This file is expected to be part of source control.
|
||||
com.google.auto.value:auto-value-annotations:1.7.4
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.11.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.truth:truth:1.1.2
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
javax.inject:javax.inject:1
|
||||
joda-time:joda-time:2.9.2
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.14
|
||||
junit:junit:4.13.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -41,4 +41,20 @@ public interface Sleeper {
|
||||
* @see com.google.common.util.concurrent.Uninterruptibles#sleepUninterruptibly
|
||||
*/
|
||||
void sleepUninterruptibly(ReadableDuration duration);
|
||||
|
||||
/**
|
||||
* Puts the current thread to interruptible sleep.
|
||||
*
|
||||
* <p>This is a convenience method for {@link #sleep} that properly converts an {@link
|
||||
* InterruptedException} to a {@link RuntimeException}.
|
||||
*/
|
||||
default void sleepInterruptibly(ReadableDuration duration) {
|
||||
try {
|
||||
sleep(duration);
|
||||
} catch (InterruptedException e) {
|
||||
// Restore current thread's interrupted state.
|
||||
Thread.currentThread().interrupt();
|
||||
throw new RuntimeException("Interrupted.", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
This is a random file,
|
||||
|
||||
with three lines and terminates without a newline.
|
||||
with three lines and terminates without a newline.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|Expected |Actual |
|
||||
|------------------------------------------------------|-----------------------------------------------------|
|
||||
|This is a random file, |This is a random file, |
|
||||
| |with **two** lines and terminates **with** a newline.|
|
||||
|with ~three~ lines and terminates ~without~ a newline.| |
|
||||
|with ~three~ lines and terminates ~without~ a newline.|with **two** lines and terminates **with** a newline.|
|
||||
@@ -1,6 +1,5 @@
|
||||
--- expected
|
||||
+++ actual
|
||||
@@ -2,2 +2,1 @@
|
||||
-
|
||||
@@ -2,1 +2,1 @@
|
||||
-with three lines and terminates without a newline.
|
||||
+with two lines and terminates with a newline.
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
package google.registry.testing;
|
||||
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.github.benmanes.caffeine.cache.CacheLoader;
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
import com.github.benmanes.caffeine.cache.LoadingCache;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
@@ -29,7 +29,7 @@ public final class SystemInfo {
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
private static final LoadingCache<String, Boolean> hasCommandCache =
|
||||
CacheBuilder.newBuilder()
|
||||
Caffeine.newBuilder()
|
||||
.build(
|
||||
new CacheLoader<String, Boolean>() {
|
||||
@Override
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
{
|
||||
"moduleLicense": "Apache License v2.0"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "Apache License V2.0"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "Apache License, Version 2.0"
|
||||
},
|
||||
@@ -66,6 +69,12 @@
|
||||
{
|
||||
"moduleLicense": "BSD 3-clause New License"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "BSD-3-Clause"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "BSD-3-Clause;link=\"https://raw.githubusercontent.com/dnsjava/dnsjava/master/LICENSE\""
|
||||
},
|
||||
{
|
||||
"moduleLicense": "3-Clause BSD License"
|
||||
},
|
||||
@@ -108,6 +117,9 @@
|
||||
{
|
||||
"moduleLicense": "The PostgreSQL License"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "CC0"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "CC0 1.0 Universal License"
|
||||
},
|
||||
@@ -262,6 +274,13 @@
|
||||
"moduleLicense": null,
|
||||
"moduleName": "com.fasterxml.jackson:jackson-bom"
|
||||
},
|
||||
{
|
||||
// "Apache License, Version 2.0". The plugin is able to parse up to
|
||||
// 2.0.33.Final but not this verson.
|
||||
"moduleLicense": null,
|
||||
"moduleVersion": "2.0.46.Final",
|
||||
"moduleName": "io.netty:netty-tcnative-classes"
|
||||
},
|
||||
{
|
||||
// Actually Eclipse Public License v2.0
|
||||
"moduleLicense": null,
|
||||
|
||||
@@ -57,6 +57,7 @@ PROPERTIES_HEADER = """\
|
||||
#
|
||||
# DO NOT EDIT THIS FILE BY HAND
|
||||
org.gradle.jvmargs=-Xmx1024m
|
||||
org.gradle.caching=true
|
||||
"""
|
||||
|
||||
# Help text to be displayed (in addition to the synopsis and flag help, which
|
||||
|
||||
@@ -88,8 +88,8 @@ PRESUBMITS = {
|
||||
r".*Copyright 20\d{2} The Nomulus Authors\. All Rights Reserved\.",
|
||||
("java", "js", "soy", "sql", "py", "sh", "gradle"), {
|
||||
".git", "/build/", "/generated/", "/generated_tests/",
|
||||
"node_modules/", "LocalStorageHelper.java", "FakeStorageRpc.java",
|
||||
"registrar_bin.", "registrar_dbg.", "google-java-format-diff.py",
|
||||
"node_modules/", "LoggerConfig.java", "registrar_bin.",
|
||||
"registrar_dbg.", "google-java-format-diff.py",
|
||||
"nomulus.golden.sql", "soyutils_usegoog.js", "javascript/checks.js"
|
||||
}, REQUIRED):
|
||||
"File did not include the license header.",
|
||||
|
||||
@@ -138,8 +138,8 @@ def main():
|
||||
if args.directory and os.path.exists(dir):
|
||||
pr(f'Reusing directory {dir}\n')
|
||||
os.chdir(dir)
|
||||
run('git', 'fetch', 'git@github.com:google/nomulus', 'master:master')
|
||||
run('git', 'checkout', 'master')
|
||||
run('git', 'fetch', 'git@github.com:google/nomulus', 'master')
|
||||
run('git', 'checkout', 'origin/master')
|
||||
else:
|
||||
run('git', 'clone', 'git@github.com:google/nomulus', dir)
|
||||
os.chdir(dir)
|
||||
@@ -175,7 +175,7 @@ def main():
|
||||
# Print the list of packages that were removed.
|
||||
for package in old_packages:
|
||||
if package not in new_packages:
|
||||
pr('removed ', b':'.join(package))
|
||||
pr('removed ', b':'.join(package), '\n')
|
||||
else:
|
||||
pr('Package versions not updated!\n')
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ def jsDir = "${project.projectDir}/src/main/javascript"
|
||||
// TODO(weiminyu): identify cause and fix offending tests.
|
||||
def outcastTestPatterns = [
|
||||
// Problem seems to lie with AppEngine TaskQueue for test.
|
||||
"google/registry/batch/DeleteContactsAndHostsActionTest.*",
|
||||
"google/registry/batch/RefreshDnsOnHostRenameActionTest.*",
|
||||
"google/registry/flows/CheckApiActionTest.*",
|
||||
"google/registry/flows/EppLifecycleHostTest.*",
|
||||
@@ -172,6 +171,7 @@ dependencies {
|
||||
testRuntime files(sourceSets.test.resources.srcDirs)
|
||||
|
||||
compile deps['com.beust:jcommander']
|
||||
compile deps['com.github.ben-manes.caffeine:caffeine']
|
||||
compile deps['com.google.api:gax']
|
||||
compile deps['com.google.api.grpc:proto-google-cloud-datastore-v1']
|
||||
compile deps['com.google.api.grpc:proto-google-common-protos']
|
||||
@@ -257,13 +257,12 @@ dependencies {
|
||||
compile deps['org.apache.beam:beam-sdks-java-core']
|
||||
compile deps['org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core']
|
||||
compile deps['org.apache.beam:beam-sdks-java-io-google-cloud-platform']
|
||||
testCompile deps['org.apache.commons:commons-lang3']
|
||||
compile deps['org.apache.commons:commons-lang3']
|
||||
testCompile deps['org.apache.commons:commons-text']
|
||||
testCompile deps['org.apache.ftpserver:ftplet-api']
|
||||
testCompile deps['org.apache.ftpserver:ftpserver-core']
|
||||
compile deps['org.apache.httpcomponents:httpclient']
|
||||
compile deps['org.apache.httpcomponents:httpcore']
|
||||
runtime deps['org.apache.logging.log4j:log4j-core']
|
||||
testCompile deps['org.apache.sshd:sshd-core']
|
||||
testCompile deps['org.apache.sshd:sshd-scp']
|
||||
testCompile deps['org.apache.sshd:sshd-sftp']
|
||||
@@ -320,6 +319,7 @@ dependencies {
|
||||
testCompile deps['com.google.appengine:appengine-testing']
|
||||
testCompile deps['com.google.guava:guava-testlib']
|
||||
testCompile deps['com.google.monitoring-client:contrib']
|
||||
testCompile deps['com.google.protobuf:protobuf-java-util']
|
||||
testCompile deps['com.google.truth:truth']
|
||||
testCompile deps['com.google.truth.extensions:truth-java8-extension']
|
||||
testCompile deps['org.checkerframework:checker-qual']
|
||||
@@ -677,9 +677,9 @@ Optional<List<String>> getToolArgsList() {
|
||||
|
||||
// To run the nomulus tools with these command line tokens:
|
||||
// "--foo", "bar baz", "--qux=quz"
|
||||
// gradle registryTool --args="--foo 'bar baz' --qux=quz"
|
||||
// gradle core:registryTool --args="--foo 'bar baz' --qux=quz"
|
||||
// or:
|
||||
// gradle registryTool --PtoolArgs="--foo|bar baz|--qux=quz"
|
||||
// gradle core:registryTool -PtoolArgs="--foo|bar baz|--qux=quz"
|
||||
// Note that the delimiting pipe can be backslash escaped if it is part of a
|
||||
// parameter.
|
||||
ext.createToolTask = {
|
||||
@@ -703,38 +703,16 @@ createToolTask(
|
||||
'google.registry.tools.DevTool',
|
||||
sourceSets.nonprod)
|
||||
|
||||
createToolTask(
|
||||
'initSqlPipeline', 'google.registry.beam.initsql.InitSqlPipeline')
|
||||
|
||||
createToolTask(
|
||||
'validateDatabasePipeline', 'google.registry.beam.comparedb.ValidateDatabasePipeline')
|
||||
|
||||
|
||||
createToolTask(
|
||||
'jpaDemoPipeline', 'google.registry.beam.common.JpaDemoPipeline')
|
||||
|
||||
createToolTask(
|
||||
'createSyntheticHistoryEntries',
|
||||
'google.registry.tools.javascrap.CreateSyntheticHistoryEntriesPipeline')
|
||||
|
||||
project.tasks.create('initSqlPipeline', JavaExec) {
|
||||
main = 'google.registry.beam.initsql.InitSqlPipeline'
|
||||
|
||||
doFirst {
|
||||
getToolArgsList().ifPresent {
|
||||
args it
|
||||
}
|
||||
|
||||
def isDirectRunner =
|
||||
args.contains('DirectRunner') || args.contains('--runner=DirectRunner')
|
||||
// The dependency containing DirectRunner is intentionally excluded from the
|
||||
// production binary, so that it won't be chosen by mistake: we definitely do
|
||||
// not want to use it for the real jobs, yet DirectRunner is the default if
|
||||
// the user forgets to override it.
|
||||
// DirectRunner is required for tests and is already on testRuntimeClasspath.
|
||||
// For simplicity, we add testRuntimeClasspath to this task's classpath instead
|
||||
// of defining a new configuration just for the DirectRunner dependency.
|
||||
classpath =
|
||||
isDirectRunner
|
||||
? sourceSets.main.runtimeClasspath.plus(sourceSets.test.runtimeClasspath)
|
||||
: sourceSets.main.runtimeClasspath
|
||||
}
|
||||
}
|
||||
|
||||
// Caller must provide projectId, GCP region, runner, and the kinds to delete
|
||||
// (comma-separated kind names or '*' for all). E.g.:
|
||||
// nom_build :core:bulkDeleteDatastore --args="--project=domain-registry-crash \
|
||||
@@ -787,11 +765,6 @@ createUberJar(
|
||||
// User should install gcloud and login to GCP before invoking this tasks.
|
||||
if (environment == 'alpha') {
|
||||
def pipelines = [
|
||||
initSql :
|
||||
[
|
||||
mainClass: 'google.registry.beam.initsql.InitSqlPipeline',
|
||||
metaData : 'google/registry/beam/init_sql_pipeline_metadata.json'
|
||||
],
|
||||
bulkDeleteDatastore:
|
||||
[
|
||||
mainClass: 'google.registry.beam.datastore.BulkDeleteDatastorePipeline',
|
||||
@@ -812,6 +785,11 @@ if (environment == 'alpha') {
|
||||
mainClass: 'google.registry.beam.rde.RdePipeline',
|
||||
metaData : 'google/registry/beam/rde_pipeline_metadata.json'
|
||||
],
|
||||
resaveAllEppResources:
|
||||
[
|
||||
mainClass: 'google.registry.beam.resave.ResaveAllEppResourcesPipeline',
|
||||
metaData: 'google/registry/beam/resave_all_epp_resources_pipeline_metadata.json'
|
||||
],
|
||||
]
|
||||
project.tasks.create("stageBeamPipelines") {
|
||||
doLast {
|
||||
@@ -905,48 +883,6 @@ task buildToolImage(dependsOn: nomulus, type: Exec) {
|
||||
commandLine 'docker', 'build', '-t', 'nomulus-tool', '.'
|
||||
}
|
||||
|
||||
task generateInitSqlPipelineGraph(type: FilteringTest) {
|
||||
tests = ['InitSqlPipelineGraphTest.createPipeline_compareGraph']
|
||||
ignoreFailures = true
|
||||
}
|
||||
|
||||
task updateInitSqlPipelineGraph(type: Copy) {
|
||||
def graphRelativePath = 'google/registry/beam/initsql/'
|
||||
from ("${projectDir}/build/resources/test/${graphRelativePath}") {
|
||||
include 'pipeline_curr.dot'
|
||||
rename 'curr', 'golden'
|
||||
}
|
||||
into "src/test/resources/${graphRelativePath}"
|
||||
|
||||
dependsOn generateInitSqlPipelineGraph
|
||||
|
||||
doLast {
|
||||
if (com.google.common.base.Strings.isNullOrEmpty(project.dot_path)) {
|
||||
getLogger().info('Property dot_path is null. Not creating image for pipeline graph.')
|
||||
}
|
||||
def dotPath = project.dot_path
|
||||
if (!new File(dotPath).exists()) {
|
||||
throw new RuntimeException(
|
||||
"""\
|
||||
${dotPath} not found. Make sure graphviz is installed
|
||||
and the dot_path property is set correctly."""
|
||||
.stripIndent())
|
||||
}
|
||||
def goldenGraph = "src/test/resources/${graphRelativePath}/pipeline_golden.dot"
|
||||
def goldenImage = "src/test/resources/${graphRelativePath}/pipeline_golden.png"
|
||||
def cmd = "${dotPath} -Tpng -o \"${goldenImage}\" \"${goldenGraph}\""
|
||||
try {
|
||||
rootProject.ext.execInBash(cmd, projectDir)
|
||||
} catch (Throwable throwable) {
|
||||
throw new RuntimeException(
|
||||
"""\
|
||||
Failed to generate golden image with command ${cmd}
|
||||
Error: ${throwable.getMessage()}
|
||||
""")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Build the devtool jar.
|
||||
createUberJar(
|
||||
'devtool',
|
||||
|
||||
@@ -3,41 +3,43 @@
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.7.0
|
||||
com.github.kevinstern:software-and-algorithms:1.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.service:auto-service:1.0-rc7
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.auto:auto-common:0.10
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.service:auto-service:1.0.1
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.auto:auto-common:1.2
|
||||
com.google.code.findbugs:jFormatString:3.0.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.dagger:dagger-compiler:2.33
|
||||
com.google.dagger:dagger-producers:2.33
|
||||
com.google.dagger:dagger-spi:2.33
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.dagger:dagger-compiler:2.42
|
||||
com.google.dagger:dagger-producers:2.42
|
||||
com.google.dagger:dagger-spi:2.42
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.devtools.ksp:symbol-processing-api:1.5.30-1.0.0
|
||||
com.google.errorprone:error_prone_annotation:2.3.4
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.errorprone:error_prone_check_api:2.3.4
|
||||
com.google.errorprone:error_prone_core:2.3.4
|
||||
com.google.errorprone:error_prone_type_annotations:2.3.4
|
||||
com.google.errorprone:javac-shaded:9-dev-r4023-3
|
||||
com.google.googlejavaformat:google-java-format:1.5
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.0.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.protobuf:protobuf-java:3.4.0
|
||||
com.googlecode.java-diff-utils:diffutils:1.3.0
|
||||
com.squareup:javapoet:1.13.0
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
net.ltgt.gradle.incap:incap:0.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.12.0
|
||||
org.checkerframework:dataflow:3.0.0
|
||||
org.checkerframework:javacutil:3.0.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20
|
||||
org.jetbrains.kotlin:kotlin-stdlib:1.4.20
|
||||
org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.32
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32
|
||||
org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|
||||
org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2
|
||||
org.jetbrains:annotations:13.0
|
||||
org.pcollections:pcollections:2.1.2
|
||||
org.plumelib:plume-util:1.0.6
|
||||
|
||||
@@ -5,269 +5,302 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
dnsjava:dnsjava:3.5.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.6.2
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,262 +5,294 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
dnsjava:dnsjava:3.5.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.44.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.44.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.44.1
|
||||
io.grpc:grpc-grpclb:1.44.0
|
||||
io.grpc:grpc-netty-shaded:1.44.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.44.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.44.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
joda-time:joda-time:2.10.10
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.6.2
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,284 +5,316 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.slf4j:slf4j-jdk14:1.7.28
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:2.0.0-alpha7
|
||||
org.slf4j:slf4j-jdk14:2.0.0-alpha7
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,283 +5,314 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
joda-time:joda-time:2.10.10
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.slf4j:slf4j-jdk14:1.7.28
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:2.0.0-alpha7
|
||||
org.slf4j:slf4j-jdk14:2.0.0-alpha7
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
com.sun.activation:jakarta.activation:1.2.2
|
||||
com.sun.activation:javax.activation:1.2.0
|
||||
com.sun.xml.bind:jaxb-impl:2.3.3
|
||||
com.sun.xml.bind:jaxb-osgi:2.3.3
|
||||
com.sun.xml.bind:jaxb-osgi:4.0.0
|
||||
com.sun.xml.bind:jaxb-xjc:2.3.3
|
||||
jakarta.xml.bind:jakarta.xml.bind-api:2.3.3
|
||||
javax.xml.bind:jaxb-api:2.3.0
|
||||
jakarta.activation:jakarta.activation-api:2.1.0
|
||||
jakarta.xml.bind:jakarta.xml.bind-api:4.0.0
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.xml.bind:jaxb-api:2.4.0-b180830.0359
|
||||
|
||||
@@ -5,269 +5,302 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
dnsjava:dnsjava:3.5.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.6.2
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,263 +5,296 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.15.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
dnsjava:dnsjava:3.5.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.44.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.44.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.44.1
|
||||
io.grpc:grpc-grpclb:1.44.0
|
||||
io.grpc:grpc-netty-shaded:1.44.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.44.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.44.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.6.2
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,282 +5,314 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,282 +5,314 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,282 +5,314 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
junit:junit:4.13.1
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,283 +5,314 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.1
|
||||
com.fasterxml.jackson:jackson-bom:2.12.1
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.31.3
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.79.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.31.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.94.1
|
||||
com.google.cloud:google-cloud-core:1.94.3
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.0
|
||||
com.google.http-client:google-http-client-appengine:1.39.0
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.0
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.4
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
com.sun.xml.fastinfoset:FastInfoset:1.2.15
|
||||
com.thoughtworks.paranamer:paranamer:2.7
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.65
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
joda-time:joda-time:2.10.10
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy:1.12.9
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.5
|
||||
org.apache.commons:commons-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.1
|
||||
org.hamcrest:hamcrest:2.1
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.objenesis:objenesis:1.2
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.slf4j:slf4j-jdk14:1.7.28
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:2.0.0-alpha7
|
||||
org.slf4j:slf4j-jdk14:2.0.0-alpha7
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -12,10 +12,10 @@ com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:5.0.1
|
||||
com.google.inject:guice:5.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.jsinterop:jsinterop-annotations:1.0.1
|
||||
com.google.protobuf:protobuf-java:3.13.0
|
||||
com.google.protobuf:protobuf-java:4.0.0-rc-2
|
||||
com.google.template:soy:2021-02-01
|
||||
com.ibm.icu:icu4j:57.1
|
||||
javax.annotation:jsr250-api:1.0
|
||||
|
||||
@@ -3,39 +3,41 @@
|
||||
# This file is expected to be part of source control.
|
||||
com.github.ben-manes.caffeine:caffeine:2.7.0
|
||||
com.github.kevinstern:software-and-algorithms:1.0
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.auto:auto-common:0.10
|
||||
com.google.code.findbugs:jFormatString:3.0.0
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.dagger:dagger-compiler:2.33
|
||||
com.google.dagger:dagger-producers:2.33
|
||||
com.google.dagger:dagger-spi:2.33
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.dagger:dagger-compiler:2.42
|
||||
com.google.dagger:dagger-producers:2.42
|
||||
com.google.dagger:dagger-spi:2.42
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.devtools.ksp:symbol-processing-api:1.5.30-1.0.0
|
||||
com.google.errorprone:error_prone_annotation:2.3.4
|
||||
com.google.errorprone:error_prone_annotations:2.5.1
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.errorprone:error_prone_check_api:2.3.4
|
||||
com.google.errorprone:error_prone_core:2.3.4
|
||||
com.google.errorprone:error_prone_type_annotations:2.3.4
|
||||
com.google.errorprone:javac-shaded:9-dev-r4023-3
|
||||
com.google.googlejavaformat:google-java-format:1.5
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava:31.0.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
com.google.protobuf:protobuf-java:3.4.0
|
||||
com.googlecode.java-diff-utils:diffutils:1.3.0
|
||||
com.squareup:javapoet:1.13.0
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
net.ltgt.gradle.incap:incap:0.2
|
||||
org.checkerframework:checker-compat-qual:2.5.3
|
||||
org.checkerframework:checker-qual:3.8.0
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.12.0
|
||||
org.checkerframework:dataflow:3.0.0
|
||||
org.checkerframework:javacutil:3.0.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20
|
||||
org.jetbrains.kotlin:kotlin-stdlib:1.4.20
|
||||
org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.1.0
|
||||
org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.32
|
||||
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32
|
||||
org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|
||||
org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.4.2
|
||||
org.jetbrains:annotations:13.0
|
||||
org.pcollections:pcollections:2.1.2
|
||||
org.plumelib:plume-util:1.0.6
|
||||
|
||||
@@ -5,131 +5,143 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.3
|
||||
com.fasterxml.jackson:jackson-bom:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.32.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.83.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.32.1
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-api-stubs:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-api-stubs:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:1.95.4
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-nio:0.124.4
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava-testlib:30.1.1-jre
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava-testlib:31.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.2
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.2
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
@@ -137,21 +149,22 @@ com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:contrib:1.0.7
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.5
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.squareup.okhttp3:okhttp:3.11.0
|
||||
com.squareup.okio:okio:1.14.0
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
@@ -161,141 +174,158 @@ com.thoughtworks.qdox:qdox:1.12.1
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.102
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
dnsjava:dnsjava:3.5.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-direct-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-direct-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.ftpserver:ftplet-api:1.0.6
|
||||
org.apache.ftpserver:ftpserver-core:1.0.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.ftpserver:ftplet-api:1.2.0
|
||||
org.apache.ftpserver:ftpserver-core:1.2.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.6.2
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.apache.mina:mina-core:2.1.6
|
||||
org.apache.sshd:sshd-core:2.0.0
|
||||
org.apache.sshd:sshd-scp:2.0.0
|
||||
org.apache.sshd:sshd-sftp:2.0.0
|
||||
org.apache.tomcat:tomcat-annotations-api:8.0.5
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.tomcat:tomcat-annotations-api:10.1.0-M16
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.2
|
||||
org.hamcrest:hamcrest-library:2.2
|
||||
org.hamcrest:hamcrest:2.2
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.junit-pioneer:junit-pioneer:0.7.0
|
||||
org.junit.jupiter:junit-jupiter-api:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-engine:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-params:5.7.0
|
||||
org.junit.platform:junit-platform-commons:1.7.0
|
||||
org.junit.platform:junit-platform-engine:1.7.0
|
||||
org.junit.platform:junit-platform-launcher:1.7.0
|
||||
org.junit.platform:junit-platform-runner:1.7.0
|
||||
org.junit.platform:junit-platform-suite-api:1.7.0
|
||||
org.junit:junit-bom:5.7.0
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.junit-pioneer:junit-pioneer:1.7.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-params:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit.platform:junit-platform-launcher:1.9.0-M1
|
||||
org.junit.platform:junit-platform-runner:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-api:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-commons:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.mockito:mockito-junit-jupiter:3.7.7
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.mockito:mockito-junit-jupiter:4.6.1
|
||||
org.mortbay.jetty:jetty-util:6.1.26
|
||||
org.mortbay.jetty:jetty:6.1.26
|
||||
org.objenesis:objenesis:3.1
|
||||
org.objenesis:objenesis:3.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.seleniumhq.selenium:selenium-api:3.141.59
|
||||
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
|
||||
@@ -306,18 +336,21 @@ org.seleniumhq.selenium:selenium-opera-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-remote-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-safari-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-support:3.141.59
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:junit-jupiter:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:selenium:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:junit-jupiter:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:selenium:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,129 +5,142 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.3
|
||||
com.fasterxml.jackson:jackson-bom:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.32.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.83.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.32.1
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-api-stubs:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-api-stubs:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:1.95.4
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-nio:0.124.4
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava-testlib:30.1.1-jre
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava-testlib:31.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.2
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.2
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
@@ -135,21 +148,22 @@ com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:contrib:1.0.7
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.5
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.squareup.okhttp3:okhttp:3.11.0
|
||||
com.squareup.okio:okio:1.14.0
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
@@ -159,137 +173,153 @@ com.thoughtworks.qdox:qdox:1.12.1
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.102
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
dnsjava:dnsjava:3.5.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.grpc:grpc-alts:1.44.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.44.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.44.1
|
||||
io.grpc:grpc-grpclb:1.44.0
|
||||
io.grpc:grpc-netty-shaded:1.44.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.44.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.44.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-direct-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-direct-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.ftpserver:ftplet-api:1.0.6
|
||||
org.apache.ftpserver:ftpserver-core:1.0.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.ftpserver:ftplet-api:1.2.0
|
||||
org.apache.ftpserver:ftpserver-core:1.2.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.6.2
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.apache.mina:mina-core:2.1.6
|
||||
org.apache.sshd:sshd-core:2.0.0
|
||||
org.apache.sshd:sshd-scp:2.0.0
|
||||
org.apache.sshd:sshd-sftp:2.0.0
|
||||
org.apache.tomcat:tomcat-annotations-api:8.0.5
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.tomcat:tomcat-annotations-api:10.1.0-M16
|
||||
org.apiguardian:apiguardian-api:1.1.2
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.2
|
||||
org.hamcrest:hamcrest-library:2.2
|
||||
org.hamcrest:hamcrest:2.2
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.junit-pioneer:junit-pioneer:0.7.0
|
||||
org.junit.jupiter:junit-jupiter-api:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-engine:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-params:5.7.0
|
||||
org.junit.platform:junit-platform-commons:1.7.0
|
||||
org.junit.platform:junit-platform-engine:1.7.0
|
||||
org.junit.platform:junit-platform-launcher:1.7.0
|
||||
org.junit.platform:junit-platform-runner:1.7.0
|
||||
org.junit.platform:junit-platform-suite-api:1.7.0
|
||||
org.junit:junit-bom:5.7.0
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.junit-pioneer:junit-pioneer:1.7.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-params:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit.platform:junit-platform-launcher:1.9.0-M1
|
||||
org.junit.platform:junit-platform-runner:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-api:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.mockito:mockito-junit-jupiter:3.7.7
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.mockito:mockito-junit-jupiter:4.6.1
|
||||
org.mortbay.jetty:jetty-util:6.1.26
|
||||
org.mortbay.jetty:jetty:6.1.26
|
||||
org.objenesis:objenesis:3.1
|
||||
org.objenesis:objenesis:1.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.seleniumhq.selenium:selenium-api:3.141.59
|
||||
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
|
||||
@@ -300,18 +330,21 @@ org.seleniumhq.selenium:selenium-opera-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-remote-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-safari-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-support:3.141.59
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:junit-jupiter:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:selenium:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:junit-jupiter:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:selenium:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,136 +5,144 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.3
|
||||
com.fasterxml.jackson:jackson-bom:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.32.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.83.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.32.1
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-api-stubs:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-api-stubs:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:1.95.4
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-nio:0.124.4
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava-testlib:30.1.1-jre
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava-testlib:31.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.2
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.2
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
@@ -142,21 +150,22 @@ com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:contrib:1.0.7
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.5
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.squareup.okhttp3:okhttp:3.11.0
|
||||
com.squareup.okio:okio:1.14.0
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
@@ -166,147 +175,167 @@ com.thoughtworks.qdox:qdox:1.12.1
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.102
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-direct-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-direct-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.ftpserver:ftplet-api:1.0.6
|
||||
org.apache.ftpserver:ftpserver-core:1.0.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.ftpserver:ftplet-api:1.2.0
|
||||
org.apache.ftpserver:ftpserver-core:1.2.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.apache.mina:mina-core:2.1.6
|
||||
org.apache.sshd:sshd-core:2.0.0
|
||||
org.apache.sshd:sshd-scp:2.0.0
|
||||
org.apache.sshd:sshd-sftp:2.0.0
|
||||
org.apache.tomcat:tomcat-annotations-api:8.0.5
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.tomcat:tomcat-annotations-api:10.1.0-M16
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.2
|
||||
org.hamcrest:hamcrest-library:2.2
|
||||
org.hamcrest:hamcrest:2.2
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.junit-pioneer:junit-pioneer:0.7.0
|
||||
org.junit.jupiter:junit-jupiter-api:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-engine:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-params:5.7.0
|
||||
org.junit.platform:junit-platform-commons:1.7.0
|
||||
org.junit.platform:junit-platform-engine:1.7.0
|
||||
org.junit.platform:junit-platform-launcher:1.7.0
|
||||
org.junit.platform:junit-platform-runner:1.7.0
|
||||
org.junit.platform:junit-platform-suite-api:1.7.0
|
||||
org.junit:junit-bom:5.7.0
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.junit-pioneer:junit-pioneer:1.7.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-params:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit.platform:junit-platform-launcher:1.9.0-M1
|
||||
org.junit.platform:junit-platform-runner:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-api:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-commons:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.mockito:mockito-junit-jupiter:3.7.7
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.mockito:mockito-junit-jupiter:4.6.1
|
||||
org.mortbay.jetty:jetty-util:6.1.26
|
||||
org.mortbay.jetty:jetty:6.1.26
|
||||
org.objenesis:objenesis:3.1
|
||||
org.objenesis:objenesis:3.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.seleniumhq.selenium:selenium-api:3.141.59
|
||||
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
|
||||
@@ -319,19 +348,22 @@ org.seleniumhq.selenium:selenium-safari-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-support:3.141.59
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:junit-jupiter:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:selenium:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:1.7.36
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:junit-jupiter:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:selenium:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -5,136 +5,144 @@ antlr:antlr:2.7.7
|
||||
aopalliance:aopalliance:1.0
|
||||
args4j:args4j:2.0.23
|
||||
cglib:cglib-nodep:2.2
|
||||
com.101tec:zkclient:0.10
|
||||
com.beust:jcommander:1.60
|
||||
com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.12.3
|
||||
com.fasterxml.jackson:jackson-bom:2.12.3
|
||||
com.fasterxml.jackson.core:jackson-annotations:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.3
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.3
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.3
|
||||
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.3
|
||||
com.fasterxml.jackson:jackson-bom:2.13.3
|
||||
com.fasterxml:classmate:1.5.1
|
||||
com.github.docker-java:docker-java-api:3.2.7
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.7
|
||||
com.github.docker-java:docker-java-transport:3.2.7
|
||||
com.github.jnr:jffi:1.3.1
|
||||
com.github.ben-manes.caffeine:caffeine:2.9.3
|
||||
com.github.docker-java:docker-java-api:3.2.13
|
||||
com.github.docker-java:docker-java-transport-zerodep:3.2.13
|
||||
com.github.docker-java:docker-java-transport:3.2.13
|
||||
com.github.jnr:jffi:1.3.9
|
||||
com.github.jnr:jnr-a64asm:1.0.0
|
||||
com.github.jnr:jnr-constants:0.10.1
|
||||
com.github.jnr:jnr-enxio:0.32.3
|
||||
com.github.jnr:jnr-ffi:2.2.1
|
||||
com.github.jnr:jnr-posix:3.1.4
|
||||
com.github.jnr:jnr-unixsocket:0.38.5
|
||||
com.github.jnr:jnr-constants:0.10.3
|
||||
com.github.jnr:jnr-enxio:0.32.13
|
||||
com.github.jnr:jnr-ffi:2.2.11
|
||||
com.github.jnr:jnr-posix:3.1.15
|
||||
com.github.jnr:jnr-unixsocket:0.38.17
|
||||
com.github.jnr:jnr-x86asm:1.0.2
|
||||
com.github.rholder:guava-retrying:2.0.0
|
||||
com.google.android:annotations:4.1.1.4
|
||||
com.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-jackson2:1.30.10
|
||||
com.google.api-client:google-api-client-java6:1.31.3
|
||||
com.google.api-client:google-api-client-servlet:1.31.3
|
||||
com.google.api-client:google-api-client:1.32.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:1.14.0
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.90.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:grpc-google-common-protos:1.18.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:1.5.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1alpha2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.105.5
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:1.14.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:1.16.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.88.9
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.92.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:0.7.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:1.4.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:2.0.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:1.33.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.89.2
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.89.2
|
||||
com.google.api.grpc:proto-google-common-protos:2.3.2
|
||||
com.google.api.grpc:proto-google-iam-v1:1.0.14
|
||||
com.google.api:api-common:1.10.4
|
||||
com.google.api:gax-grpc:1.66.0
|
||||
com.google.api:gax-httpjson:0.83.0
|
||||
com.google.api:gax:1.66.0
|
||||
com.google.api-client:google-api-client-appengine:1.35.1
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
com.google.api-client:google-api-client-java6:1.35.1
|
||||
com.google.api-client:google-api-client-servlet:1.35.1
|
||||
com.google.api-client:google-api-client:1.35.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-admin-v2:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.5
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.2
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.10.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.134.0
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.3
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.4
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.14
|
||||
com.google.api.grpc:proto-google-cloud-monitoring-v3:1.64.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.98.0
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.5.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-secretmanager-v1beta1:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.20.0
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.2.2-alpha
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2:2.2.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta2:0.92.0
|
||||
com.google.api.grpc:proto-google-cloud-tasks-v2beta3:0.92.0
|
||||
com.google.api.grpc:proto-google-common-protos:2.8.3
|
||||
com.google.api.grpc:proto-google-iam-v1:1.3.4
|
||||
com.google.api:api-common:2.2.0
|
||||
com.google.api:gax-grpc:2.18.1
|
||||
com.google.api:gax-httpjson:0.103.1
|
||||
com.google.api:gax:2.18.1
|
||||
com.google.apis:google-api-services-admin-directory:directory_v1-rev118-1.25.0
|
||||
com.google.apis:google-api-services-appengine:v1-rev130-1.25.0
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20200916-1.30.10
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20200501-1.30.10
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev108-1.25.0
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20200720-1.30.10
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-appengine:v1-rev20220509-1.32.1
|
||||
com.google.apis:google-api-services-bigquery:v2-rev20211129-1.32.1
|
||||
com.google.apis:google-api-services-clouddebugger:v2-rev20210813-1.32.1
|
||||
com.google.apis:google-api-services-cloudkms:v1-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-cloudresourcemanager:v1-rev20211017-1.32.1
|
||||
com.google.apis:google-api-services-dataflow:v1b3-rev20210818-1.32.1
|
||||
com.google.apis:google-api-services-dns:v2beta1-rev99-1.25.0
|
||||
com.google.apis:google-api-services-drive:v2-rev393-1.25.0
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev82-1.25.0
|
||||
com.google.apis:google-api-services-healthcare:v1beta1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20201022-1.30.10
|
||||
com.google.apis:google-api-services-monitoring:v3-rev540-1.25.0
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20200713-1.30.10
|
||||
com.google.apis:google-api-services-sheets:v4-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20210127-1.32.1
|
||||
com.google.apis:google-api-services-groupssettings:v1-rev20210624-1.32.1
|
||||
com.google.apis:google-api-services-healthcare:v1-rev20211016-1.32.1
|
||||
com.google.apis:google-api-services-iamcredentials:v1-rev20210326-1.32.1
|
||||
com.google.apis:google-api-services-monitoring:v3-rev20220525-1.32.1
|
||||
com.google.apis:google-api-services-pubsub:v1-rev20211130-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220513-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220604-1.32.1
|
||||
com.google.appengine.tools:appengine-gcs-client:0.8.1
|
||||
com.google.appengine.tools:appengine-mapreduce:0.9
|
||||
com.google.appengine.tools:appengine-pipeline:0.2.13
|
||||
com.google.appengine:appengine-api-1.0-sdk:1.9.86
|
||||
com.google.appengine:appengine-api-stubs:1.9.86
|
||||
com.google.appengine:appengine-remote-api:1.9.86
|
||||
com.google.appengine:appengine-api-1.0-sdk:2.0.5
|
||||
com.google.appengine:appengine-api-stubs:2.0.5
|
||||
com.google.appengine:appengine-remote-api:2.0.5
|
||||
com.google.appengine:appengine-testing:1.9.86
|
||||
com.google.auth:google-auth-library-credentials:0.26.0
|
||||
com.google.auth:google-auth-library-oauth2-http:0.26.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
com.google.auto.value:auto-value-annotations:1.8.1
|
||||
com.google.auto.value:auto-value:1.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.1.6
|
||||
com.google.cloud.bigdataoss:util:2.1.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.16.0
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:1.6.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquery:1.122.2
|
||||
com.google.cloud:google-cloud-bigquerystorage:1.5.5
|
||||
com.google.cloud:google-cloud-bigtable:1.14.0
|
||||
com.google.cloud:google-cloud-core-grpc:1.93.9
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:1.95.4
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.110.0
|
||||
com.google.cloud:google-cloud-pubsublite:0.7.0
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:2.0.2
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.auth:google-auth-library-credentials:1.7.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.7.0
|
||||
com.google.auto.service:auto-service-annotations:1.0.1
|
||||
com.google.auto.value:auto-value-annotations:1.9
|
||||
com.google.auto.value:auto-value:1.9
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.6
|
||||
com.google.cloud.bigdataoss:util:2.2.6
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.26.3
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.26.3
|
||||
com.google.cloud.datastore:datastore-v1-proto-client:2.1.3
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.10.0
|
||||
com.google.cloud:google-cloud-bigtable:2.5.3
|
||||
com.google.cloud:google-cloud-core-grpc:2.4.0
|
||||
com.google.cloud:google-cloud-core-http:2.7.1
|
||||
com.google.cloud:google-cloud-core:2.7.1
|
||||
com.google.cloud:google-cloud-firestore:3.0.14
|
||||
com.google.cloud:google-cloud-monitoring:1.82.0
|
||||
com.google.cloud:google-cloud-nio:0.124.4
|
||||
com.google.cloud:google-cloud-pubsub:1.116.0
|
||||
com.google.cloud:google-cloud-pubsublite:1.5.0
|
||||
com.google.cloud:google-cloud-secretmanager:2.2.0
|
||||
com.google.cloud:google-cloud-spanner:6.20.0
|
||||
com.google.cloud:google-cloud-storage:2.8.0
|
||||
com.google.cloud:google-cloud-tasks:2.2.0
|
||||
com.google.cloud:grpc-gcp:1.1.0
|
||||
com.google.cloud:proto-google-cloud-firestore-bundle-v1:3.0.14
|
||||
com.google.code.findbugs:jsr305:3.0.2
|
||||
com.google.code.gson:gson:2.8.7
|
||||
com.google.code.gson:gson:2.9.0
|
||||
com.google.common.html.types:types:1.0.6
|
||||
com.google.dagger:dagger:2.33
|
||||
com.google.errorprone:error_prone_annotations:2.7.1
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.14.0
|
||||
com.google.escapevelocity:escapevelocity:0.9.1
|
||||
com.google.flogger:flogger-system-backend:0.5.1
|
||||
com.google.flogger:flogger:0.5.1
|
||||
com.google.flogger:google-extensions:0.5.1
|
||||
com.google.flatbuffers:flatbuffers-java:1.12.0
|
||||
com.google.flogger:flogger-system-backend:0.7.4
|
||||
com.google.flogger:flogger:0.7.4
|
||||
com.google.flogger:google-extensions:0.7.4
|
||||
com.google.guava:failureaccess:1.0.1
|
||||
com.google.guava:guava-testlib:30.1.1-jre
|
||||
com.google.guava:guava:30.1.1-jre
|
||||
com.google.guava:guava-testlib:31.1-jre
|
||||
com.google.guava:guava:31.1-jre
|
||||
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
|
||||
com.google.gwt:gwt-user:2.9.0
|
||||
com.google.http-client:google-http-client-apache-v2:1.39.2
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.39.2
|
||||
com.google.http-client:google-http-client-jackson2:1.39.2
|
||||
com.google.http-client:google-http-client-protobuf:1.33.0
|
||||
com.google.http-client:google-http-client:1.39.2
|
||||
com.google.http-client:google-http-client-apache-v2:1.42.0
|
||||
com.google.http-client:google-http-client-appengine:1.42.0
|
||||
com.google.http-client:google-http-client-gson:1.42.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.8
|
||||
com.google.http-client:google-http-client-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.42.0
|
||||
com.google.inject.extensions:guice-multibindings:4.1.0
|
||||
com.google.inject:guice:4.1.0
|
||||
com.google.j2objc:j2objc-annotations:1.3
|
||||
@@ -142,21 +150,22 @@ com.google.jsinterop:jsinterop-annotations:2.0.0
|
||||
com.google.monitoring-client:contrib:1.0.7
|
||||
com.google.monitoring-client:metrics:1.0.7
|
||||
com.google.monitoring-client:stackdriver:1.0.7
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-java6:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.31.4
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.31.4
|
||||
com.google.oauth-client:google-oauth-client:1.31.5
|
||||
com.google.protobuf:protobuf-java-util:3.17.3
|
||||
com.google.protobuf:protobuf-java:3.17.3
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.1
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.1
|
||||
com.google.oauth-client:google-oauth-client:1.34.1
|
||||
com.google.protobuf:protobuf-java-util:3.20.1
|
||||
com.google.protobuf:protobuf-java:3.20.1
|
||||
com.google.re2j:re2j:1.6
|
||||
com.google.template:soy:2021-02-01
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.2
|
||||
com.google.truth:truth:1.1.2
|
||||
com.google.truth.extensions:truth-java8-extension:1.1.3
|
||||
com.google.truth:truth:1.1.3
|
||||
com.googlecode.charts4j:charts4j:1.3
|
||||
com.googlecode.json-simple:json-simple:1.1.1
|
||||
com.ibm.icu:icu4j:68.2
|
||||
com.ibm.icu:icu4j:71.1
|
||||
com.jcraft:jsch:0.1.55
|
||||
com.lmax:disruptor:3.4.2
|
||||
com.squareup.okhttp3:okhttp:3.11.0
|
||||
com.squareup.okio:okio:1.14.0
|
||||
com.sun.istack:istack-commons-runtime:3.0.7
|
||||
@@ -166,147 +175,167 @@ com.thoughtworks.qdox:qdox:1.12.1
|
||||
com.zaxxer:HikariCP:3.4.5
|
||||
commons-codec:commons-codec:1.15
|
||||
commons-logging:commons-logging:1.2
|
||||
dnsjava:dnsjava:3.3.1
|
||||
dnsjava:dnsjava:3.5.1
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_linux_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_macosx_x86_64:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86:4.6.0
|
||||
guru.nidi.com.eclipsesource.j2v8:j2v8_win32_x86_64:4.6.0
|
||||
guru.nidi.com.kitfox:svgSalamander:1.1.3
|
||||
guru.nidi:graphviz-java-all-j2v8:0.17.0
|
||||
guru.nidi:graphviz-java:0.17.0
|
||||
io.dropwizard.metrics:metrics-core:3.2.6
|
||||
io.github.classgraph:classgraph:4.8.102
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
io.grpc:grpc-alts:1.39.0
|
||||
io.grpc:grpc-api:1.39.0
|
||||
io.grpc:grpc-auth:1.39.0
|
||||
io.grpc:grpc-context:1.39.0
|
||||
io.grpc:grpc-core:1.39.0
|
||||
io.grpc:grpc-grpclb:1.39.0
|
||||
io.grpc:grpc-netty-shaded:1.39.0
|
||||
io.grpc:grpc-netty:1.32.2
|
||||
io.grpc:grpc-protobuf-lite:1.39.0
|
||||
io.grpc:grpc-protobuf:1.39.0
|
||||
io.grpc:grpc-stub:1.39.0
|
||||
io.netty:netty-buffer:4.1.51.Final
|
||||
io.netty:netty-codec-http2:4.1.51.Final
|
||||
io.netty:netty-codec-http:4.1.51.Final
|
||||
io.netty:netty-codec-socks:4.1.51.Final
|
||||
io.netty:netty-codec:4.1.51.Final
|
||||
io.netty:netty-common:4.1.51.Final
|
||||
io.netty:netty-handler-proxy:4.1.51.Final
|
||||
io.netty:netty-handler:4.1.51.Final
|
||||
io.netty:netty-resolver:4.1.51.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.51.Final
|
||||
io.opencensus:opencensus-api:0.28.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.24.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
io.perfmark:perfmark-api:0.23.0
|
||||
guru.nidi:graphviz-java-all-j2v8:0.18.1
|
||||
guru.nidi:graphviz-java:0.18.1
|
||||
io.confluent:common-config:5.3.2
|
||||
io.confluent:common-utils:5.3.2
|
||||
io.confluent:kafka-avro-serializer:5.3.2
|
||||
io.confluent:kafka-schema-registry-client:5.3.2
|
||||
io.dropwizard.metrics:metrics-core:3.1.2
|
||||
io.github.classgraph:classgraph:4.8.104
|
||||
io.github.java-diff-utils:java-diff-utils:4.11
|
||||
io.grpc:grpc-alts:1.46.0
|
||||
io.grpc:grpc-api:1.46.0
|
||||
io.grpc:grpc-auth:1.46.0
|
||||
io.grpc:grpc-census:1.44.0
|
||||
io.grpc:grpc-context:1.46.0
|
||||
io.grpc:grpc-core:1.46.0
|
||||
io.grpc:grpc-googleapis:1.46.0
|
||||
io.grpc:grpc-grpclb:1.46.0
|
||||
io.grpc:grpc-netty-shaded:1.46.0
|
||||
io.grpc:grpc-netty:1.44.0
|
||||
io.grpc:grpc-protobuf-lite:1.46.0
|
||||
io.grpc:grpc-protobuf:1.46.0
|
||||
io.grpc:grpc-services:1.46.0
|
||||
io.grpc:grpc-stub:1.46.0
|
||||
io.grpc:grpc-xds:1.46.0
|
||||
io.netty:netty-buffer:4.1.72.Final
|
||||
io.netty:netty-codec-http2:4.1.72.Final
|
||||
io.netty:netty-codec-http:4.1.72.Final
|
||||
io.netty:netty-codec-socks:4.1.72.Final
|
||||
io.netty:netty-codec:4.1.72.Final
|
||||
io.netty:netty-common:4.1.72.Final
|
||||
io.netty:netty-handler-proxy:4.1.72.Final
|
||||
io.netty:netty-handler:4.1.72.Final
|
||||
io.netty:netty-resolver:4.1.72.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.46.Final
|
||||
io.netty:netty-tcnative-classes:2.0.46.Final
|
||||
io.netty:netty-transport:4.1.72.Final
|
||||
io.opencensus:opencensus-api:0.31.1
|
||||
io.opencensus:opencensus-contrib-exemplar-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-metrics:0.31.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.31.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.31.1
|
||||
io.opencensus:opencensus-contrib-resource-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-metrics-util:0.31.0
|
||||
io.opencensus:opencensus-exporter-stats-stackdriver:0.31.0
|
||||
io.opencensus:opencensus-impl-core:0.31.0
|
||||
io.opencensus:opencensus-impl:0.31.0
|
||||
io.opencensus:opencensus-proto:0.2.0
|
||||
io.perfmark:perfmark-api:0.25.0
|
||||
it.unimi.dsi:fastutil:6.5.16
|
||||
javax.activation:activation:1.1
|
||||
javax.activation:javax.activation-api:1.2.0
|
||||
javax.annotation:javax.annotation-api:1.3.2
|
||||
javax.annotation:jsr250-api:1.0
|
||||
javax.inject:javax.inject:1
|
||||
javax.jdo:jdo2-api:2.3-eb
|
||||
javax.mail:mail:1.4
|
||||
javax.jdo:jdo2-api:2.3-20090302111651
|
||||
javax.mail:mail:1.5.0-b01
|
||||
javax.persistence:javax.persistence-api:2.2
|
||||
javax.servlet:servlet-api:2.5
|
||||
javax.transaction:transaction-api:1.1
|
||||
javax.validation:validation-api:1.0.0.GA
|
||||
javax.xml.bind:jaxb-api:2.3.1
|
||||
jline:jline:1.0
|
||||
joda-time:joda-time:2.10.5
|
||||
joda-time:joda-time:2.10.10
|
||||
junit:junit:4.13.2
|
||||
net.arnx:nashorn-promise:0.1.1
|
||||
net.bytebuddy:byte-buddy-agent:1.10.19
|
||||
net.bytebuddy:byte-buddy:1.10.19
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
net.bytebuddy:byte-buddy-agent:1.12.10
|
||||
net.bytebuddy:byte-buddy:1.12.10
|
||||
net.java.dev.jna:jna:5.8.0
|
||||
org.apache.arrow:arrow-format:5.0.0
|
||||
org.apache.arrow:arrow-memory-core:5.0.0
|
||||
org.apache.arrow:arrow-vector:5.0.0
|
||||
org.apache.avro:avro:1.8.2
|
||||
org.apache.beam:beam-model-fn-execution:2.28.0
|
||||
org.apache.beam:beam-model-job-management:2.28.0
|
||||
org.apache.beam:beam-model-pipeline:2.28.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.28.0
|
||||
org.apache.beam:beam-runners-core-java:2.28.0
|
||||
org.apache.beam:beam-runners-direct-java:2.28.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.28.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.28.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.28.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.28.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_10_8:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_26_0:0.3
|
||||
org.apache.beam:beam-model-fn-execution:2.39.0
|
||||
org.apache.beam:beam-model-job-management:2.39.0
|
||||
org.apache.beam:beam-model-pipeline:2.39.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.39.0
|
||||
org.apache.beam:beam-runners-core-java:2.39.0
|
||||
org.apache.beam:beam-runners-direct-java:2.39.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.39.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.39.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.39.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.39.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.39.0
|
||||
org.apache.beam:beam-vendor-bytebuddy-1_11_0:0.1
|
||||
org.apache.beam:beam-vendor-grpc-1_43_2:0.1
|
||||
org.apache.beam:beam-vendor-guava-26_0-jre:0.1
|
||||
org.apache.beam:beam-vendor-sdks-java-extensions-protobuf:2.28.0
|
||||
org.apache.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-compress:1.21
|
||||
org.apache.commons:commons-exec:1.3
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
org.apache.commons:commons-text:1.6
|
||||
org.apache.ftpserver:ftplet-api:1.0.6
|
||||
org.apache.ftpserver:ftpserver-core:1.0.6
|
||||
org.apache.commons:commons-lang3:3.11
|
||||
org.apache.commons:commons-text:1.9
|
||||
org.apache.ftpserver:ftplet-api:1.2.0
|
||||
org.apache.ftpserver:ftpserver-core:1.2.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
org.apache.httpcomponents:httpcore:4.4.14
|
||||
org.apache.logging.log4j:log4j-api:2.13.3
|
||||
org.apache.logging.log4j:log4j-core:2.13.3
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
org.apache.httpcomponents:httpcore:4.4.15
|
||||
org.apache.mina:mina-core:2.1.6
|
||||
org.apache.sshd:sshd-core:2.0.0
|
||||
org.apache.sshd:sshd-scp:2.0.0
|
||||
org.apache.sshd:sshd-sftp:2.0.0
|
||||
org.apache.tomcat:tomcat-annotations-api:8.0.5
|
||||
org.apiguardian:apiguardian-api:1.1.0
|
||||
org.bouncycastle:bcpg-jdk15on:1.61
|
||||
org.bouncycastle:bcpkix-jdk15on:1.61
|
||||
org.bouncycastle:bcprov-jdk15on:1.61
|
||||
org.apache.tomcat:tomcat-annotations-api:10.1.0-M16
|
||||
org.bouncycastle:bcpg-jdk15on:1.67
|
||||
org.bouncycastle:bcpkix-jdk15on:1.67
|
||||
org.bouncycastle:bcprov-jdk15on:1.67
|
||||
org.checkerframework:checker-compat-qual:2.5.5
|
||||
org.checkerframework:checker-qual:3.9.1
|
||||
org.checkerframework:checker-qual:3.22.0
|
||||
org.codehaus.jackson:jackson-core-asl:1.9.13
|
||||
org.codehaus.jackson:jackson-mapper-asl:1.9.13
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.20
|
||||
org.codehaus.mojo:animal-sniffer-annotations:1.21
|
||||
org.conscrypt:conscrypt-openjdk-uber:2.5.1
|
||||
org.dom4j:dom4j:2.1.3
|
||||
org.easymock:easymock:3.0
|
||||
org.flywaydb:flyway-core:5.2.4
|
||||
org.flywaydb:flyway-core:8.5.12
|
||||
org.glassfish.jaxb:jaxb-runtime:2.3.1
|
||||
org.glassfish.jaxb:txw2:2.3.1
|
||||
org.hamcrest:hamcrest-core:2.2
|
||||
org.hamcrest:hamcrest-library:2.2
|
||||
org.hamcrest:hamcrest:2.2
|
||||
org.hibernate.common:hibernate-commons-annotations:5.1.2.Final
|
||||
org.hibernate:hibernate-core:5.4.23.Final
|
||||
org.hibernate:hibernate-hikaricp:5.4.23.Final
|
||||
org.javassist:javassist:3.24.0-GA
|
||||
org.jboss.logging:jboss-logging:3.4.1.Final
|
||||
org.hibernate:hibernate-core:5.6.9.Final
|
||||
org.hibernate:hibernate-hikaricp:5.6.9.Final
|
||||
org.jboss.logging:jboss-logging:3.4.3.Final
|
||||
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final
|
||||
org.jboss:jandex:2.1.3.Final
|
||||
org.jboss:jandex:2.4.2.Final
|
||||
org.jetbrains:annotations:17.0.0
|
||||
org.joda:joda-money:1.0.1
|
||||
org.json:json:20200518
|
||||
org.jsoup:jsoup:1.13.1
|
||||
org.junit-pioneer:junit-pioneer:0.7.0
|
||||
org.junit.jupiter:junit-jupiter-api:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-engine:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.7.0
|
||||
org.junit.jupiter:junit-jupiter-params:5.7.0
|
||||
org.junit.platform:junit-platform-commons:1.7.0
|
||||
org.junit.platform:junit-platform-engine:1.7.0
|
||||
org.junit.platform:junit-platform-launcher:1.7.0
|
||||
org.junit.platform:junit-platform-runner:1.7.0
|
||||
org.junit.platform:junit-platform-suite-api:1.7.0
|
||||
org.junit:junit-bom:5.7.0
|
||||
org.jsoup:jsoup:1.15.1
|
||||
org.junit-pioneer:junit-pioneer:1.7.1
|
||||
org.junit.jupiter:junit-jupiter-api:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-engine:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-migrationsupport:5.9.0-M1
|
||||
org.junit.jupiter:junit-jupiter-params:5.9.0-M1
|
||||
org.junit.platform:junit-platform-commons:1.9.0-M1
|
||||
org.junit.platform:junit-platform-engine:1.9.0-M1
|
||||
org.junit.platform:junit-platform-launcher:1.9.0-M1
|
||||
org.junit.platform:junit-platform-runner:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-api:1.9.0-M1
|
||||
org.junit.platform:junit-platform-suite-commons:1.9.0-M1
|
||||
org.junit:junit-bom:5.9.0-M1
|
||||
org.jvnet.staxex:stax-ex:1.8
|
||||
org.mockito:mockito-core:3.7.7
|
||||
org.mockito:mockito-junit-jupiter:3.7.7
|
||||
org.mockito:mockito-core:4.6.1
|
||||
org.mockito:mockito-junit-jupiter:4.6.1
|
||||
org.mortbay.jetty:jetty-util:6.1.26
|
||||
org.mortbay.jetty:jetty:6.1.26
|
||||
org.objenesis:objenesis:3.1
|
||||
org.objenesis:objenesis:3.2
|
||||
org.opentest4j:opentest4j:1.2.0
|
||||
org.ow2.asm:asm-analysis:9.1
|
||||
org.ow2.asm:asm-commons:9.0
|
||||
org.ow2.asm:asm-tree:9.1
|
||||
org.ow2.asm:asm-util:9.1
|
||||
org.ow2.asm:asm:9.1
|
||||
org.postgresql:postgresql:42.2.18
|
||||
org.ow2.asm:asm-analysis:9.3
|
||||
org.ow2.asm:asm-commons:9.2
|
||||
org.ow2.asm:asm-tree:9.3
|
||||
org.ow2.asm:asm-util:9.3
|
||||
org.ow2.asm:asm:9.3
|
||||
org.postgresql:postgresql:42.4.0
|
||||
org.rnorth.duct-tape:duct-tape:1.0.8
|
||||
org.rnorth.visible-assertions:visible-assertions:2.1.2
|
||||
org.seleniumhq.selenium:selenium-api:3.141.59
|
||||
org.seleniumhq.selenium:selenium-chrome-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-edge-driver:3.141.59
|
||||
@@ -319,20 +348,23 @@ org.seleniumhq.selenium:selenium-safari-driver:3.141.59
|
||||
org.seleniumhq.selenium:selenium-support:3.141.59
|
||||
org.slf4j:jcl-over-slf4j:1.7.30
|
||||
org.slf4j:jul-to-slf4j:1.7.30
|
||||
org.slf4j:slf4j-api:1.7.30
|
||||
org.slf4j:slf4j-jdk14:1.7.28
|
||||
org.testcontainers:database-commons:1.15.2
|
||||
org.testcontainers:jdbc:1.15.2
|
||||
org.testcontainers:junit-jupiter:1.15.2
|
||||
org.testcontainers:postgresql:1.15.2
|
||||
org.testcontainers:selenium:1.15.2
|
||||
org.testcontainers:testcontainers:1.15.2
|
||||
org.threeten:threetenbp:1.5.1
|
||||
org.slf4j:slf4j-api:2.0.0-alpha7
|
||||
org.slf4j:slf4j-jdk14:2.0.0-alpha7
|
||||
org.springframework:spring-core:5.3.18
|
||||
org.springframework:spring-expression:5.3.18
|
||||
org.springframework:spring-jcl:5.3.18
|
||||
org.testcontainers:database-commons:1.17.2
|
||||
org.testcontainers:jdbc:1.17.2
|
||||
org.testcontainers:junit-jupiter:1.17.2
|
||||
org.testcontainers:postgresql:1.17.2
|
||||
org.testcontainers:selenium:1.17.2
|
||||
org.testcontainers:testcontainers:1.17.2
|
||||
org.threeten:threetenbp:1.6.0
|
||||
org.tukaani:xz:1.5
|
||||
org.w3c.css:sac:1.3
|
||||
org.webjars.npm:viz.js-for-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.4
|
||||
org.yaml:snakeyaml:1.17
|
||||
org.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.30
|
||||
us.fatehi:schemacrawler-api:16.10.1
|
||||
us.fatehi:schemacrawler-diagram:16.10.1
|
||||
us.fatehi:schemacrawler-tools:16.10.1
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.google.common.collect.AbstractIterator;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.storage.onestore.v3.OnestoreEntity.EntityProto;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -28,6 +29,7 @@ import java.io.OutputStream;
|
||||
import java.util.Iterator;
|
||||
|
||||
/** Utilities for working with backups. */
|
||||
@DeleteAfterMigration
|
||||
public class BackupUtils {
|
||||
|
||||
/** Keys for user metadata fields on commit log files in GCS. */
|
||||
@@ -45,7 +47,7 @@ public class BackupUtils {
|
||||
* OutputStream} in delimited protocol buffer format.
|
||||
*/
|
||||
static void serializeEntity(ImmutableObject entity, OutputStream stream) throws IOException {
|
||||
EntityTranslator.convertToPb(auditedOfy().saveIgnoringReadOnly().toEntity(entity))
|
||||
EntityTranslator.convertToPb(auditedOfy().saveIgnoringReadOnlyWithoutBackup().toEntity(entity))
|
||||
.writeDelimitedTo(stream);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,20 +17,22 @@ package google.registry.backup;
|
||||
import static google.registry.backup.ExportCommitLogDiffAction.LOWER_CHECKPOINT_TIME_PARAM;
|
||||
import static google.registry.backup.ExportCommitLogDiffAction.UPPER_CHECKPOINT_TIME_PARAM;
|
||||
import static google.registry.model.ofy.ObjectifyService.auditedOfy;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.ofyTm;
|
||||
import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
||||
|
||||
import com.google.common.collect.ImmutableMultimap;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogCheckpoint;
|
||||
import google.registry.model.ofy.CommitLogCheckpointRoot;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Action.Service;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Clock;
|
||||
import google.registry.util.CloudTasksUtils;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Inject;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
/**
|
||||
* Action that saves commit log checkpoints to Datastore and kicks off a diff export task.
|
||||
@@ -48,13 +50,29 @@ import org.joda.time.DateTime;
|
||||
method = Action.Method.GET,
|
||||
automaticallyPrintOk = true,
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
@DeleteAfterMigration
|
||||
public final class CommitLogCheckpointAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
private static final String QUEUE_NAME = "export-commits";
|
||||
|
||||
@Inject Clock clock;
|
||||
/**
|
||||
* The amount of time enqueueing should be delayed.
|
||||
*
|
||||
* <p>The {@link ExportCommitLogDiffAction} is enqueued in {@link CommitLogCheckpointAction},
|
||||
* which is inside a Datastore transaction that persists the checkpoint to be exported. After the
|
||||
* switch to CloudTasks API, the task may be invoked before the Datastore transaction commits.
|
||||
* When this happens, the checkpoint is not found which leads to {@link
|
||||
* com.google.common.base.VerifyException}.
|
||||
*
|
||||
* <p>In order to invoke the task after the transaction commits, a reasonable delay should be
|
||||
* added to each task. The latency of the request is mostly in the range of 4-6 seconds; Choosing
|
||||
* a value 30% greater than the upper bound should solve the issue invoking a task before the
|
||||
* transaction commits.
|
||||
*/
|
||||
static final Duration ENQUEUE_DELAY_SECONDS = Duration.standardSeconds(8);
|
||||
|
||||
@Inject CommitLogCheckpointStrategy strategy;
|
||||
@Inject CloudTasksUtils cloudTasksUtils;
|
||||
|
||||
@@ -62,32 +80,48 @@ public final class CommitLogCheckpointAction implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
createCheckPointAndStartAsyncExport();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link CommitLogCheckpoint} and initiates an asynchronous export task.
|
||||
*
|
||||
* @return the {@code CommitLogCheckpoint} to be exported
|
||||
*/
|
||||
public Optional<CommitLogCheckpoint> createCheckPointAndStartAsyncExport() {
|
||||
final CommitLogCheckpoint checkpoint = strategy.computeCheckpoint();
|
||||
logger.atInfo().log(
|
||||
"Generated candidate checkpoint for time: %s", checkpoint.getCheckpointTime());
|
||||
tm().transact(
|
||||
() -> {
|
||||
DateTime lastWrittenTime = CommitLogCheckpointRoot.loadRoot().getLastWrittenTime();
|
||||
if (isBeforeOrAt(checkpoint.getCheckpointTime(), lastWrittenTime)) {
|
||||
logger.atInfo().log(
|
||||
"Newer checkpoint already written at time: %s", lastWrittenTime);
|
||||
return;
|
||||
}
|
||||
auditedOfy()
|
||||
.saveIgnoringReadOnly()
|
||||
.entities(
|
||||
checkpoint, CommitLogCheckpointRoot.create(checkpoint.getCheckpointTime()));
|
||||
// Enqueue a diff task between previous and current checkpoints.
|
||||
cloudTasksUtils.enqueue(
|
||||
QUEUE_NAME,
|
||||
CloudTasksUtils.createPostTask(
|
||||
ExportCommitLogDiffAction.PATH,
|
||||
Service.BACKEND.toString(),
|
||||
ImmutableMultimap.of(
|
||||
LOWER_CHECKPOINT_TIME_PARAM,
|
||||
lastWrittenTime.toString(),
|
||||
UPPER_CHECKPOINT_TIME_PARAM,
|
||||
checkpoint.getCheckpointTime().toString())));
|
||||
});
|
||||
boolean isCheckPointPersisted =
|
||||
ofyTm()
|
||||
.transact(
|
||||
() -> {
|
||||
DateTime lastWrittenTime =
|
||||
CommitLogCheckpointRoot.loadRoot().getLastWrittenTime();
|
||||
if (isBeforeOrAt(checkpoint.getCheckpointTime(), lastWrittenTime)) {
|
||||
logger.atInfo().log(
|
||||
"Newer checkpoint already written at time: %s", lastWrittenTime);
|
||||
return false;
|
||||
}
|
||||
auditedOfy()
|
||||
.saveIgnoringReadOnlyWithoutBackup()
|
||||
.entities(
|
||||
checkpoint,
|
||||
CommitLogCheckpointRoot.create(checkpoint.getCheckpointTime()));
|
||||
// Enqueue a diff task between previous and current checkpoints.
|
||||
cloudTasksUtils.enqueue(
|
||||
QUEUE_NAME,
|
||||
cloudTasksUtils.createPostTaskWithDelay(
|
||||
ExportCommitLogDiffAction.PATH,
|
||||
Service.BACKEND.toString(),
|
||||
ImmutableMultimap.of(
|
||||
LOWER_CHECKPOINT_TIME_PARAM,
|
||||
lastWrittenTime.toString(),
|
||||
UPPER_CHECKPOINT_TIME_PARAM,
|
||||
checkpoint.getCheckpointTime().toString()),
|
||||
ENQUEUE_DELAY_SECONDS));
|
||||
return true;
|
||||
});
|
||||
return isCheckPointPersisted ? Optional.of(checkpoint) : Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import static google.registry.util.DateTimeUtils.earliestOf;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogBucket;
|
||||
import google.registry.model.ofy.CommitLogCheckpoint;
|
||||
import google.registry.model.ofy.CommitLogManifest;
|
||||
@@ -36,14 +37,14 @@ import org.joda.time.DateTime;
|
||||
/**
|
||||
* Implementation of the procedure for determining point-in-time consistent commit log checkpoint.
|
||||
*
|
||||
* <p>This algorithm examines the recently written commit log data and uses a dual-read approach
|
||||
* to determine a point-in-time consistent set of checkpoint times for the commit log buckets. By
|
||||
* <p>This algorithm examines the recently written commit log data and uses a dual-read approach to
|
||||
* determine a point-in-time consistent set of checkpoint times for the commit log buckets. By
|
||||
* "consistent" we mean, generally speaking, that if the Datastore were restored by replaying all
|
||||
* the commit logs up to the checkpoint times of the buckets, the result would be transactionally
|
||||
* correct; there must be no "holes" where restored state depends on non-restored state.
|
||||
*
|
||||
* <p>The consistency guarantee really has two parts, only one of which is provided by this
|
||||
* algorithm. The procedure below guarantees only that if the resulting checkpoint includes any
|
||||
* algorithm. The procedure below guarantees only that if the resulting checkpoint includes any
|
||||
* given commit log, it will also include all the commit logs that were both 1) actually written
|
||||
* before that commit log "in real life", and 2) have an earlier timestamp than that commit log.
|
||||
* (These criteria do not necessarily imply each other, due to the lack of a global shared clock.)
|
||||
@@ -51,8 +52,8 @@ import org.joda.time.DateTime;
|
||||
* that depends on state from a previous transaction does indeed have a later timestamp.
|
||||
*
|
||||
* <h2>Procedure description</h2>
|
||||
* <pre>
|
||||
* {@code
|
||||
*
|
||||
* <pre>{@code
|
||||
* ComputeCheckpoint() -> returns a set consisting of a timestamp c(b_i) for every bucket b_i
|
||||
*
|
||||
* 1) read off the latest commit timestamp t(b_i) for every bucket b_i
|
||||
@@ -63,35 +64,29 @@ import org.joda.time.DateTime;
|
||||
* a) if S is empty, let T* = +∞ (or the "end of time")
|
||||
* b) else, let T* = T - Δ, for T = min(S) and some small Δ > 0
|
||||
* 4) return the set given by: min(t(b_i), T*) for all b_i
|
||||
* }
|
||||
* </pre>
|
||||
* }</pre>
|
||||
*
|
||||
* <h2>Correctness proof of algorithm</h2>
|
||||
*
|
||||
* <p>{@literal
|
||||
* As described above, the algorithm is correct as long as it can ensure the following: given a
|
||||
* commit log X written at time t(X) to bucket b_x, and another commit log Y that was written "in
|
||||
* real life" before X and for which t(Y) < t(X), then if X is included in the checkpoint, so is Y;
|
||||
* that is, t(X) <= c(b_x) implies t(Y) <= c(b_y).
|
||||
* }
|
||||
* <p>{@literal As described above, the algorithm is correct as long as it can ensure the following:
|
||||
* given a commit log X written at time t(X) to bucket b_x, and another commit log Y that was
|
||||
* written "in real life" before X and for which t(Y) < t(X), then if X is included in the
|
||||
* checkpoint, so is Y; that is, t(X) <= c(b_x) implies t(Y) <= c(b_y). }
|
||||
*
|
||||
* <p>{@literal
|
||||
* To prove this, first note that we always have c(b_i) <= t(b_i) for every b_i, i.e. every commit
|
||||
* log included in the checkpoint must have been seen in the first pass. Hence if X was included,
|
||||
* then X must have been written by the time we started the second pass. But since Y was written
|
||||
* "in real life" prior to X, we must have seen Y by the second pass too.
|
||||
* }
|
||||
* <p>{@literal To prove this, first note that we always have c(b_i) <= t(b_i) for every b_i, i.e.
|
||||
* every commit log included in the checkpoint must have been seen in the first pass. Hence if X was
|
||||
* included, then X must have been written by the time we started the second pass. But since Y was
|
||||
* written "in real life" prior to X, we must have seen Y by the second pass too. }
|
||||
*
|
||||
* <p>{@literal
|
||||
* Now assume towards a contradiction that X is indeed included but Y is not, i.e. that we have
|
||||
* t(X) <= c(b_x) but t(Y) > c(b_y). If Y was seen in the first pass, i.e. t(Y) <= t(b_y), then by
|
||||
* our assumption c(b_y) < t(Y) <= t(b_y), and therefore c(b_y) != t(b_y). By the definition of
|
||||
* c(b_y) it must then equal T*, so we have T* < t(Y). However, this is a contradiction since
|
||||
* t(Y) < t(X) and t(X) <= c(b_x) <= T*. If instead Y was seen in the second pass but not the
|
||||
* first, t'(b_y) exists and we must have t'(b_y) <= t(Y), but then since T* < T <= t'(b_y) by
|
||||
* definition, we again reach the contradiction T* < t(Y).
|
||||
* }
|
||||
* <p>{@literal Now assume towards a contradiction that X is indeed included but Y is not, i.e. that
|
||||
* we have t(X) <= c(b_x) but t(Y) > c(b_y). If Y was seen in the first pass, i.e. t(Y) <= t(b_y),
|
||||
* then by our assumption c(b_y) < t(Y) <= t(b_y), and therefore c(b_y) != t(b_y). By the definition
|
||||
* of c(b_y) it must then equal T*, so we have T* < t(Y). However, this is a contradiction since
|
||||
* t(Y) < t(X) and t(X) <= c(b_x) <= T*. If instead Y was seen in the second pass but not the first,
|
||||
* t'(b_y) exists and we must have t'(b_y) <= t(Y), but then since T* < T <= t'(b_y) by definition,
|
||||
* we again reach the contradiction T* < t(Y). }
|
||||
*/
|
||||
@DeleteAfterMigration
|
||||
class CommitLogCheckpointStrategy {
|
||||
|
||||
@Inject Ofy ofy;
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.backup;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static google.registry.backup.BackupUtils.createDeserializingIterator;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.ofy.CommitLogCheckpoint;
|
||||
import google.registry.model.ofy.CommitLogManifest;
|
||||
import google.registry.model.ofy.CommitLogMutation;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.ReadableByteChannel;
|
||||
import java.util.Iterator;
|
||||
|
||||
/**
|
||||
* Helpers for reading CommitLog records from a file.
|
||||
*
|
||||
* <p>This class is adapted from {@link RestoreCommitLogsAction}, and will be used in the initial
|
||||
* population of the Cloud SQL database.
|
||||
*/
|
||||
public final class CommitLogImports {
|
||||
|
||||
private CommitLogImports() {}
|
||||
|
||||
/**
|
||||
* Returns entities in an {@code inputStream} (from a single CommitLog file) as an {@link
|
||||
* ImmutableList} of {@link ImmutableList}s of {@link VersionedEntity} records where the inner
|
||||
* lists each consist of one transaction. Upon completion the {@code inputStream} is closed.
|
||||
*
|
||||
* <p>The returned list may be empty, since CommitLogs are written at fixed intervals regardless
|
||||
* if actual changes exist. Each sublist, however, will not be empty.
|
||||
*
|
||||
* <p>A CommitLog file starts with a {@link CommitLogCheckpoint}, followed by (repeated)
|
||||
* subsequences of [{@link CommitLogManifest}, [{@link CommitLogMutation}] ...]. Each subsequence
|
||||
* represents the changes in one transaction. The {@code CommitLogManifest} contains deleted
|
||||
* entity keys, whereas each {@code CommitLogMutation} contains one whole entity.
|
||||
*/
|
||||
static ImmutableList<ImmutableList<VersionedEntity>> loadEntitiesByTransaction(
|
||||
InputStream inputStream) {
|
||||
try (InputStream input = new BufferedInputStream(inputStream)) {
|
||||
Iterator<ImmutableObject> commitLogs = createDeserializingIterator(input, false);
|
||||
checkState(commitLogs.hasNext());
|
||||
checkState(commitLogs.next() instanceof CommitLogCheckpoint);
|
||||
|
||||
ImmutableList.Builder<ImmutableList<VersionedEntity>> resultBuilder =
|
||||
new ImmutableList.Builder<>();
|
||||
ImmutableList.Builder<VersionedEntity> currentTransactionBuilder =
|
||||
new ImmutableList.Builder<>();
|
||||
|
||||
while (commitLogs.hasNext()) {
|
||||
ImmutableObject currentObject = commitLogs.next();
|
||||
if (currentObject instanceof CommitLogManifest) {
|
||||
// CommitLogManifest means we are starting a new transaction
|
||||
addIfNonempty(resultBuilder, currentTransactionBuilder);
|
||||
currentTransactionBuilder = new ImmutableList.Builder<>();
|
||||
VersionedEntity.fromManifest((CommitLogManifest) currentObject)
|
||||
.forEach(currentTransactionBuilder::add);
|
||||
} else if (currentObject instanceof CommitLogMutation) {
|
||||
currentTransactionBuilder.add(
|
||||
VersionedEntity.fromMutation((CommitLogMutation) currentObject));
|
||||
} else {
|
||||
throw new IllegalStateException(
|
||||
String.format("Unknown entity type %s in commit logs", currentObject.getClass()));
|
||||
}
|
||||
}
|
||||
// Add the last transaction in (if it's not empty)
|
||||
addIfNonempty(resultBuilder, currentTransactionBuilder);
|
||||
return resultBuilder.build();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns entities in an {@code inputStream} (from a single CommitLog file) as an {@link
|
||||
* ImmutableList} of {@link VersionedEntity} records. Upon completion the {@code inputStream} is
|
||||
* closed.
|
||||
*
|
||||
* <p>The returned list may be empty, since CommitLogs are written at fixed intervals regardless
|
||||
* if actual changes exist.
|
||||
*
|
||||
* <p>A CommitLog file starts with a {@link CommitLogCheckpoint}, followed by (repeated)
|
||||
* subsequences of [{@link CommitLogManifest}, [{@link CommitLogMutation}] ...]. Each subsequence
|
||||
* represents the changes in one transaction. The {@code CommitLogManifest} contains deleted
|
||||
* entity keys, whereas each {@code CommitLogMutation} contains one whole entity.
|
||||
*/
|
||||
static ImmutableList<VersionedEntity> loadEntities(InputStream inputStream) {
|
||||
return loadEntitiesByTransaction(inputStream).stream()
|
||||
.flatMap(ImmutableList::stream)
|
||||
.collect(toImmutableList());
|
||||
}
|
||||
|
||||
/** Covenience method that adapts {@link #loadEntities(InputStream)} to a {@link File}. */
|
||||
public static ImmutableList<VersionedEntity> loadEntities(File commitLogFile) {
|
||||
try {
|
||||
return loadEntities(new FileInputStream(commitLogFile));
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Covenience method that adapts {@link #loadEntities(InputStream)} to a {@link
|
||||
* ReadableByteChannel}.
|
||||
*/
|
||||
public static ImmutableList<VersionedEntity> loadEntities(ReadableByteChannel channel) {
|
||||
return loadEntities(Channels.newInputStream(channel));
|
||||
}
|
||||
|
||||
private static void addIfNonempty(
|
||||
ImmutableList.Builder<ImmutableList<VersionedEntity>> resultBuilder,
|
||||
ImmutableList.Builder<VersionedEntity> currentTransactionBuilder) {
|
||||
ImmutableList<VersionedEntity> currentTransaction = currentTransactionBuilder.build();
|
||||
if (!currentTransaction.isEmpty()) {
|
||||
resultBuilder.add(currentTransaction);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static google.registry.mapreduce.MapreduceRunner.PARAM_DRY_RUN;
|
||||
import static google.registry.model.ofy.ObjectifyService.auditedOfy;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.ofyTm;
|
||||
import static java.lang.Boolean.FALSE;
|
||||
import static java.lang.Boolean.TRUE;
|
||||
|
||||
@@ -35,6 +35,7 @@ import google.registry.mapreduce.MapreduceRunner;
|
||||
import google.registry.mapreduce.inputs.CommitLogManifestInput;
|
||||
import google.registry.mapreduce.inputs.EppResourceInputs;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogManifest;
|
||||
import google.registry.model.ofy.CommitLogMutation;
|
||||
import google.registry.model.translators.CommitLogRevisionsTranslatorFactory;
|
||||
@@ -68,6 +69,7 @@ import org.joda.time.Duration;
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
// No longer needed in SQL. Subject to future removal.
|
||||
@Deprecated
|
||||
@DeleteAfterMigration
|
||||
public final class DeleteOldCommitLogsAction implements Runnable {
|
||||
|
||||
private static final int NUM_MAP_SHARDS = 20;
|
||||
@@ -286,7 +288,8 @@ public final class DeleteOldCommitLogsAction implements Runnable {
|
||||
}
|
||||
|
||||
DeletionResult deletionResult =
|
||||
tm().transactNew(
|
||||
ofyTm()
|
||||
.transactNew(
|
||||
() -> {
|
||||
CommitLogManifest manifest = auditedOfy().load().key(manifestKey).now();
|
||||
// It is possible that the same manifestKey was run twice, if a shard had to be
|
||||
|
||||
@@ -20,10 +20,11 @@ import com.google.storage.onestore.v3.OnestoreEntity.EntityProto;
|
||||
import com.google.storage.onestore.v3.OnestoreEntity.Path;
|
||||
import com.google.storage.onestore.v3.OnestoreEntity.Property.Meaning;
|
||||
import com.google.storage.onestore.v3.OnestoreEntity.PropertyValue.ReferenceValue;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.util.Objects;
|
||||
|
||||
/** Utilities for handling imported Datastore entities. */
|
||||
@DeleteAfterMigration
|
||||
public class EntityImports {
|
||||
|
||||
/**
|
||||
@@ -66,9 +67,7 @@ public class EntityImports {
|
||||
if (path.elementSize() == 0) {
|
||||
return false;
|
||||
}
|
||||
return Objects.equals(
|
||||
path.getElement(path.elementSize() - 1).getType(StandardCharsets.UTF_8),
|
||||
"CommitLogMutation");
|
||||
return Objects.equals(path.getElement(path.elementSize() - 1).getType(), "CommitLogMutation");
|
||||
}
|
||||
|
||||
private static void fixMutationEntityProtoBytes(EntityProto entityProto, String appId) {
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.googlecode.objectify.Key;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.gcs.GcsUtils;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogBucket;
|
||||
import google.registry.model.ofy.CommitLogCheckpoint;
|
||||
import google.registry.model.ofy.CommitLogManifest;
|
||||
@@ -63,6 +64,7 @@ import org.joda.time.DateTime;
|
||||
method = Action.Method.POST,
|
||||
automaticallyPrintOk = true,
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
@DeleteAfterMigration
|
||||
public final class ExportCommitLogDiffAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.google.common.util.concurrent.ListeningExecutorService;
|
||||
import com.google.common.util.concurrent.UncheckedExecutionException;
|
||||
import google.registry.backup.BackupModule.Backups;
|
||||
import google.registry.gcs.GcsUtils;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.io.IOException;
|
||||
import java.time.Duration;
|
||||
import java.util.Map;
|
||||
@@ -44,6 +45,7 @@ import javax.inject.Provider;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/** Utility class to list commit logs diff files stored on GCS. */
|
||||
@DeleteAfterMigration
|
||||
class GcsDiffFileLister {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
@@ -91,7 +93,7 @@ class GcsDiffFileLister {
|
||||
|
||||
// If we hit a gap, quit.
|
||||
if (blobInfo == null) {
|
||||
logger.atInfo().log(
|
||||
logger.atWarning().log(
|
||||
"Gap discovered in sequence terminating at %s, missing file: %s",
|
||||
sequence.lastKey(), filename);
|
||||
logger.atInfo().log("Found sequence from %s to %s.", checkpointTime, lastTime);
|
||||
@@ -167,6 +169,10 @@ class GcsDiffFileLister {
|
||||
break;
|
||||
}
|
||||
if (!sequence.containsKey(key)) {
|
||||
// Recalculate the sequence for purely informational purposes.
|
||||
logger.atWarning().log(
|
||||
"Fork found in commit log history. The following sequence "
|
||||
+ "is disconnected from the sequence of the final commit:");
|
||||
constructDiffSequence(gcsBucket, upperBoundTimesToBlobInfo, fromTime, key, sequence);
|
||||
checkForMoreExtraDiffs = true;
|
||||
inconsistentFileSet = true;
|
||||
|
||||
@@ -1,312 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.backup;
|
||||
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static google.registry.backup.ExportCommitLogDiffAction.DIFF_FILE_PREFIX;
|
||||
import static google.registry.backup.RestoreCommitLogsAction.DRY_RUN_PARAM;
|
||||
import static google.registry.model.ofy.EntityWritePriorities.getEntityPriority;
|
||||
import static google.registry.model.ofy.ObjectifyService.auditedOfy;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
import static google.registry.util.DateTimeUtils.isAtOrAfter;
|
||||
import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_NO_CONTENT;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_OK;
|
||||
import static org.joda.time.Duration.standardHours;
|
||||
|
||||
import com.google.appengine.api.datastore.Entity;
|
||||
import com.google.appengine.api.datastore.Key;
|
||||
import com.google.cloud.storage.BlobInfo;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.gcs.GcsUtils;
|
||||
import google.registry.model.UpdateAutoTimestamp;
|
||||
import google.registry.model.common.DatabaseMigrationStateSchedule;
|
||||
import google.registry.model.common.DatabaseMigrationStateSchedule.MigrationState;
|
||||
import google.registry.model.common.DatabaseMigrationStateSchedule.ReplayDirection;
|
||||
import google.registry.model.replay.DatastoreEntity;
|
||||
import google.registry.model.replay.DatastoreOnlyEntity;
|
||||
import google.registry.model.replay.NonReplicatedEntity;
|
||||
import google.registry.model.replay.ReplaySpecializer;
|
||||
import google.registry.model.replay.SqlReplayCheckpoint;
|
||||
import google.registry.model.server.Lock;
|
||||
import google.registry.model.translators.VKeyTranslatorFactory;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Action.Method;
|
||||
import google.registry.request.Parameter;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Clock;
|
||||
import google.registry.util.RequestStatusChecker;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Inject;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
import org.joda.time.Seconds;
|
||||
|
||||
/** Action that replays commit logs to Cloud SQL to keep it up to date. */
|
||||
@Action(
|
||||
service = Action.Service.BACKEND,
|
||||
path = ReplayCommitLogsToSqlAction.PATH,
|
||||
method = Method.POST,
|
||||
automaticallyPrintOk = true,
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
public class ReplayCommitLogsToSqlAction implements Runnable {
|
||||
|
||||
static final String PATH = "/_dr/task/replayCommitLogsToSql";
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
private static final Duration LEASE_LENGTH = standardHours(1);
|
||||
// Stop / pause where we are if we've been replaying for more than five minutes to avoid GAE
|
||||
// request timeouts
|
||||
private static final Duration REPLAY_TIMEOUT_DURATION = Duration.standardMinutes(5);
|
||||
|
||||
@Inject GcsUtils gcsUtils;
|
||||
@Inject Response response;
|
||||
@Inject RequestStatusChecker requestStatusChecker;
|
||||
@Inject GcsDiffFileLister diffLister;
|
||||
@Inject Clock clock;
|
||||
|
||||
@Inject
|
||||
@Config("commitLogGcsBucket")
|
||||
String gcsBucket;
|
||||
|
||||
/** If true, will exit after logging the commit log files that would otherwise be replayed. */
|
||||
@Inject
|
||||
@Parameter(DRY_RUN_PARAM)
|
||||
boolean dryRun;
|
||||
|
||||
@Inject
|
||||
ReplayCommitLogsToSqlAction() {}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
DateTime startTime = clock.nowUtc();
|
||||
MigrationState state = DatabaseMigrationStateSchedule.getValueAtTime(startTime);
|
||||
if (!state.getReplayDirection().equals(ReplayDirection.DATASTORE_TO_SQL)) {
|
||||
String message =
|
||||
String.format(
|
||||
"Skipping ReplayCommitLogsToSqlAction because we are in migration phase %s.", state);
|
||||
logger.atInfo().log(message);
|
||||
// App Engine will retry on any non-2xx status code, which we don't want in this case.
|
||||
response.setStatus(SC_NO_CONTENT);
|
||||
response.setPayload(message);
|
||||
return;
|
||||
}
|
||||
Optional<Lock> lock =
|
||||
Lock.acquireSql(
|
||||
this.getClass().getSimpleName(), null, LEASE_LENGTH, requestStatusChecker, false);
|
||||
if (!lock.isPresent()) {
|
||||
String message = "Can't acquire SQL commit log replay lock, aborting.";
|
||||
logger.atSevere().log(message);
|
||||
// App Engine will retry on any non-2xx status code, which we don't want in this case.
|
||||
// Let the next run after the next export happen naturally.
|
||||
response.setStatus(SC_NO_CONTENT);
|
||||
response.setPayload(message);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
logger.atInfo().log("Beginning replay of commit logs.");
|
||||
String resultMessage;
|
||||
if (dryRun) {
|
||||
resultMessage = executeDryRun();
|
||||
} else {
|
||||
resultMessage = replayFiles(startTime);
|
||||
}
|
||||
response.setStatus(SC_OK);
|
||||
response.setPayload(resultMessage);
|
||||
logger.atInfo().log(resultMessage);
|
||||
} catch (Throwable t) {
|
||||
String message = "Errored out replaying files.";
|
||||
logger.atSevere().withCause(t).log(message);
|
||||
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
|
||||
response.setPayload(message);
|
||||
} finally {
|
||||
lock.ifPresent(Lock::releaseSql);
|
||||
}
|
||||
}
|
||||
|
||||
private String executeDryRun() {
|
||||
// Start at the first millisecond we haven't seen yet
|
||||
DateTime searchStartTime = jpaTm().transact(() -> SqlReplayCheckpoint.get().plusMillis(1));
|
||||
// Search through the end of the hour
|
||||
DateTime searchEndTime =
|
||||
searchStartTime.withMinuteOfHour(59).withSecondOfMinute(59).withMillisOfSecond(999);
|
||||
ImmutableList<String> fileBatch =
|
||||
diffLister.listDiffFiles(gcsBucket, searchStartTime, searchEndTime).stream()
|
||||
.map(BlobInfo::getName)
|
||||
.collect(toImmutableList());
|
||||
return String.format(
|
||||
"Running in dry-run mode, the first set of commit log files processed would be from "
|
||||
+ "searching from %s to %s and would contain %d file(s). They are (limit 10): \n%s",
|
||||
searchStartTime,
|
||||
searchEndTime,
|
||||
fileBatch.size(),
|
||||
fileBatch.stream().limit(10).collect(toImmutableList()));
|
||||
}
|
||||
|
||||
private String replayFiles(DateTime startTime) {
|
||||
DateTime replayTimeoutTime = startTime.plus(REPLAY_TIMEOUT_DURATION);
|
||||
DateTime searchStartTime = jpaTm().transact(() -> SqlReplayCheckpoint.get().plusMillis(1));
|
||||
int filesProcessed = 0;
|
||||
int transactionsProcessed = 0;
|
||||
// Starting from one millisecond after the last file we processed, search for and import files
|
||||
// one hour at a time until we catch up to the current time or we hit the replay timeout (in
|
||||
// which case the next run will pick up from where we leave off).
|
||||
//
|
||||
// We use hour-long batches because GCS supports filename prefix-based searches.
|
||||
while (true) {
|
||||
if (isAtOrAfter(clock.nowUtc(), replayTimeoutTime)) {
|
||||
return createResponseString(
|
||||
"Reached max execution time", startTime, filesProcessed, transactionsProcessed);
|
||||
}
|
||||
if (isBeforeOrAt(clock.nowUtc(), searchStartTime)) {
|
||||
return createResponseString(
|
||||
"Caught up to current time", startTime, filesProcessed, transactionsProcessed);
|
||||
}
|
||||
// Search through the end of the hour
|
||||
DateTime searchEndTime =
|
||||
searchStartTime.withMinuteOfHour(59).withSecondOfMinute(59).withMillisOfSecond(999);
|
||||
ImmutableList<BlobInfo> fileBatch =
|
||||
diffLister.listDiffFiles(gcsBucket, searchStartTime, searchEndTime);
|
||||
if (fileBatch.isEmpty()) {
|
||||
logger.atInfo().log(
|
||||
"No remaining files found in hour %s, continuing search in the next hour.",
|
||||
searchStartTime.toString("yyyy-MM-dd HH"));
|
||||
}
|
||||
for (BlobInfo file : fileBatch) {
|
||||
transactionsProcessed += processFile(file);
|
||||
filesProcessed++;
|
||||
if (clock.nowUtc().isAfter(replayTimeoutTime)) {
|
||||
return createResponseString(
|
||||
"Reached max execution time", startTime, filesProcessed, transactionsProcessed);
|
||||
}
|
||||
}
|
||||
searchStartTime = searchEndTime.plusMillis(1);
|
||||
}
|
||||
}
|
||||
|
||||
private String createResponseString(
|
||||
String msg, DateTime startTime, int filesProcessed, int transactionsProcessed) {
|
||||
double tps =
|
||||
(double) transactionsProcessed
|
||||
/ (double) Seconds.secondsBetween(startTime, clock.nowUtc()).getSeconds();
|
||||
return String.format(
|
||||
"%s after replaying %d file(s) containing %d total transaction(s) (%.2f tx/s).",
|
||||
msg, filesProcessed, transactionsProcessed, tps);
|
||||
}
|
||||
|
||||
/**
|
||||
* Replays the commit logs in the given commit log file and returns the number of transactions
|
||||
* committed.
|
||||
*/
|
||||
private int processFile(BlobInfo metadata) {
|
||||
try (InputStream input = gcsUtils.openInputStream(metadata.getBlobId())) {
|
||||
// Load and process the Datastore transactions one at a time
|
||||
ImmutableList<ImmutableList<VersionedEntity>> allTransactions =
|
||||
CommitLogImports.loadEntitiesByTransaction(input);
|
||||
try (UpdateAutoTimestamp.DisableAutoUpdateResource disabler =
|
||||
UpdateAutoTimestamp.disableAutoUpdate()) {
|
||||
allTransactions.forEach(
|
||||
transaction -> jpaTm().transact(() -> replayTransaction(transaction)));
|
||||
}
|
||||
// if we succeeded, set the last-seen time
|
||||
DateTime checkpoint = DateTime.parse(metadata.getName().substring(DIFF_FILE_PREFIX.length()));
|
||||
jpaTm().transact(() -> SqlReplayCheckpoint.set(checkpoint));
|
||||
logger.atInfo().log(
|
||||
"Replayed %d transactions from commit log file %s with size %d B.",
|
||||
allTransactions.size(), metadata.getName(), metadata.getSize());
|
||||
return allTransactions.size();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(
|
||||
"Errored out while replaying commit log file " + metadata.getName(), e);
|
||||
}
|
||||
}
|
||||
|
||||
private void replayTransaction(ImmutableList<VersionedEntity> transaction) {
|
||||
transaction.stream()
|
||||
.sorted(ReplayCommitLogsToSqlAction::compareByWeight)
|
||||
.forEach(
|
||||
versionedEntity -> {
|
||||
if (versionedEntity.getEntity().isPresent()) {
|
||||
handleEntityPut(versionedEntity.getEntity().get());
|
||||
} else {
|
||||
handleEntityDelete(versionedEntity);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void handleEntityPut(Entity entity) {
|
||||
Object ofyPojo = auditedOfy().toPojo(entity);
|
||||
try {
|
||||
if (ofyPojo instanceof DatastoreEntity) {
|
||||
DatastoreEntity datastoreEntity = (DatastoreEntity) ofyPojo;
|
||||
datastoreEntity
|
||||
.toSqlEntity()
|
||||
.ifPresent(
|
||||
sqlEntity -> {
|
||||
sqlEntity.beforeSqlSaveOnReplay();
|
||||
jpaTm().putIgnoringReadOnly(sqlEntity);
|
||||
});
|
||||
} else {
|
||||
// this should never happen, but we shouldn't fail on it
|
||||
logger.atSevere().log(
|
||||
"%s does not implement DatastoreEntity, which is necessary for SQL replay.",
|
||||
ofyPojo.getClass());
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
logger.atSevere().log("Error when replaying object %s.", ofyPojo);
|
||||
throw t;
|
||||
}
|
||||
}
|
||||
|
||||
private void handleEntityDelete(VersionedEntity entityToDelete) {
|
||||
Key key = entityToDelete.key();
|
||||
VKey<?> entityVKey;
|
||||
try {
|
||||
entityVKey = VKeyTranslatorFactory.createVKey(key);
|
||||
} catch (RuntimeException e) {
|
||||
// This means that the key wasn't convertible to VKey through the standard methods or via
|
||||
// a createVKey method. This means that the object isn't persisted in SQL so we ignore it.
|
||||
logger.atInfo().log(
|
||||
"Skipping SQL delete for kind %s since it is not convertible.", key.getKind());
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Class<?> entityClass = entityVKey.getKind();
|
||||
// Delete the key iff the class represents a JPA entity that is replicated
|
||||
if (!NonReplicatedEntity.class.isAssignableFrom(entityClass)
|
||||
&& !DatastoreOnlyEntity.class.isAssignableFrom(entityClass)
|
||||
&& entityClass.getAnnotation(javax.persistence.Entity.class) != null) {
|
||||
ReplaySpecializer.beforeSqlDelete(entityVKey);
|
||||
jpaTm().deleteIgnoringReadOnly(entityVKey);
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
logger.atSevere().log("Error when deleting key %s.", entityVKey);
|
||||
throw t;
|
||||
}
|
||||
}
|
||||
|
||||
private static int compareByWeight(VersionedEntity a, VersionedEntity b) {
|
||||
return getEntityPriority(a.key().getKind(), !a.getEntity().isPresent())
|
||||
- getEntityPriority(b.key().getKind(), !b.getEntity().isPresent());
|
||||
}
|
||||
}
|
||||
@@ -37,6 +37,7 @@ import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.config.RegistryEnvironment;
|
||||
import google.registry.gcs.GcsUtils;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogBucket;
|
||||
import google.registry.model.ofy.CommitLogCheckpoint;
|
||||
import google.registry.model.ofy.CommitLogCheckpointRoot;
|
||||
@@ -64,6 +65,7 @@ import org.joda.time.DateTime;
|
||||
method = Action.Method.POST,
|
||||
automaticallyPrintOk = true,
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
@DeleteAfterMigration
|
||||
public class RestoreCommitLogsAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.google.appengine.api.datastore.EntityTranslator;
|
||||
import com.google.appengine.api.datastore.Key;
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.auto.value.extension.memoized.Memoized;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogManifest;
|
||||
import google.registry.model.ofy.CommitLogMutation;
|
||||
import java.io.Serializable;
|
||||
@@ -76,6 +77,7 @@ import javax.annotation.Nullable;
|
||||
* property type in this class.
|
||||
*/
|
||||
@AutoValue
|
||||
@DeleteAfterMigration
|
||||
public abstract class VersionedEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -22,15 +22,17 @@ import com.google.appengine.api.taskqueue.TaskOptions;
|
||||
import com.google.appengine.api.taskqueue.TaskOptions.Method;
|
||||
import com.google.appengine.api.taskqueue.TransientFailureException;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ImmutableSortedSet;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.domain.RegistryLock;
|
||||
import google.registry.model.eppcommon.Trid;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.util.AppEngineServiceUtils;
|
||||
import google.registry.request.Action.Service;
|
||||
import google.registry.util.CloudTasksUtils;
|
||||
import google.registry.util.Retrier;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
@@ -59,25 +61,23 @@ public final class AsyncTaskEnqueuer {
|
||||
private static final Duration MAX_ASYNC_ETA = Duration.standardDays(30);
|
||||
|
||||
private final Duration asyncDeleteDelay;
|
||||
private final Queue asyncActionsPushQueue;
|
||||
private final Queue asyncDeletePullQueue;
|
||||
private final Queue asyncDnsRefreshPullQueue;
|
||||
private final AppEngineServiceUtils appEngineServiceUtils;
|
||||
private final Retrier retrier;
|
||||
|
||||
private CloudTasksUtils cloudTasksUtils;
|
||||
|
||||
@Inject
|
||||
public AsyncTaskEnqueuer(
|
||||
@Named(QUEUE_ASYNC_ACTIONS) Queue asyncActionsPushQueue,
|
||||
@Named(QUEUE_ASYNC_DELETE) Queue asyncDeletePullQueue,
|
||||
@Named(QUEUE_ASYNC_HOST_RENAME) Queue asyncDnsRefreshPullQueue,
|
||||
@Config("asyncDeleteFlowMapreduceDelay") Duration asyncDeleteDelay,
|
||||
AppEngineServiceUtils appEngineServiceUtils,
|
||||
CloudTasksUtils cloudTasksUtils,
|
||||
Retrier retrier) {
|
||||
this.asyncActionsPushQueue = asyncActionsPushQueue;
|
||||
this.asyncDeletePullQueue = asyncDeletePullQueue;
|
||||
this.asyncDnsRefreshPullQueue = asyncDnsRefreshPullQueue;
|
||||
this.asyncDeleteDelay = asyncDeleteDelay;
|
||||
this.appEngineServiceUtils = appEngineServiceUtils;
|
||||
this.cloudTasksUtils = cloudTasksUtils;
|
||||
this.retrier = retrier;
|
||||
}
|
||||
|
||||
@@ -103,19 +103,17 @@ public final class AsyncTaskEnqueuer {
|
||||
entityKey, firstResave, MAX_ASYNC_ETA);
|
||||
return;
|
||||
}
|
||||
logger.atInfo().log("Enqueuing async re-save of %s to run at %s.", entityKey, whenToResave);
|
||||
String backendHostname = appEngineServiceUtils.getServiceHostname("backend");
|
||||
TaskOptions task =
|
||||
TaskOptions.Builder.withUrl(ResaveEntityAction.PATH)
|
||||
.method(Method.POST)
|
||||
.header("Host", backendHostname)
|
||||
.countdownMillis(etaDuration.getMillis())
|
||||
.param(PARAM_RESOURCE_KEY, entityKey.getOfyKey().getString())
|
||||
.param(PARAM_REQUESTED_TIME, now.toString());
|
||||
Multimap<String, String> params = ArrayListMultimap.create();
|
||||
params.put(PARAM_RESOURCE_KEY, entityKey.stringify());
|
||||
params.put(PARAM_REQUESTED_TIME, now.toString());
|
||||
if (whenToResave.size() > 1) {
|
||||
task.param(PARAM_RESAVE_TIMES, Joiner.on(',').join(whenToResave.tailSet(firstResave, false)));
|
||||
params.put(PARAM_RESAVE_TIMES, Joiner.on(',').join(whenToResave.tailSet(firstResave, false)));
|
||||
}
|
||||
addTaskToQueueWithRetry(asyncActionsPushQueue, task);
|
||||
logger.atInfo().log("Enqueuing async re-save of %s to run at %s.", entityKey, whenToResave);
|
||||
cloudTasksUtils.enqueue(
|
||||
QUEUE_ASYNC_ACTIONS,
|
||||
cloudTasksUtils.createPostTaskWithDelay(
|
||||
ResaveEntityAction.PATH, Service.BACKEND.toString(), params, etaDuration));
|
||||
}
|
||||
|
||||
/** Enqueues a task to asynchronously delete a contact or host, by key. */
|
||||
@@ -131,7 +129,7 @@ public final class AsyncTaskEnqueuer {
|
||||
TaskOptions task =
|
||||
TaskOptions.Builder.withMethod(Method.PULL)
|
||||
.countdownMillis(asyncDeleteDelay.getMillis())
|
||||
.param(PARAM_RESOURCE_KEY, resourceToDelete.createVKey().getOfyKey().getString())
|
||||
.param(PARAM_RESOURCE_KEY, resourceToDelete.createVKey().stringify())
|
||||
.param(PARAM_REQUESTING_CLIENT_ID, requestingRegistrarId)
|
||||
.param(PARAM_SERVER_TRANSACTION_ID, trid.getServerTransactionId())
|
||||
.param(PARAM_IS_SUPERUSER, Boolean.toString(isSuperuser))
|
||||
@@ -148,36 +146,10 @@ public final class AsyncTaskEnqueuer {
|
||||
addTaskToQueueWithRetry(
|
||||
asyncDnsRefreshPullQueue,
|
||||
TaskOptions.Builder.withMethod(Method.PULL)
|
||||
.param(PARAM_HOST_KEY, hostKey.getOfyKey().getString())
|
||||
.param(PARAM_HOST_KEY, hostKey.stringify())
|
||||
.param(PARAM_REQUESTED_TIME, now.toString()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Enqueues a task to asynchronously re-lock a registry-locked domain after it was unlocked.
|
||||
*
|
||||
* <p>Note: the relockDuration must be present on the lock object.
|
||||
*/
|
||||
public void enqueueDomainRelock(RegistryLock lock) {
|
||||
checkArgument(
|
||||
lock.getRelockDuration().isPresent(),
|
||||
"Lock with ID %s not configured for relock",
|
||||
lock.getRevisionId());
|
||||
enqueueDomainRelock(lock.getRelockDuration().get(), lock.getRevisionId(), 0);
|
||||
}
|
||||
|
||||
/** Enqueues a task to asynchronously re-lock a registry-locked domain after it was unlocked. */
|
||||
void enqueueDomainRelock(Duration countdown, long lockRevisionId, int previousAttempts) {
|
||||
String backendHostname = appEngineServiceUtils.getServiceHostname("backend");
|
||||
addTaskToQueueWithRetry(
|
||||
asyncActionsPushQueue,
|
||||
TaskOptions.Builder.withUrl(RelockDomainAction.PATH)
|
||||
.method(Method.POST)
|
||||
.header("Host", backendHostname)
|
||||
.param(RelockDomainAction.OLD_UNLOCK_REVISION_ID_PARAM, String.valueOf(lockRevisionId))
|
||||
.param(RelockDomainAction.PREVIOUS_ATTEMPTS_PARAM, String.valueOf(previousAttempts))
|
||||
.countdownMillis(countdown.getMillis()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a task to a queue with retrying, to avoid aborting the entire flow over a transient issue
|
||||
* enqueuing a task.
|
||||
|
||||
@@ -33,10 +33,8 @@ import static google.registry.request.RequestParameters.extractSetOfDatetimePara
|
||||
|
||||
import com.google.appengine.api.taskqueue.Queue;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.request.Parameter;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Named;
|
||||
@@ -79,9 +77,8 @@ public class BatchModule {
|
||||
|
||||
@Provides
|
||||
@Parameter(PARAM_RESOURCE_KEY)
|
||||
// TODO(b/207363014): figure out if this needs to be modified for vkey string replacement
|
||||
static Key<ImmutableObject> provideResourceKey(HttpServletRequest req) {
|
||||
return Key.create(extractRequiredParameter(req, PARAM_RESOURCE_KEY));
|
||||
static String provideResourceKey(HttpServletRequest req) {
|
||||
return extractRequiredParameter(req, PARAM_RESOURCE_KEY);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -115,6 +112,12 @@ public class BatchModule {
|
||||
req, ExpandRecurringBillingEventsAction.PARAM_CURSOR_TIME);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Parameter(ResaveAllEppResourcesPipelineAction.PARAM_FAST)
|
||||
static Optional<Boolean> provideIsFast(HttpServletRequest req) {
|
||||
return extractOptionalBooleanParameter(req, ResaveAllEppResourcesPipelineAction.PARAM_FAST);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named(QUEUE_ASYNC_ACTIONS)
|
||||
static Queue provideAsyncActionsPushQueue() {
|
||||
|
||||
@@ -1,619 +0,0 @@
|
||||
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.batch;
|
||||
|
||||
import static com.google.appengine.api.taskqueue.QueueConstants.maxLeaseCount;
|
||||
import static com.google.appengine.api.taskqueue.QueueFactory.getQueue;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static com.google.common.math.IntMath.divide;
|
||||
import static com.googlecode.objectify.Key.getKind;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_CLIENT_TRANSACTION_ID;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_IS_SUPERUSER;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_REQUESTED_TIME;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_REQUESTING_CLIENT_ID;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_RESOURCE_KEY;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_SERVER_TRANSACTION_ID;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.QUEUE_ASYNC_DELETE;
|
||||
import static google.registry.model.EppResourceUtils.isActive;
|
||||
import static google.registry.model.EppResourceUtils.isDeleted;
|
||||
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
||||
import static google.registry.model.ResourceTransferUtils.handlePendingTransferOnDelete;
|
||||
import static google.registry.model.ResourceTransferUtils.updateForeignKeyIndexDeletionTime;
|
||||
import static google.registry.model.eppcommon.StatusValue.PENDING_DELETE;
|
||||
import static google.registry.model.ofy.ObjectifyService.auditedOfy;
|
||||
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_DELETE;
|
||||
import static google.registry.model.reporting.HistoryEntry.Type.CONTACT_DELETE_FAILURE;
|
||||
import static google.registry.model.reporting.HistoryEntry.Type.HOST_DELETE;
|
||||
import static google.registry.model.reporting.HistoryEntry.Type.HOST_DELETE_FAILURE;
|
||||
import static google.registry.model.transfer.TransferStatus.SERVER_CANCELLED;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
import static java.math.RoundingMode.CEILING;
|
||||
import static java.util.concurrent.TimeUnit.DAYS;
|
||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
import static java.util.logging.Level.INFO;
|
||||
import static java.util.logging.Level.SEVERE;
|
||||
import static org.joda.time.Duration.standardHours;
|
||||
|
||||
import com.google.appengine.api.taskqueue.LeaseOptions;
|
||||
import com.google.appengine.api.taskqueue.Queue;
|
||||
import com.google.appengine.api.taskqueue.TaskHandle;
|
||||
import com.google.appengine.api.taskqueue.TransientFailureException;
|
||||
import com.google.appengine.tools.mapreduce.Mapper;
|
||||
import com.google.appengine.tools.mapreduce.Reducer;
|
||||
import com.google.appengine.tools.mapreduce.ReducerInput;
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.collect.HashMultiset;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Iterators;
|
||||
import com.google.common.collect.Multiset;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.batch.AsyncTaskMetrics.OperationResult;
|
||||
import google.registry.batch.AsyncTaskMetrics.OperationType;
|
||||
import google.registry.batch.DeleteContactsAndHostsAction.DeletionResult.Type;
|
||||
import google.registry.dns.DnsQueue;
|
||||
import google.registry.mapreduce.MapreduceRunner;
|
||||
import google.registry.mapreduce.UnlockerOutput;
|
||||
import google.registry.mapreduce.inputs.EppResourceInputs;
|
||||
import google.registry.mapreduce.inputs.NullInput;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.ExternalMessagingName;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.eppcommon.Trid;
|
||||
import google.registry.model.eppoutput.EppResponse.ResponseData;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.poll.PendingActionNotificationResponse.ContactPendingActionNotificationResponse;
|
||||
import google.registry.model.poll.PendingActionNotificationResponse.HostPendingActionNotificationResponse;
|
||||
import google.registry.model.poll.PollMessage;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.server.Lock;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Clock;
|
||||
import google.registry.util.NonFinalForTesting;
|
||||
import google.registry.util.RequestStatusChecker;
|
||||
import google.registry.util.Retrier;
|
||||
import google.registry.util.SystemClock;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Level;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
/**
|
||||
* A mapreduce that processes batch asynchronous deletions of contact and host resources by mapping
|
||||
* over all domains and checking for any references to the contacts/hosts in pending deletion.
|
||||
*/
|
||||
@Deprecated
|
||||
@Action(
|
||||
service = Action.Service.BACKEND,
|
||||
path = "/_dr/task/deleteContactsAndHosts",
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
public class DeleteContactsAndHostsAction implements Runnable {
|
||||
|
||||
static final String KIND_CONTACT = getKind(ContactResource.class);
|
||||
static final String KIND_HOST = getKind(HostResource.class);
|
||||
|
||||
private static final Duration LEASE_LENGTH = standardHours(4);
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
private static final int MAX_REDUCE_SHARDS = 50;
|
||||
private static final int DELETES_PER_SHARD = 5;
|
||||
|
||||
@Inject AsyncTaskMetrics asyncTaskMetrics;
|
||||
@Inject Clock clock;
|
||||
@Inject MapreduceRunner mrRunner;
|
||||
@Inject @Named(QUEUE_ASYNC_DELETE) Queue queue;
|
||||
@Inject RequestStatusChecker requestStatusChecker;
|
||||
@Inject Response response;
|
||||
@Inject Retrier retrier;
|
||||
@Inject DeleteContactsAndHostsAction() {}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// Check if the lock can be acquired, and if not, a previous run of this mapreduce is still
|
||||
// executing, so return early.
|
||||
Optional<Lock> lock =
|
||||
Lock.acquire(
|
||||
DeleteContactsAndHostsAction.class.getSimpleName(),
|
||||
null,
|
||||
LEASE_LENGTH,
|
||||
requestStatusChecker,
|
||||
false);
|
||||
if (!lock.isPresent()) {
|
||||
logRespondAndUnlock(INFO, "Can't acquire lock; aborting.", lock);
|
||||
return;
|
||||
}
|
||||
|
||||
// Lease the async tasks to process.
|
||||
LeaseOptions options =
|
||||
LeaseOptions.Builder.withCountLimit(maxLeaseCount())
|
||||
.leasePeriod(LEASE_LENGTH.getStandardSeconds(), SECONDS);
|
||||
List<TaskHandle> tasks = queue.leaseTasks(options);
|
||||
asyncTaskMetrics.recordContactHostDeletionBatchSize(tasks.size());
|
||||
|
||||
// Check if there are no tasks to process, and if so, return early.
|
||||
if (tasks.isEmpty()) {
|
||||
logRespondAndUnlock(INFO, "No contact/host deletion tasks in pull queue; finishing.", lock);
|
||||
return;
|
||||
}
|
||||
|
||||
Multiset<String> kindCounts = HashMultiset.create(2);
|
||||
ImmutableList.Builder<DeletionRequest> builder = new ImmutableList.Builder<>();
|
||||
ImmutableList.Builder<Key<? extends EppResource>> resourceKeys = new ImmutableList.Builder<>();
|
||||
final List<DeletionRequest> requestsToDelete = new ArrayList<>();
|
||||
for (TaskHandle task : tasks) {
|
||||
try {
|
||||
DeletionRequest deletionRequest = DeletionRequest.createFromTask(task, clock.nowUtc());
|
||||
if (deletionRequest.isDeletionAllowed()) {
|
||||
builder.add(deletionRequest);
|
||||
resourceKeys.add(deletionRequest.key());
|
||||
kindCounts.add(deletionRequest.key().getKind());
|
||||
} else {
|
||||
requestsToDelete.add(deletionRequest);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.atSevere().withCause(e).log(
|
||||
"Could not parse async deletion request, delaying task for a day: %s", task);
|
||||
// Grab the lease for a whole day, so that it won't continue throwing errors every five
|
||||
// minutes.
|
||||
queue.modifyTaskLease(task, 1L, DAYS);
|
||||
}
|
||||
}
|
||||
deleteStaleTasksWithRetry(requestsToDelete);
|
||||
ImmutableList<DeletionRequest> deletionRequests = builder.build();
|
||||
if (deletionRequests.isEmpty()) {
|
||||
logRespondAndUnlock(
|
||||
INFO, "No async deletions to process because all were already handled.", lock);
|
||||
} else {
|
||||
logger.atInfo().log(
|
||||
"Processing asynchronous deletion of %d contacts and %d hosts: %s",
|
||||
kindCounts.count(KIND_CONTACT), kindCounts.count(KIND_HOST), resourceKeys.build());
|
||||
runMapreduce(deletionRequests, lock);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a list of tasks associated with deletion requests from the async delete queue using a
|
||||
* retrier.
|
||||
*/
|
||||
private void deleteStaleTasksWithRetry(final List<DeletionRequest> deletionRequests) {
|
||||
if (deletionRequests.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
final List<TaskHandle> tasks =
|
||||
deletionRequests.stream().map(DeletionRequest::task).collect(toImmutableList());
|
||||
retrier.callWithRetry(() -> queue.deleteTask(tasks), TransientFailureException.class);
|
||||
deletionRequests.forEach(
|
||||
deletionRequest ->
|
||||
asyncTaskMetrics.recordAsyncFlowResult(
|
||||
deletionRequest.getMetricOperationType(),
|
||||
OperationResult.STALE,
|
||||
deletionRequest.requestedTime()));
|
||||
}
|
||||
|
||||
private void runMapreduce(ImmutableList<DeletionRequest> deletionRequests, Optional<Lock> lock) {
|
||||
try {
|
||||
int numReducers =
|
||||
Math.min(MAX_REDUCE_SHARDS, divide(deletionRequests.size(), DELETES_PER_SHARD, CEILING));
|
||||
mrRunner
|
||||
.setJobName("Check for EPP resource references and then delete")
|
||||
.setModuleName("backend")
|
||||
.setDefaultReduceShards(numReducers)
|
||||
.runMapreduce(
|
||||
new DeleteContactsAndHostsMapper(deletionRequests),
|
||||
new DeleteEppResourceReducer(),
|
||||
ImmutableList.of(
|
||||
// Add an extra shard that maps over a null domain. See the mapper code for why.
|
||||
new NullInput<>(), EppResourceInputs.createEntityInput(DomainBase.class)),
|
||||
new UnlockerOutput<Void>(lock.get()))
|
||||
.sendLinkToMapreduceConsole(response);
|
||||
} catch (Throwable t) {
|
||||
logRespondAndUnlock(SEVERE, "Error starting mapreduce to delete contacts/hosts.", lock);
|
||||
}
|
||||
}
|
||||
|
||||
private void logRespondAndUnlock(Level level, String message, Optional<Lock> lock) {
|
||||
logger.at(level).log(message);
|
||||
response.setPayload(message);
|
||||
lock.ifPresent(Lock::release);
|
||||
}
|
||||
|
||||
/**
|
||||
* A mapper that iterates over all {@link DomainBase} entities.
|
||||
*
|
||||
* <p>It emits the target key and {@code true} for domains referencing the target resource. For
|
||||
* the special input of {@code null} it emits the target key and {@code false}.
|
||||
*/
|
||||
public static class DeleteContactsAndHostsMapper
|
||||
extends Mapper<DomainBase, DeletionRequest, Boolean> {
|
||||
|
||||
private static final long serialVersionUID = -253652818502690537L;
|
||||
|
||||
private final ImmutableList<DeletionRequest> deletionRequests;
|
||||
|
||||
DeleteContactsAndHostsMapper(ImmutableList<DeletionRequest> resourcesToDelete) {
|
||||
this.deletionRequests = resourcesToDelete;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void map(DomainBase domain) {
|
||||
for (DeletionRequest deletionRequest : deletionRequests) {
|
||||
if (domain == null) {
|
||||
// The reducer only runs if at least one value is emitted. We add a null input to the
|
||||
// mapreduce and emit one 'false' for each deletion request so that the reducer always
|
||||
// runs for each requested deletion (so that it can finish up tasks if nothing else).
|
||||
emit(deletionRequest, false);
|
||||
} else if (isActive(domain, deletionRequest.lastUpdateTime())
|
||||
&& isLinked(domain, deletionRequest.key())) {
|
||||
emit(deletionRequest, true);
|
||||
getContext()
|
||||
.incrementCounter(
|
||||
String.format("active Domain-%s links found", deletionRequest.key().getKind()));
|
||||
}
|
||||
}
|
||||
if (domain != null) {
|
||||
getContext().incrementCounter("domains processed");
|
||||
}
|
||||
}
|
||||
|
||||
/** Determine whether the target resource is a linked resource on the domain. */
|
||||
private boolean isLinked(DomainBase domain, Key<? extends EppResource> resourceKey) {
|
||||
if (resourceKey.getKind().equals(KIND_CONTACT)) {
|
||||
return domain
|
||||
.getReferencedContacts()
|
||||
.contains(VKey.from((Key<ContactResource>) resourceKey));
|
||||
} else if (resourceKey.getKind().equals(KIND_HOST)) {
|
||||
return domain.getNameservers().contains(VKey.from((Key<HostResource>) resourceKey));
|
||||
} else {
|
||||
throw new IllegalStateException("EPP resource key of unknown type: " + resourceKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A reducer that checks if the EPP resource to be deleted is referenced anywhere, and then
|
||||
* deletes it if not and unmarks it for deletion if so.
|
||||
*/
|
||||
public static class DeleteEppResourceReducer
|
||||
extends Reducer<DeletionRequest, Boolean, Void> {
|
||||
|
||||
private static final long serialVersionUID = 6569363449285506326L;
|
||||
private static final DnsQueue dnsQueue = DnsQueue.create();
|
||||
|
||||
@NonFinalForTesting
|
||||
private static AsyncTaskMetrics asyncTaskMetrics = new AsyncTaskMetrics(new SystemClock());
|
||||
|
||||
@Override
|
||||
public void reduce(final DeletionRequest deletionRequest, ReducerInput<Boolean> values) {
|
||||
final boolean hasNoActiveReferences = !Iterators.contains(values, true);
|
||||
logger.atInfo().log("Processing async deletion request for %s.", deletionRequest.key());
|
||||
DeletionResult result =
|
||||
tm()
|
||||
.transactNew(
|
||||
() -> {
|
||||
DeletionResult deletionResult =
|
||||
attemptToDeleteResource(deletionRequest, hasNoActiveReferences);
|
||||
getQueue(QUEUE_ASYNC_DELETE).deleteTask(deletionRequest.task());
|
||||
return deletionResult;
|
||||
});
|
||||
asyncTaskMetrics.recordAsyncFlowResult(
|
||||
deletionRequest.getMetricOperationType(),
|
||||
result.getMetricOperationResult(),
|
||||
deletionRequest.requestedTime());
|
||||
String resourceNamePlural = deletionRequest.key().getKind() + "s";
|
||||
getContext().incrementCounter(result.type().renderCounterText(resourceNamePlural));
|
||||
logger.atInfo().log(
|
||||
"Result of async deletion for resource %s: %s",
|
||||
deletionRequest.key(), result.pollMessageText());
|
||||
}
|
||||
|
||||
private DeletionResult attemptToDeleteResource(
|
||||
DeletionRequest deletionRequest, boolean hasNoActiveReferences) {
|
||||
DateTime now = tm().getTransactionTime();
|
||||
EppResource resource =
|
||||
auditedOfy().load().key(deletionRequest.key()).now().cloneProjectedAtTime(now);
|
||||
// Double-check transactionally that the resource is still active and in PENDING_DELETE.
|
||||
if (!doesResourceStateAllowDeletion(resource, now)) {
|
||||
return DeletionResult.create(Type.ERRORED, "");
|
||||
}
|
||||
// Contacts and external hosts have a direct client id. For subordinate hosts it needs to be
|
||||
// read off of the superordinate domain.
|
||||
String resourceRegistrarId = resource.getPersistedCurrentSponsorRegistrarId();
|
||||
if (resource instanceof HostResource && ((HostResource) resource).isSubordinate()) {
|
||||
resourceRegistrarId =
|
||||
tm().loadByKey(((HostResource) resource).getSuperordinateDomain())
|
||||
.cloneProjectedAtTime(now)
|
||||
.getCurrentSponsorRegistrarId();
|
||||
}
|
||||
boolean requestedByCurrentOwner =
|
||||
resourceRegistrarId.equals(deletionRequest.requestingClientId());
|
||||
|
||||
boolean deleteAllowed =
|
||||
hasNoActiveReferences && (requestedByCurrentOwner || deletionRequest.isSuperuser());
|
||||
|
||||
String resourceTypeName =
|
||||
resource.getClass().getAnnotation(ExternalMessagingName.class).value();
|
||||
String pollMessageText =
|
||||
deleteAllowed
|
||||
? String.format("Deleted %s %s.", resourceTypeName, resource.getForeignKey())
|
||||
: String.format(
|
||||
"Can't delete %s %s because %s.",
|
||||
resourceTypeName,
|
||||
resource.getForeignKey(),
|
||||
requestedByCurrentOwner
|
||||
? "it is referenced by a domain"
|
||||
: "it was transferred prior to deletion");
|
||||
|
||||
HistoryEntry historyEntry =
|
||||
HistoryEntry.createBuilderForResource(resource)
|
||||
.setRegistrarId(deletionRequest.requestingClientId())
|
||||
.setModificationTime(now)
|
||||
.setType(getHistoryEntryType(resource, deleteAllowed))
|
||||
.build();
|
||||
|
||||
PollMessage.OneTime pollMessage =
|
||||
new PollMessage.OneTime.Builder()
|
||||
.setRegistrarId(deletionRequest.requestingClientId())
|
||||
.setMsg(pollMessageText)
|
||||
.setParent(historyEntry)
|
||||
.setEventTime(now)
|
||||
.setResponseData(
|
||||
getPollMessageResponseData(deletionRequest, resource, deleteAllowed, now))
|
||||
.build();
|
||||
|
||||
EppResource resourceToSave;
|
||||
if (deleteAllowed) {
|
||||
EppResource.Builder<?, ?> resourceToSaveBuilder;
|
||||
if (resource instanceof ContactResource) {
|
||||
ContactResource contact = (ContactResource) resource;
|
||||
// Handle pending transfers on contact deletion.
|
||||
if (contact.getStatusValues().contains(StatusValue.PENDING_TRANSFER)) {
|
||||
contact =
|
||||
denyPendingTransfer(
|
||||
contact, SERVER_CANCELLED, now, deletionRequest.requestingClientId());
|
||||
}
|
||||
// Wipe out PII on contact deletion.
|
||||
resourceToSaveBuilder = contact.asBuilder().wipeOut();
|
||||
} else {
|
||||
resourceToSaveBuilder = resource.asBuilder();
|
||||
}
|
||||
resourceToSave = resourceToSaveBuilder.setDeletionTime(now).setStatusValues(null).build();
|
||||
performDeleteTasks(resource, resourceToSave, now, historyEntry);
|
||||
updateForeignKeyIndexDeletionTime(resourceToSave);
|
||||
} else {
|
||||
resourceToSave = resource.asBuilder().removeStatusValue(PENDING_DELETE).build();
|
||||
}
|
||||
auditedOfy()
|
||||
.save()
|
||||
.<ImmutableObject>entities(resourceToSave, historyEntry.asHistoryEntry(), pollMessage);
|
||||
return DeletionResult.create(
|
||||
deleteAllowed ? Type.DELETED : Type.NOT_DELETED, pollMessageText);
|
||||
}
|
||||
|
||||
private static ImmutableList<? extends ResponseData> getPollMessageResponseData(
|
||||
DeletionRequest deletionRequest,
|
||||
EppResource resource,
|
||||
boolean deleteAllowed,
|
||||
DateTime now) {
|
||||
@Nullable String clientTransactionId = deletionRequest.clientTransactionId();
|
||||
String serverTransactionId = deletionRequest.serverTransactionId();
|
||||
Trid trid = Trid.create(clientTransactionId, serverTransactionId);
|
||||
if (resource instanceof HostResource) {
|
||||
return ImmutableList.of(
|
||||
HostPendingActionNotificationResponse.create(
|
||||
((HostResource) resource).getHostName(), deleteAllowed, trid, now));
|
||||
} else if (resource instanceof ContactResource) {
|
||||
return ImmutableList.of(
|
||||
ContactPendingActionNotificationResponse.create(
|
||||
((ContactResource) resource).getContactId(), deleteAllowed, trid, now));
|
||||
} else {
|
||||
throw new IllegalStateException("EPP resource of unknown type " + Key.create(resource));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine the proper history entry type for the delete operation, as a function of
|
||||
* whether or not the delete was successful.
|
||||
*/
|
||||
private HistoryEntry.Type getHistoryEntryType(EppResource resource, boolean successfulDelete) {
|
||||
if (resource instanceof ContactResource) {
|
||||
return successfulDelete ? CONTACT_DELETE : CONTACT_DELETE_FAILURE;
|
||||
} else if (resource instanceof HostResource) {
|
||||
return successfulDelete ? HOST_DELETE : HOST_DELETE_FAILURE;
|
||||
} else {
|
||||
throw new IllegalStateException("EPP resource of unknown type: " + Key.create(resource));
|
||||
}
|
||||
}
|
||||
|
||||
/** Perform any type-specific tasks on the resource to be deleted (and/or its dependencies). */
|
||||
private void performDeleteTasks(
|
||||
EppResource existingResource,
|
||||
EppResource deletedResource,
|
||||
DateTime deletionTime,
|
||||
HistoryEntry historyEntryForDelete) {
|
||||
if (existingResource instanceof ContactResource) {
|
||||
handlePendingTransferOnDelete(
|
||||
(ContactResource) existingResource,
|
||||
(ContactResource) deletedResource,
|
||||
deletionTime,
|
||||
historyEntryForDelete);
|
||||
} else if (existingResource instanceof HostResource) {
|
||||
HostResource host = (HostResource) existingResource;
|
||||
if (host.isSubordinate()) {
|
||||
dnsQueue.addHostRefreshTask(host.getHostName());
|
||||
tm().put(
|
||||
tm().loadByKey(host.getSuperordinateDomain())
|
||||
.asBuilder()
|
||||
.removeSubordinateHost(host.getHostName())
|
||||
.build());
|
||||
}
|
||||
} else {
|
||||
throw new IllegalStateException(
|
||||
"EPP resource of unknown type: " + Key.create(existingResource));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** A class that encapsulates the values of a request to delete a contact or host. */
|
||||
@AutoValue
|
||||
abstract static class DeletionRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -4612618525760839240L;
|
||||
|
||||
abstract Key<? extends EppResource> key();
|
||||
abstract DateTime lastUpdateTime();
|
||||
|
||||
/**
|
||||
* The client id of the registrar that requested this deletion (which might NOT be the same as
|
||||
* the actual current owner of the resource).
|
||||
*/
|
||||
abstract String requestingClientId();
|
||||
|
||||
/** First half of TRID for the original request, split for serializability. */
|
||||
@Nullable
|
||||
abstract String clientTransactionId();
|
||||
|
||||
/** Second half of TRID for the original request, split for serializability. */
|
||||
abstract String serverTransactionId();
|
||||
|
||||
abstract boolean isSuperuser();
|
||||
abstract DateTime requestedTime();
|
||||
abstract boolean isDeletionAllowed();
|
||||
abstract TaskHandle task();
|
||||
|
||||
@AutoValue.Builder
|
||||
abstract static class Builder {
|
||||
abstract Builder setKey(Key<? extends EppResource> key);
|
||||
abstract Builder setLastUpdateTime(DateTime lastUpdateTime);
|
||||
abstract Builder setRequestingClientId(String requestingClientId);
|
||||
abstract Builder setClientTransactionId(@Nullable String clientTransactionId);
|
||||
abstract Builder setServerTransactionId(String serverTransactionId);
|
||||
abstract Builder setIsSuperuser(boolean isSuperuser);
|
||||
abstract Builder setRequestedTime(DateTime requestedTime);
|
||||
abstract Builder setIsDeletionAllowed(boolean isDeletionAllowed);
|
||||
abstract Builder setTask(TaskHandle task);
|
||||
abstract DeletionRequest build();
|
||||
}
|
||||
|
||||
static DeletionRequest createFromTask(TaskHandle task, DateTime now)
|
||||
throws Exception {
|
||||
ImmutableMap<String, String> params = ImmutableMap.copyOf(task.extractParams());
|
||||
VKey<EppResource> resourceKey =
|
||||
VKey.create(
|
||||
checkNotNull(params.get(PARAM_RESOURCE_KEY), "Resource to delete not specified"));
|
||||
EppResource resource =
|
||||
checkNotNull(
|
||||
auditedOfy().load().key(resourceKey.getOfyKey()).now(),
|
||||
"Resource to delete doesn't exist");
|
||||
checkState(
|
||||
resource instanceof ContactResource || resource instanceof HostResource,
|
||||
"Cannot delete a %s via this action",
|
||||
resource.getClass().getSimpleName());
|
||||
return new AutoValue_DeleteContactsAndHostsAction_DeletionRequest.Builder()
|
||||
.setKey(resourceKey.getOfyKey())
|
||||
.setLastUpdateTime(resource.getUpdateTimestamp().getTimestamp())
|
||||
.setRequestingClientId(
|
||||
checkNotNull(
|
||||
params.get(PARAM_REQUESTING_CLIENT_ID), "Requesting client id not specified"))
|
||||
// Note that client transaction ID is optional, in which case this sets it to null.
|
||||
.setClientTransactionId(params.get(PARAM_CLIENT_TRANSACTION_ID))
|
||||
.setServerTransactionId(
|
||||
checkNotNull(
|
||||
params.get(PARAM_SERVER_TRANSACTION_ID), "Server transaction id not specified"))
|
||||
.setIsSuperuser(
|
||||
Boolean.parseBoolean(
|
||||
checkNotNull(params.get(PARAM_IS_SUPERUSER), "Is superuser not specified")))
|
||||
.setRequestedTime(
|
||||
DateTime.parse(
|
||||
checkNotNull(params.get(PARAM_REQUESTED_TIME), "Requested time not specified")))
|
||||
.setIsDeletionAllowed(doesResourceStateAllowDeletion(resource, now))
|
||||
.setTask(task)
|
||||
.build();
|
||||
}
|
||||
|
||||
OperationType getMetricOperationType() {
|
||||
if (key().getKind().equals(KIND_CONTACT)) {
|
||||
return OperationType.CONTACT_DELETE;
|
||||
} else if (key().getKind().equals(KIND_HOST)) {
|
||||
return OperationType.HOST_DELETE;
|
||||
} else {
|
||||
throw new IllegalStateException(
|
||||
String.format(
|
||||
"Cannot determine async operation type for metric for resource %s", key()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** A class that encapsulates the values resulting from attempted contact/host deletion. */
|
||||
@AutoValue
|
||||
abstract static class DeletionResult {
|
||||
|
||||
enum Type {
|
||||
DELETED("%s deleted", OperationResult.SUCCESS),
|
||||
NOT_DELETED("%s not deleted", OperationResult.FAILURE),
|
||||
ERRORED("%s errored out during deletion", OperationResult.ERROR);
|
||||
|
||||
private final String counterFormat;
|
||||
private final OperationResult operationResult;
|
||||
|
||||
Type(String counterFormat, OperationResult operationResult) {
|
||||
this.counterFormat = counterFormat;
|
||||
this.operationResult = operationResult;
|
||||
}
|
||||
|
||||
String renderCounterText(String resourceName) {
|
||||
return String.format(counterFormat, resourceName);
|
||||
}
|
||||
}
|
||||
|
||||
abstract Type type();
|
||||
abstract String pollMessageText();
|
||||
|
||||
static DeletionResult create(Type type, String pollMessageText) {
|
||||
return new AutoValue_DeleteContactsAndHostsAction_DeletionResult(type, pollMessageText);
|
||||
}
|
||||
|
||||
OperationResult getMetricOperationResult() {
|
||||
return type().operationResult;
|
||||
}
|
||||
}
|
||||
|
||||
static boolean doesResourceStateAllowDeletion(EppResource resource, DateTime now) {
|
||||
Key<EppResource> key = Key.create(resource);
|
||||
if (isDeleted(resource, now)) {
|
||||
logger.atWarning().log("Cannot asynchronously delete %s because it is already deleted.", key);
|
||||
return false;
|
||||
}
|
||||
if (!resource.getStatusValues().contains(PENDING_DELETE)) {
|
||||
logger.atWarning().log(
|
||||
"Cannot asynchronously delete %s because it is not in PENDING_DELETE.", key);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ package google.registry.batch;
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||
import static com.google.common.collect.Sets.difference;
|
||||
import static com.google.common.collect.Sets.newHashSet;
|
||||
import static google.registry.mapreduce.MapreduceRunner.PARAM_DRY_RUN;
|
||||
import static google.registry.mapreduce.inputs.EppResourceInputs.createChildEntityInput;
|
||||
import static google.registry.model.common.Cursor.CursorType.RECURRING_BILLING;
|
||||
@@ -36,11 +37,14 @@ import static google.registry.util.DomainNameUtils.getTldFromDomainName;
|
||||
import com.google.appengine.tools.mapreduce.Mapper;
|
||||
import com.google.appengine.tools.mapreduce.Reducer;
|
||||
import com.google.appengine.tools.mapreduce.ReducerInput;
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Range;
|
||||
import com.google.common.collect.Streams;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.flows.domain.DomainPricingLogic;
|
||||
import google.registry.mapreduce.MapreduceRunner;
|
||||
import google.registry.mapreduce.inputs.NullInput;
|
||||
import google.registry.model.ImmutableObject;
|
||||
@@ -61,8 +65,10 @@ import google.registry.request.Parameter;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Clock;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import javax.inject.Inject;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
@@ -86,8 +92,15 @@ public class ExpandRecurringBillingEventsAction implements Runnable {
|
||||
|
||||
@Inject Clock clock;
|
||||
@Inject MapreduceRunner mrRunner;
|
||||
|
||||
@Inject
|
||||
@Config("jdbcBatchSize")
|
||||
int batchSize;
|
||||
|
||||
@Inject @Parameter(PARAM_DRY_RUN) boolean isDryRun;
|
||||
@Inject @Parameter(PARAM_CURSOR_TIME) Optional<DateTime> cursorTimeParam;
|
||||
|
||||
@Inject DomainPricingLogic domainPricingLogic;
|
||||
@Inject Response response;
|
||||
@Inject ExpandRecurringBillingEventsAction() {}
|
||||
|
||||
@@ -120,61 +133,130 @@ public class ExpandRecurringBillingEventsAction implements Runnable {
|
||||
ImmutableSet.of(DomainBase.class), ImmutableSet.of(Recurring.class))))
|
||||
.sendLinkToMapreduceConsole(response);
|
||||
} else {
|
||||
int numBillingEventsSaved =
|
||||
jpaTm()
|
||||
.transact(
|
||||
() ->
|
||||
jpaTm()
|
||||
.query(
|
||||
"FROM BillingRecurrence "
|
||||
+ "WHERE eventTime <= :executeTime "
|
||||
+ "AND eventTime < recurrenceEndTime "
|
||||
+ "ORDER BY id ASC",
|
||||
Recurring.class)
|
||||
.setParameter("executeTime", executeTime)
|
||||
// Need to get a list from the transaction and then convert it to a stream
|
||||
// for further processing. If we get a stream directly, each elements gets
|
||||
// processed downstream eagerly but Hibernate returns a
|
||||
// ScrollableResultsIterator that cannot be advanced outside the
|
||||
// transaction, resulting in an exception.
|
||||
.getResultList())
|
||||
.stream()
|
||||
.map(
|
||||
recurring ->
|
||||
jpaTm()
|
||||
.transact(
|
||||
() ->
|
||||
expandBillingEvent(recurring, executeTime, cursorTime, isDryRun)))
|
||||
.reduce(0, Integer::sum);
|
||||
|
||||
if (!isDryRun) {
|
||||
logger.atInfo().log("Saved OneTime billing events.", numBillingEventsSaved);
|
||||
} else {
|
||||
logger.atInfo().log("Generated OneTime billing events (dry run).", numBillingEventsSaved);
|
||||
}
|
||||
logger.atInfo().log(
|
||||
"Recurring event expansion %s complete for billing event range [%s, %s).",
|
||||
isDryRun ? "(dry run) " : "", cursorTime, executeTime);
|
||||
tm().transact(
|
||||
() -> {
|
||||
// Check for the unlikely scenario where the cursor has been altered during the
|
||||
// expansion.
|
||||
DateTime currentCursorTime =
|
||||
tm().loadByKeyIfPresent(Cursor.createGlobalVKey(RECURRING_BILLING))
|
||||
.orElse(Cursor.createGlobal(RECURRING_BILLING, START_OF_TIME))
|
||||
.getCursorTime();
|
||||
if (!currentCursorTime.equals(persistedCursorTime)) {
|
||||
throw new IllegalStateException(
|
||||
String.format(
|
||||
"Current cursor position %s does not match persisted cursor position %s.",
|
||||
currentCursorTime, persistedCursorTime));
|
||||
}
|
||||
if (!isDryRun) {
|
||||
tm().put(Cursor.createGlobal(RECURRING_BILLING, executeTime));
|
||||
}
|
||||
});
|
||||
expandSqlBillingEventsInBatches(executeTime, cursorTime, persistedCursorTime);
|
||||
}
|
||||
}
|
||||
|
||||
private void expandSqlBillingEventsInBatches(
|
||||
DateTime executeTime, DateTime cursorTime, DateTime persistedCursorTime) {
|
||||
int totalBillingEventsSaved = 0;
|
||||
long maxProcessedRecurrenceId = 0;
|
||||
SqlBatchResults sqlBatchResults;
|
||||
|
||||
do {
|
||||
final long prevMaxProcessedRecurrenceId = maxProcessedRecurrenceId;
|
||||
sqlBatchResults =
|
||||
jpaTm()
|
||||
.transact(
|
||||
() -> {
|
||||
Set<String> expandedDomains = newHashSet();
|
||||
int batchBillingEventsSaved = 0;
|
||||
long maxRecurrenceId = prevMaxProcessedRecurrenceId;
|
||||
List<Recurring> recurrings =
|
||||
jpaTm()
|
||||
.query(
|
||||
"FROM BillingRecurrence "
|
||||
+ "WHERE eventTime <= :executeTime "
|
||||
+ "AND eventTime < recurrenceEndTime "
|
||||
+ "AND id > :maxProcessedRecurrenceId "
|
||||
+ "AND recurrenceEndTime > :cursorTime "
|
||||
+ "ORDER BY id ASC",
|
||||
Recurring.class)
|
||||
.setParameter("executeTime", executeTime)
|
||||
.setParameter("maxProcessedRecurrenceId", prevMaxProcessedRecurrenceId)
|
||||
.setParameter("cursorTime", cursorTime)
|
||||
.setMaxResults(batchSize)
|
||||
.getResultList();
|
||||
for (Recurring recurring : recurrings) {
|
||||
if (expandedDomains.contains(recurring.getTargetId())) {
|
||||
// On the off chance this batch contains multiple recurrences for the same
|
||||
// domain (which is actually possible if a given domain is quickly renewed
|
||||
// multiple times in a row), then short-circuit after the first one is
|
||||
// processed that involves actually expanding a billing event. This is
|
||||
// necessary because otherwise we get an "Inserted/updated object reloaded"
|
||||
// error from Hibernate when those billing events would be loaded
|
||||
// inside a transaction where they were already written. Note, there is no
|
||||
// actual further work to be done in this case anyway, not unless it has
|
||||
// somehow been over a year since this action last ran successfully (and if
|
||||
// that were somehow true, the remaining billing events would still be
|
||||
// expanded on subsequent runs).
|
||||
continue;
|
||||
}
|
||||
int billingEventsSaved =
|
||||
expandBillingEvent(recurring, executeTime, cursorTime, isDryRun);
|
||||
batchBillingEventsSaved += billingEventsSaved;
|
||||
if (billingEventsSaved > 0) {
|
||||
expandedDomains.add(recurring.getTargetId());
|
||||
}
|
||||
maxRecurrenceId = Math.max(maxRecurrenceId, recurring.getId());
|
||||
}
|
||||
return SqlBatchResults.create(
|
||||
batchBillingEventsSaved,
|
||||
maxRecurrenceId,
|
||||
maxRecurrenceId > prevMaxProcessedRecurrenceId);
|
||||
});
|
||||
totalBillingEventsSaved += sqlBatchResults.batchBillingEventsSaved();
|
||||
maxProcessedRecurrenceId = sqlBatchResults.maxProcessedRecurrenceId();
|
||||
if (sqlBatchResults.batchBillingEventsSaved() > 0) {
|
||||
logger.atInfo().log(
|
||||
"Saved %d billing events in batch (%d total) with max recurrence id %d.",
|
||||
sqlBatchResults.batchBillingEventsSaved(),
|
||||
totalBillingEventsSaved,
|
||||
maxProcessedRecurrenceId);
|
||||
} else {
|
||||
// If we're churning through a lot of no-op recurrences that don't need expanding (yet?),
|
||||
// then only log one no-op every so often as a good balance between letting the user track
|
||||
// that the action is still running while also not spamming the logs incessantly.
|
||||
logger.atInfo().atMostEvery(3, TimeUnit.MINUTES).log(
|
||||
"Processed up to max recurrence id %d (no billing events saved recently).",
|
||||
maxProcessedRecurrenceId);
|
||||
}
|
||||
} while (sqlBatchResults.shouldContinue());
|
||||
|
||||
if (!isDryRun) {
|
||||
logger.atInfo().log("Saved %d total OneTime billing events.", totalBillingEventsSaved);
|
||||
} else {
|
||||
logger.atInfo().log(
|
||||
"Generated %d total OneTime billing events (dry run).", totalBillingEventsSaved);
|
||||
}
|
||||
logger.atInfo().log(
|
||||
"Recurring event expansion %s complete for billing event range [%s, %s).",
|
||||
isDryRun ? "(dry run) " : "", cursorTime, executeTime);
|
||||
tm().transact(
|
||||
() -> {
|
||||
// Check for the unlikely scenario where the cursor has been altered during the
|
||||
// expansion.
|
||||
DateTime currentCursorTime =
|
||||
tm().loadByKeyIfPresent(Cursor.createGlobalVKey(RECURRING_BILLING))
|
||||
.orElse(Cursor.createGlobal(RECURRING_BILLING, START_OF_TIME))
|
||||
.getCursorTime();
|
||||
if (!currentCursorTime.equals(persistedCursorTime)) {
|
||||
throw new IllegalStateException(
|
||||
String.format(
|
||||
"Current cursor position %s does not match persisted cursor position %s.",
|
||||
currentCursorTime, persistedCursorTime));
|
||||
}
|
||||
if (!isDryRun) {
|
||||
tm().put(Cursor.createGlobal(RECURRING_BILLING, executeTime));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@AutoValue
|
||||
abstract static class SqlBatchResults {
|
||||
abstract int batchBillingEventsSaved();
|
||||
|
||||
abstract long maxProcessedRecurrenceId();
|
||||
|
||||
abstract boolean shouldContinue();
|
||||
|
||||
static SqlBatchResults create(
|
||||
int batchBillingEventsSaved, long maxProcessedRecurrenceId, boolean shouldContinue) {
|
||||
return new AutoValue_ExpandRecurringBillingEventsAction_SqlBatchResults(
|
||||
batchBillingEventsSaved, maxProcessedRecurrenceId, shouldContinue);
|
||||
}
|
||||
}
|
||||
|
||||
/** Mapper to expand {@link Recurring} billing events into synthetic {@link OneTime} events. */
|
||||
public static class ExpandRecurringBillingEventsMapper
|
||||
extends Mapper<Recurring, DateTime, DateTime> {
|
||||
|
||||
@@ -1,376 +0,0 @@
|
||||
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.batch;
|
||||
|
||||
import static com.google.appengine.api.taskqueue.QueueConstants.maxLeaseCount;
|
||||
import static com.google.appengine.api.taskqueue.QueueFactory.getQueue;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_HOST_KEY;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.PARAM_REQUESTED_TIME;
|
||||
import static google.registry.batch.AsyncTaskEnqueuer.QUEUE_ASYNC_HOST_RENAME;
|
||||
import static google.registry.batch.AsyncTaskMetrics.OperationType.DNS_REFRESH;
|
||||
import static google.registry.mapreduce.inputs.EppResourceInputs.createEntityInput;
|
||||
import static google.registry.model.EppResourceUtils.getLinkedDomainKeys;
|
||||
import static google.registry.model.EppResourceUtils.isActive;
|
||||
import static google.registry.model.EppResourceUtils.isDeleted;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
import static google.registry.util.DateTimeUtils.latestOf;
|
||||
import static java.util.concurrent.TimeUnit.DAYS;
|
||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
import static java.util.logging.Level.INFO;
|
||||
import static java.util.logging.Level.SEVERE;
|
||||
import static org.joda.time.Duration.standardHours;
|
||||
|
||||
import com.google.appengine.api.taskqueue.LeaseOptions;
|
||||
import com.google.appengine.api.taskqueue.Queue;
|
||||
import com.google.appengine.api.taskqueue.TaskHandle;
|
||||
import com.google.appengine.api.taskqueue.TransientFailureException;
|
||||
import com.google.appengine.tools.mapreduce.Mapper;
|
||||
import com.google.appengine.tools.mapreduce.Reducer;
|
||||
import com.google.appengine.tools.mapreduce.ReducerInput;
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.batch.AsyncTaskMetrics.OperationResult;
|
||||
import google.registry.dns.DnsQueue;
|
||||
import google.registry.mapreduce.MapreduceRunner;
|
||||
import google.registry.mapreduce.inputs.NullInput;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.server.Lock;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Clock;
|
||||
import google.registry.util.NonFinalForTesting;
|
||||
import google.registry.util.RequestStatusChecker;
|
||||
import google.registry.util.Retrier;
|
||||
import google.registry.util.SystemClock;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Level;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import org.apache.http.HttpStatus;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
/** Performs batched DNS refreshes for applicable domains following a host rename. */
|
||||
@Action(
|
||||
service = Action.Service.BACKEND,
|
||||
path = "/_dr/task/refreshDnsOnHostRename",
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
public class RefreshDnsOnHostRenameAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
private static final Duration LEASE_LENGTH = standardHours(4);
|
||||
|
||||
@Inject AsyncTaskMetrics asyncTaskMetrics;
|
||||
@Inject Clock clock;
|
||||
@Inject MapreduceRunner mrRunner;
|
||||
@Inject @Named(QUEUE_ASYNC_HOST_RENAME) Queue pullQueue;
|
||||
|
||||
@Inject DnsQueue dnsQueue;
|
||||
@Inject RequestStatusChecker requestStatusChecker;
|
||||
@Inject Response response;
|
||||
@Inject Retrier retrier;
|
||||
@Inject RefreshDnsOnHostRenameAction() {}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// Check if the lock can be acquired, and if not, a previous run of this mapreduce is still
|
||||
// executing, so return early.
|
||||
Optional<Lock> lock =
|
||||
Lock.acquire(
|
||||
RefreshDnsOnHostRenameAction.class.getSimpleName(),
|
||||
null,
|
||||
LEASE_LENGTH,
|
||||
requestStatusChecker,
|
||||
false);
|
||||
|
||||
if (!lock.isPresent()) {
|
||||
logRespondAndUnlock(INFO, "Can't acquire lock; aborting.", lock);
|
||||
return;
|
||||
}
|
||||
|
||||
// Lease the async tasks to process.
|
||||
LeaseOptions options =
|
||||
LeaseOptions.Builder.withCountLimit(maxLeaseCount())
|
||||
.leasePeriod(LEASE_LENGTH.getStandardSeconds(), SECONDS);
|
||||
List<TaskHandle> tasks = pullQueue.leaseTasks(options);
|
||||
asyncTaskMetrics.recordDnsRefreshBatchSize(tasks.size());
|
||||
|
||||
// Check if there are no tasks to process, and if so, return early.
|
||||
if (tasks.isEmpty()) {
|
||||
logRespondAndUnlock(
|
||||
INFO, "No DNS refresh on host rename tasks to process in pull queue; finishing.", lock);
|
||||
return;
|
||||
}
|
||||
|
||||
ImmutableList.Builder<DnsRefreshRequest> requestsBuilder = new ImmutableList.Builder<>();
|
||||
ImmutableList.Builder<VKey<HostResource>> hostKeys = new ImmutableList.Builder<>();
|
||||
final List<DnsRefreshRequest> requestsToDelete = new ArrayList<>();
|
||||
|
||||
for (TaskHandle task : tasks) {
|
||||
try {
|
||||
DnsRefreshRequest request = DnsRefreshRequest.createFromTask(task, clock.nowUtc());
|
||||
if (request.isRefreshNeeded()) {
|
||||
requestsBuilder.add(request);
|
||||
hostKeys.add(request.hostKey());
|
||||
} else {
|
||||
// Skip hosts that are deleted.
|
||||
requestsToDelete.add(request);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.atSevere().withCause(e).log(
|
||||
"Could not parse DNS refresh for host request, delaying task for a day: %s", task);
|
||||
// Grab the lease for a whole day, so it won't continue throwing errors every five minutes.
|
||||
pullQueue.modifyTaskLease(task, 1L, DAYS);
|
||||
}
|
||||
}
|
||||
|
||||
deleteTasksWithRetry(
|
||||
requestsToDelete, pullQueue, asyncTaskMetrics, retrier, OperationResult.STALE);
|
||||
ImmutableList<DnsRefreshRequest> refreshRequests = requestsBuilder.build();
|
||||
if (refreshRequests.isEmpty()) {
|
||||
logRespondAndUnlock(
|
||||
INFO, "No async DNS refreshes to process because all renamed hosts are deleted.", lock);
|
||||
} else {
|
||||
logger.atInfo().log(
|
||||
"Processing asynchronous DNS refresh for renamed hosts: %s", hostKeys.build());
|
||||
if (tm().isOfy()) {
|
||||
runMapreduce(refreshRequests, lock);
|
||||
} else {
|
||||
try {
|
||||
refreshRequests.stream()
|
||||
.flatMap(
|
||||
request ->
|
||||
getLinkedDomainKeys(request.hostKey(), request.lastUpdateTime(), null)
|
||||
.stream())
|
||||
.distinct()
|
||||
.map(domainKey -> tm().transact(() -> tm().loadByKey(domainKey).getDomainName()))
|
||||
.forEach(
|
||||
domainName -> {
|
||||
retrier.callWithRetry(
|
||||
() -> dnsQueue.addDomainRefreshTask(domainName),
|
||||
TransientFailureException.class);
|
||||
logger.atInfo().log("Enqueued DNS refresh for domain '%s'.", domainName);
|
||||
});
|
||||
deleteTasksWithRetry(
|
||||
refreshRequests,
|
||||
getQueue(QUEUE_ASYNC_HOST_RENAME),
|
||||
asyncTaskMetrics,
|
||||
retrier,
|
||||
OperationResult.SUCCESS);
|
||||
} catch (Throwable t) {
|
||||
String message = "Error refreshing DNS on host rename.";
|
||||
logger.atSevere().withCause(t).log(message);
|
||||
response.setPayload(message);
|
||||
response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR);
|
||||
} finally {
|
||||
lock.get().release();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void runMapreduce(ImmutableList<DnsRefreshRequest> refreshRequests, Optional<Lock> lock) {
|
||||
try {
|
||||
mrRunner
|
||||
.setJobName("Enqueue DNS refreshes for domains referencing renamed hosts")
|
||||
.setModuleName("backend")
|
||||
.setDefaultReduceShards(1)
|
||||
.runMapreduce(
|
||||
new RefreshDnsOnHostRenameMapper(refreshRequests, retrier),
|
||||
new RefreshDnsOnHostRenameReducer(refreshRequests, lock.get(), retrier),
|
||||
// Add an extra NullInput so that the reducer always fires exactly once.
|
||||
ImmutableList.of(new NullInput<>(), createEntityInput(DomainBase.class)))
|
||||
.sendLinkToMapreduceConsole(response);
|
||||
} catch (Throwable t) {
|
||||
logRespondAndUnlock(
|
||||
SEVERE, "Error starting mapreduce to refresh DNS for renamed hosts.", lock);
|
||||
}
|
||||
}
|
||||
|
||||
private void logRespondAndUnlock(Level level, String message, Optional<Lock> lock) {
|
||||
logger.at(level).log(message);
|
||||
response.setPayload(message);
|
||||
lock.ifPresent(Lock::release);
|
||||
}
|
||||
|
||||
/** Map over domains and refresh the DNS of those that reference the renamed hosts. */
|
||||
public static class RefreshDnsOnHostRenameMapper
|
||||
extends Mapper<DomainBase, Boolean, Boolean> {
|
||||
|
||||
private static final long serialVersionUID = -5261698524424335531L;
|
||||
private static final DnsQueue dnsQueue = DnsQueue.create();
|
||||
|
||||
private final ImmutableList<DnsRefreshRequest> refreshRequests;
|
||||
private final Retrier retrier;
|
||||
|
||||
RefreshDnsOnHostRenameMapper(
|
||||
ImmutableList<DnsRefreshRequest> refreshRequests, Retrier retrier) {
|
||||
this.refreshRequests = refreshRequests;
|
||||
this.retrier = retrier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void map(@Nullable final DomainBase domain) {
|
||||
if (domain == null) {
|
||||
// Emit a single value so that the reducer always runs. The key and value don't matter.
|
||||
emit(true, true);
|
||||
return;
|
||||
}
|
||||
VKey<HostResource> referencingHostKey = null;
|
||||
for (DnsRefreshRequest request : refreshRequests) {
|
||||
if (isActive(domain, request.lastUpdateTime())
|
||||
&& domain.getNameservers().contains(request.hostKey())) {
|
||||
referencingHostKey = request.hostKey();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (referencingHostKey != null) {
|
||||
retrier.callWithRetry(
|
||||
() -> dnsQueue.addDomainRefreshTask(domain.getDomainName()),
|
||||
TransientFailureException.class);
|
||||
logger.atInfo().log(
|
||||
"Enqueued DNS refresh for domain %s referenced by host %s.",
|
||||
domain.getDomainName(), referencingHostKey);
|
||||
getContext().incrementCounter("domains refreshed");
|
||||
} else {
|
||||
getContext().incrementCounter("domains not refreshed");
|
||||
}
|
||||
|
||||
// Don't catch errors -- we allow the mapreduce to terminate on any errors that can't be
|
||||
// resolved by retrying the transaction. The reducer only fires if the mapper completes
|
||||
// without errors, meaning that it is acceptable to delete all tasks.
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A reducer that always fires exactly once.
|
||||
*
|
||||
* <p>This is really a reducer in name only; what it's really doing is waiting for all of the
|
||||
* mapper tasks to finish, and then delete the pull queue tasks. Note that this only happens if
|
||||
* the mapper completes execution without errors.
|
||||
*/
|
||||
public static class RefreshDnsOnHostRenameReducer extends Reducer<Boolean, Boolean, Void> {
|
||||
|
||||
private static final long serialVersionUID = 9077366205249562118L;
|
||||
|
||||
@NonFinalForTesting
|
||||
private static AsyncTaskMetrics asyncTaskMetrics = new AsyncTaskMetrics(new SystemClock());
|
||||
|
||||
private final Lock lock;
|
||||
private final Retrier retrier;
|
||||
private final List<DnsRefreshRequest> refreshRequests;
|
||||
|
||||
RefreshDnsOnHostRenameReducer(
|
||||
List<DnsRefreshRequest> refreshRequests, Lock lock, Retrier retrier) {
|
||||
this.refreshRequests = refreshRequests;
|
||||
this.lock = lock;
|
||||
this.retrier = retrier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduce(Boolean key, ReducerInput<Boolean> values) {
|
||||
// The reduce() method is run precisely once, because the NullInput caused the mapper to emit
|
||||
// a dummy value once.
|
||||
deleteTasksWithRetry(
|
||||
refreshRequests,
|
||||
getQueue(QUEUE_ASYNC_HOST_RENAME),
|
||||
asyncTaskMetrics,
|
||||
retrier,
|
||||
OperationResult.SUCCESS);
|
||||
|
||||
lock.release();
|
||||
}
|
||||
}
|
||||
|
||||
/** Deletes a list of tasks from the given queue using a retrier. */
|
||||
private static void deleteTasksWithRetry(
|
||||
final List<DnsRefreshRequest> refreshRequests,
|
||||
final Queue queue,
|
||||
AsyncTaskMetrics asyncTaskMetrics,
|
||||
Retrier retrier,
|
||||
OperationResult result) {
|
||||
if (refreshRequests.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
final List<TaskHandle> tasks =
|
||||
refreshRequests.stream().map(DnsRefreshRequest::task).collect(toImmutableList());
|
||||
retrier.callWithRetry(() -> queue.deleteTask(tasks), TransientFailureException.class);
|
||||
refreshRequests.forEach(
|
||||
r -> asyncTaskMetrics.recordAsyncFlowResult(DNS_REFRESH, result, r.requestedTime()));
|
||||
}
|
||||
|
||||
/** A class that encapsulates the values of a request to refresh DNS for a renamed host. */
|
||||
@AutoValue
|
||||
abstract static class DnsRefreshRequest implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1772812852271288622L;
|
||||
|
||||
abstract VKey<HostResource> hostKey();
|
||||
|
||||
abstract DateTime lastUpdateTime();
|
||||
abstract DateTime requestedTime();
|
||||
abstract boolean isRefreshNeeded();
|
||||
abstract TaskHandle task();
|
||||
|
||||
@AutoValue.Builder
|
||||
abstract static class Builder {
|
||||
abstract Builder setHostKey(VKey<HostResource> hostKey);
|
||||
|
||||
abstract Builder setLastUpdateTime(DateTime lastUpdateTime);
|
||||
abstract Builder setRequestedTime(DateTime requestedTime);
|
||||
abstract Builder setIsRefreshNeeded(boolean isRefreshNeeded);
|
||||
abstract Builder setTask(TaskHandle task);
|
||||
abstract DnsRefreshRequest build();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a packaged-up {@link DnsRefreshRequest} parsed from a task queue task.
|
||||
*/
|
||||
static DnsRefreshRequest createFromTask(TaskHandle task, DateTime now) throws Exception {
|
||||
ImmutableMap<String, String> params = ImmutableMap.copyOf(task.extractParams());
|
||||
VKey<HostResource> hostKey =
|
||||
VKey.create(checkNotNull(params.get(PARAM_HOST_KEY), "Host to refresh not specified"));
|
||||
HostResource host =
|
||||
tm().transact(() -> tm().loadByKeyIfPresent(hostKey))
|
||||
.orElseThrow(() -> new NoSuchElementException("Host to refresh doesn't exist"));
|
||||
boolean isHostDeleted =
|
||||
isDeleted(host, latestOf(now, host.getUpdateTimestamp().getTimestamp()));
|
||||
if (isHostDeleted) {
|
||||
logger.atInfo().log("Host %s is already deleted, not refreshing DNS.", hostKey);
|
||||
}
|
||||
return new AutoValue_RefreshDnsOnHostRenameAction_DnsRefreshRequest.Builder()
|
||||
.setHostKey(hostKey)
|
||||
.setLastUpdateTime(host.getUpdateTimestamp().getTimestamp())
|
||||
.setRequestedTime(
|
||||
DateTime.parse(
|
||||
checkNotNull(params.get(PARAM_REQUESTED_TIME), "Requested time not specified")))
|
||||
.setIsRefreshNeeded(!isHostDeleted)
|
||||
.setTask(task)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,6 @@ public class RelockDomainAction implements Runnable {
|
||||
private final SendEmailService sendEmailService;
|
||||
private final DomainLockUtils domainLockUtils;
|
||||
private final Response response;
|
||||
private final AsyncTaskEnqueuer asyncTaskEnqueuer;
|
||||
|
||||
@Inject
|
||||
public RelockDomainAction(
|
||||
@@ -99,8 +98,7 @@ public class RelockDomainAction implements Runnable {
|
||||
@Config("supportEmail") String supportEmail,
|
||||
SendEmailService sendEmailService,
|
||||
DomainLockUtils domainLockUtils,
|
||||
Response response,
|
||||
AsyncTaskEnqueuer asyncTaskEnqueuer) {
|
||||
Response response) {
|
||||
this.oldUnlockRevisionId = oldUnlockRevisionId;
|
||||
this.previousAttempts = previousAttempts;
|
||||
this.alertRecipientAddress = alertRecipientAddress;
|
||||
@@ -109,7 +107,6 @@ public class RelockDomainAction implements Runnable {
|
||||
this.sendEmailService = sendEmailService;
|
||||
this.domainLockUtils = domainLockUtils;
|
||||
this.response = response;
|
||||
this.asyncTaskEnqueuer = asyncTaskEnqueuer;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -245,8 +242,7 @@ public class RelockDomainAction implements Runnable {
|
||||
}
|
||||
}
|
||||
Duration timeBeforeRetry = previousAttempts < ATTEMPTS_BEFORE_SLOWDOWN ? TEN_MINUTES : ONE_HOUR;
|
||||
asyncTaskEnqueuer.enqueueDomainRelock(
|
||||
timeBeforeRetry, oldUnlockRevisionId, previousAttempts + 1);
|
||||
domainLockUtils.enqueueDomainRelock(timeBeforeRetry, oldUnlockRevisionId, previousAttempts + 1);
|
||||
}
|
||||
|
||||
private void sendSuccessEmail(RegistryLock oldLock) {
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.googlecode.objectify.Key;
|
||||
import google.registry.mapreduce.MapreduceRunner;
|
||||
import google.registry.mapreduce.inputs.EppResourceInputs;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Parameter;
|
||||
import google.registry.request.Response;
|
||||
@@ -56,6 +57,7 @@ import javax.inject.Inject;
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
// No longer needed in SQL. Subject to future removal.
|
||||
@Deprecated
|
||||
@DeleteAfterMigration
|
||||
public class ResaveAllEppResourcesAction implements Runnable {
|
||||
|
||||
@Inject MapreduceRunner mrRunner;
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
// Copyright 2022 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.batch;
|
||||
|
||||
import static google.registry.beam.BeamUtils.createJobName;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_OK;
|
||||
|
||||
import com.google.api.services.dataflow.Dataflow;
|
||||
import com.google.api.services.dataflow.model.LaunchFlexTemplateParameter;
|
||||
import com.google.api.services.dataflow.model.LaunchFlexTemplateRequest;
|
||||
import com.google.api.services.dataflow.model.LaunchFlexTemplateResponse;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import com.google.common.net.MediaType;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.config.RegistryEnvironment;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Parameter;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Clock;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Starts a Dataflow pipeline that resaves all EPP resources projected to the current time.
|
||||
*
|
||||
* <p>This is useful for a few situations. First, as a fallback option for resource transfers that
|
||||
* have expired pending transfers (this will resolve them), just in case the enqueued action fails.
|
||||
* Second, it will reflect domain autorenews that have happened. Third, it will remove any expired
|
||||
* grace periods.
|
||||
*
|
||||
* <p>There's also the general principle that it's good to have the data in the database remain as
|
||||
* current as is reasonably possible.
|
||||
*
|
||||
* <p>If the <code>?isFast=true</code> query string parameter is passed as true, the pipeline will
|
||||
* only attempt to load, project, and resave entities where we expect one of the previous situations
|
||||
* has occurred. Otherwise, we will load, project, and resave all EPP resources.
|
||||
*
|
||||
* <p>This runs the {@link google.registry.beam.resave.ResaveAllEppResourcesPipeline}.
|
||||
*/
|
||||
@Action(
|
||||
service = Action.Service.BACKEND,
|
||||
path = ResaveAllEppResourcesPipelineAction.PATH,
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
public class ResaveAllEppResourcesPipelineAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
static final String PATH = "/_dr/task/resaveAllEppResourcesPipeline";
|
||||
static final String PIPELINE_NAME = "resave_all_epp_resources_pipeline";
|
||||
|
||||
public static final String PARAM_FAST = "fast";
|
||||
|
||||
private final String projectId;
|
||||
private final String jobRegion;
|
||||
private final String stagingBucketUrl;
|
||||
private final boolean fast;
|
||||
private final Clock clock;
|
||||
private final Response response;
|
||||
private final Dataflow dataflow;
|
||||
|
||||
@Inject
|
||||
ResaveAllEppResourcesPipelineAction(
|
||||
@Config("projectId") String projectId,
|
||||
@Config("defaultJobRegion") String jobRegion,
|
||||
@Config("beamStagingBucketUrl") String stagingBucketUrl,
|
||||
@Parameter(PARAM_FAST) Optional<Boolean> fast,
|
||||
Clock clock,
|
||||
Response response,
|
||||
Dataflow dataflow) {
|
||||
this.projectId = projectId;
|
||||
this.jobRegion = jobRegion;
|
||||
this.stagingBucketUrl = stagingBucketUrl;
|
||||
this.fast = fast.orElse(false);
|
||||
this.clock = clock;
|
||||
this.response = response;
|
||||
this.dataflow = dataflow;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
response.setContentType(MediaType.PLAIN_TEXT_UTF_8);
|
||||
logger.atInfo().log("Launching ResaveAllEppResourcesPipeline");
|
||||
try {
|
||||
LaunchFlexTemplateParameter parameter =
|
||||
new LaunchFlexTemplateParameter()
|
||||
.setJobName(createJobName("resave-all-epp-resources", clock))
|
||||
.setContainerSpecGcsPath(
|
||||
String.format("%s/%s_metadata.json", stagingBucketUrl, PIPELINE_NAME))
|
||||
.setParameters(
|
||||
new ImmutableMap.Builder<String, String>()
|
||||
.put(PARAM_FAST, Boolean.toString(fast))
|
||||
.put("registryEnvironment", RegistryEnvironment.get().name())
|
||||
.build());
|
||||
LaunchFlexTemplateResponse launchResponse =
|
||||
dataflow
|
||||
.projects()
|
||||
.locations()
|
||||
.flexTemplates()
|
||||
.launch(
|
||||
projectId,
|
||||
jobRegion,
|
||||
new LaunchFlexTemplateRequest().setLaunchParameter(parameter))
|
||||
.execute();
|
||||
logger.atInfo().log("Got response: %s", launchResponse.getJob().toPrettyString());
|
||||
String jobId = launchResponse.getJob().getId();
|
||||
response.setStatus(SC_OK);
|
||||
response.setPayload(String.format("Launched resaveAllEppResources pipeline: %s", jobId));
|
||||
} catch (Exception e) {
|
||||
logger.atSevere().withCause(e).log("Template Launch failed.");
|
||||
response.setStatus(SC_INTERNAL_SERVER_ERROR);
|
||||
response.setPayload(String.format("Pipeline launch failed: %s", e.getMessage()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,6 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedSet;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.persistence.VKey;
|
||||
@@ -50,7 +49,7 @@ public class ResaveEntityAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
private final Key<ImmutableObject> resourceKey;
|
||||
private final String resourceKey;
|
||||
private final DateTime requestedTime;
|
||||
private final ImmutableSortedSet<DateTime> resaveTimes;
|
||||
private final AsyncTaskEnqueuer asyncTaskEnqueuer;
|
||||
@@ -58,7 +57,7 @@ public class ResaveEntityAction implements Runnable {
|
||||
|
||||
@Inject
|
||||
ResaveEntityAction(
|
||||
@Parameter(PARAM_RESOURCE_KEY) Key<ImmutableObject> resourceKey,
|
||||
@Parameter(PARAM_RESOURCE_KEY) String resourceKey,
|
||||
@Parameter(PARAM_REQUESTED_TIME) DateTime requestedTime,
|
||||
@Parameter(PARAM_RESAVE_TIMES) ImmutableSet<DateTime> resaveTimes,
|
||||
AsyncTaskEnqueuer asyncTaskEnqueuer,
|
||||
@@ -76,15 +75,14 @@ public class ResaveEntityAction implements Runnable {
|
||||
"Re-saving entity %s which was enqueued at %s.", resourceKey, requestedTime);
|
||||
tm().transact(
|
||||
() -> {
|
||||
// TODO(/207363014): figure out if this should modified for vkey string replacement
|
||||
ImmutableObject entity = tm().loadByKey(VKey.from(resourceKey));
|
||||
ImmutableObject entity = tm().loadByKey(VKey.create(resourceKey));
|
||||
tm().put(
|
||||
(entity instanceof EppResource)
|
||||
? ((EppResource) entity).cloneProjectedAtTime(tm().getTransactionTime())
|
||||
: entity);
|
||||
if (!resaveTimes.isEmpty()) {
|
||||
asyncTaskEnqueuer.enqueueAsyncResave(
|
||||
VKey.from(resourceKey), requestedTime, resaveTimes);
|
||||
VKey.create(resourceKey), requestedTime, resaveTimes);
|
||||
}
|
||||
});
|
||||
response.setPayload("Entity re-saved.");
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.config.RegistryEnvironment;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
@@ -45,6 +46,7 @@ import javax.inject.Inject;
|
||||
service = Action.Service.BACKEND,
|
||||
path = "/_dr/task/wipeOutDatastore",
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
@DeleteAfterMigration
|
||||
public class WipeoutDatastoreAction implements Runnable {
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.google.common.collect.Streams;
|
||||
import google.registry.beam.common.RegistryQuery.CriteriaQuerySupplier;
|
||||
import google.registry.model.UpdateAutoTimestamp;
|
||||
import google.registry.model.UpdateAutoTimestamp.DisableAutoUpdateResource;
|
||||
import google.registry.model.replay.SqlEntity;
|
||||
import google.registry.persistence.transaction.JpaTransactionManager;
|
||||
import google.registry.persistence.transaction.TransactionManagerFactory;
|
||||
import java.io.Serializable;
|
||||
@@ -175,7 +174,7 @@ public final class RegistryJpaIO {
|
||||
* JpaTransactionManager#setDatabaseSnapshot}.
|
||||
*/
|
||||
// TODO(b/193662898): vendor-independent support for richer transaction semantics.
|
||||
public Read<R, T> withSnapshot(String snapshotId) {
|
||||
public Read<R, T> withSnapshot(@Nullable String snapshotId) {
|
||||
return toBuilder().snapshotId(snapshotId).build();
|
||||
}
|
||||
|
||||
@@ -428,11 +427,23 @@ public final class RegistryJpaIO {
|
||||
}
|
||||
}
|
||||
|
||||
/** Returns this entity's primary key field(s) in a string. */
|
||||
private String toEntityKeyString(Object entity) {
|
||||
if (entity instanceof SqlEntity) {
|
||||
return ((SqlEntity) entity).getPrimaryKeyString();
|
||||
try {
|
||||
return jpaTm()
|
||||
.transact(
|
||||
() ->
|
||||
String.format(
|
||||
"%s_%s",
|
||||
entity.getClass().getSimpleName(),
|
||||
jpaTm()
|
||||
.getEntityManager()
|
||||
.getEntityManagerFactory()
|
||||
.getPersistenceUnitUtil()
|
||||
.getIdentifier(entity)));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return "Non-SqlEntity: " + entity;
|
||||
}
|
||||
return "Non-SqlEntity: " + String.valueOf(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import google.registry.config.RegistryConfig.ConfigModule;
|
||||
import google.registry.persistence.PersistenceModule;
|
||||
import google.registry.persistence.PersistenceModule.BeamBulkQueryJpaTm;
|
||||
import google.registry.persistence.PersistenceModule.BeamJpaTm;
|
||||
import google.registry.persistence.PersistenceModule.BeamReadOnlyReplicaJpaTm;
|
||||
import google.registry.persistence.PersistenceModule.TransactionIsolationLevel;
|
||||
import google.registry.persistence.transaction.JpaTransactionManager;
|
||||
import google.registry.privileges.secretmanager.SecretManagerModule;
|
||||
@@ -59,6 +60,13 @@ public interface RegistryPipelineComponent {
|
||||
@BeamBulkQueryJpaTm
|
||||
Lazy<JpaTransactionManager> getBulkQueryJpaTransactionManager();
|
||||
|
||||
/**
|
||||
* A {@link JpaTransactionManager} that uses the Postgres read-only replica if configured (uses
|
||||
* the standard DB otherwise).
|
||||
*/
|
||||
@BeamReadOnlyReplicaJpaTm
|
||||
Lazy<JpaTransactionManager> getReadOnlyReplicaJpaTransactionManager();
|
||||
|
||||
@Component.Builder
|
||||
interface Builder {
|
||||
|
||||
|
||||
@@ -56,6 +56,10 @@ public class RegistryPipelineWorkerInitializer implements JvmInitializer {
|
||||
case BULK_QUERY:
|
||||
transactionManagerLazy = registryPipelineComponent.getBulkQueryJpaTransactionManager();
|
||||
break;
|
||||
case READ_ONLY_REPLICA:
|
||||
transactionManagerLazy =
|
||||
registryPipelineComponent.getReadOnlyReplicaJpaTransactionManager();
|
||||
break;
|
||||
case REGULAR:
|
||||
default:
|
||||
transactionManagerLazy = registryPipelineComponent.getJpaTransactionManager();
|
||||
@@ -63,7 +67,8 @@ public class RegistryPipelineWorkerInitializer implements JvmInitializer {
|
||||
TransactionManagerFactory.setJpaTmOnBeamWorker(transactionManagerLazy::get);
|
||||
// Masquerade all threads as App Engine threads so we can create Ofy keys in the pipeline. Also
|
||||
// loads all ofy entities.
|
||||
new AppEngineEnvironment("Beam").setEnvironmentForAllThreads();
|
||||
new AppEngineEnvironment("s~" + registryPipelineComponent.getProjectId())
|
||||
.setEnvironmentForAllThreads();
|
||||
// Set the system property so that we can call IdService.allocateId() without access to
|
||||
// datastore.
|
||||
SystemPropertySetter.PRODUCTION_IMPL.setProperty(PROPERTY, "true");
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.google.common.collect.ImmutableSortedSet;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import com.google.datastore.v1.Entity;
|
||||
import google.registry.config.RegistryEnvironment;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
@@ -79,6 +80,7 @@ import org.apache.beam.sdk.values.TupleTagList;
|
||||
* types in the Datastore using the {@code --numOfKindsHint} argument. If the default value for this
|
||||
* parameter is too low, performance will suffer.
|
||||
*/
|
||||
@DeleteAfterMigration
|
||||
public class BulkDeleteDatastorePipeline {
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ import com.google.datastore.v1.client.DatastoreOptions;
|
||||
import com.google.datastore.v1.client.QuerySplitter;
|
||||
import com.google.protobuf.Int32Value;
|
||||
import com.google.rpc.Code;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.NoSuchElementException;
|
||||
@@ -80,6 +81,7 @@ import org.joda.time.Duration;
|
||||
* Contains an adaptation of {@link org.apache.beam.sdk.io.gcp.datastore.DatastoreV1.Read}. See
|
||||
* {@link MultiRead} for details.
|
||||
*/
|
||||
@DeleteAfterMigration
|
||||
public class DatastoreV1 {
|
||||
|
||||
// A package-private constructor to prevent direct instantiation from outside of this package
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.initsql;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Streams;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/**
|
||||
* Helpers for determining the fully qualified paths to Nomulus backup files. A backup consists of a
|
||||
* Datastore export and Nomulus CommitLogs that overlap with the export.
|
||||
*/
|
||||
public final class BackupPaths {
|
||||
|
||||
private BackupPaths() {}
|
||||
|
||||
private static final String WILDCARD_CHAR = "*";
|
||||
private static final String EXPORT_PATTERN_TEMPLATE = "%s/all_namespaces/kind_%s/output-%s";
|
||||
|
||||
public static final String COMMIT_LOG_NAME_PREFIX = "commit_diff_until_";
|
||||
private static final String COMMIT_LOG_PATTERN_TEMPLATE = "%s/" + COMMIT_LOG_NAME_PREFIX + "*";
|
||||
|
||||
/**
|
||||
* Pattern of the per-project file with Cloud SQL connection information. To get a concrete path,
|
||||
* user needs to provide the name of the environment, alpha, crash, sandbox, or production. This
|
||||
* file is meant for applications without access to secrets stored in Datastore.
|
||||
*
|
||||
* <p>In production, this is an base-64 encoded encrypted file with one line, which contains
|
||||
* space-separated values of Cloud SQL instance name, login, and password.
|
||||
*
|
||||
* <p>A plain text may be used for tests to a local database. Replace Cloud SQL instance name with
|
||||
* JDBC URL.
|
||||
*/
|
||||
private static final String SQL_CONN_INFO_FILE_PATTERN =
|
||||
"gs://domain-registry-dev-deploy/cloudsql-credentials/%s/admin_credential.enc";
|
||||
|
||||
private static final ImmutableSet<String> ALLOWED_ENV =
|
||||
ImmutableSet.of("alpha", "crash", "sandbox", "production");
|
||||
|
||||
/**
|
||||
* Returns a regex pattern that matches all Datastore export files of a given {@code kind}.
|
||||
*
|
||||
* @param exportDir path to the top directory of a Datastore export
|
||||
* @param kind the 'kind' of the Datastore entity
|
||||
*/
|
||||
public static String getExportFileNamePattern(String exportDir, String kind) {
|
||||
checkArgument(!isNullOrEmpty(exportDir), "Null or empty exportDir.");
|
||||
checkArgument(!isNullOrEmpty(kind), "Null or empty kind.");
|
||||
return String.format(EXPORT_PATTERN_TEMPLATE, exportDir, kind, WILDCARD_CHAR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an {@link ImmutableList} of regex patterns that match all Datastore export files of the
|
||||
* given {@code kinds}.
|
||||
*
|
||||
* @param exportDir path to the top directory of a Datastore export
|
||||
* @param kinds all entity 'kinds' to be matched
|
||||
*/
|
||||
public static ImmutableList<String> getExportFilePatterns(
|
||||
String exportDir, Iterable<String> kinds) {
|
||||
checkNotNull(kinds, "kinds");
|
||||
return Streams.stream(kinds)
|
||||
.map(kind -> getExportFileNamePattern(exportDir, kind))
|
||||
.collect(ImmutableList.toImmutableList());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the fully qualified path of a Datastore export file with the given {@code kind} and
|
||||
* {@code shard}.
|
||||
*
|
||||
* @param exportDir path to the top directory of a Datastore export
|
||||
* @param kind the 'kind' of the Datastore entity
|
||||
* @param shard an integer suffix of the file name
|
||||
*/
|
||||
public static String getExportFileNameByShard(String exportDir, String kind, int shard) {
|
||||
checkArgument(!isNullOrEmpty(exportDir), "Null or empty exportDir.");
|
||||
checkArgument(!isNullOrEmpty(kind), "Null or empty kind.");
|
||||
checkArgument(shard >= 0, "Negative shard %s not allowed.", shard);
|
||||
return String.format(EXPORT_PATTERN_TEMPLATE, exportDir, kind, shard);
|
||||
}
|
||||
|
||||
/** Returns an {@link ImmutableList} of regex patterns that match all CommitLog files. */
|
||||
public static ImmutableList<String> getCommitLogFilePatterns(String commitLogDir) {
|
||||
return ImmutableList.of(String.format(COMMIT_LOG_PATTERN_TEMPLATE, commitLogDir));
|
||||
}
|
||||
|
||||
/** Gets the Commit timestamp from a CommitLog file name. */
|
||||
public static DateTime getCommitLogTimestamp(String fileName) {
|
||||
checkArgument(!isNullOrEmpty(fileName), "Null or empty fileName.");
|
||||
int start = fileName.lastIndexOf(COMMIT_LOG_NAME_PREFIX);
|
||||
checkArgument(start >= 0, "Illegal file name %s.", fileName);
|
||||
return DateTime.parse(fileName.substring(start + COMMIT_LOG_NAME_PREFIX.length()));
|
||||
}
|
||||
|
||||
public static ImmutableList<String> getCloudSQLCredentialFilePatterns(String environmentName) {
|
||||
checkArgument(
|
||||
ALLOWED_ENV.contains(environmentName), "Invalid environment name %s", environmentName);
|
||||
return ImmutableList.of(String.format(SQL_CONN_INFO_FILE_PATTERN, environmentName));
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.initsql;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.google.appengine.api.datastore.Entity;
|
||||
import java.util.Objects;
|
||||
|
||||
/** Helper for manipulating {@code DomainBase} when migrating from Datastore to SQL database */
|
||||
final class DomainBaseUtil {
|
||||
|
||||
private DomainBaseUtil() {}
|
||||
|
||||
/**
|
||||
* Removes properties that contain foreign keys from a Datastore {@link Entity} that represents an
|
||||
* Ofy {@link google.registry.model.domain.DomainBase}. This breaks the cycle of foreign key
|
||||
* constraints between entity kinds, allowing {@code DomainBases} to be inserted into the SQL
|
||||
* database. See {@link InitSqlPipeline} for a use case, where the full {@code DomainBases} are
|
||||
* written again during the last stage of the pipeline.
|
||||
*
|
||||
* <p>The returned object may be in bad state. Specifically, {@link
|
||||
* google.registry.model.eppcommon.StatusValue#INACTIVE} is not added after name servers are
|
||||
* removed. This only impacts tests that manipulate Datastore entities directly.
|
||||
*
|
||||
* <p>This operation is performed on an Datastore {@link Entity} instead of Ofy Java object
|
||||
* because Objectify requires access to a Datastore service when converting an Ofy object to a
|
||||
* Datastore {@code Entity}. If we insist on working with Objectify objects, we face a few
|
||||
* unsatisfactory options:
|
||||
*
|
||||
* <ul>
|
||||
* <li>Connect to our production Datastore, which incurs unnecessary security and code health
|
||||
* risk.
|
||||
* <li>Connect to a separate real Datastore instance, which is a waster and overkill.
|
||||
* <li>Use an in-memory test Datastore, which is a project health risk in that the test
|
||||
* Datastore would be added to Nomulus' production binary unless we create a separate
|
||||
* project for this pipeline.
|
||||
* </ul>
|
||||
*
|
||||
* <p>Given our use case, operating on Datastore entities is the best option.
|
||||
*
|
||||
* @throws IllegalArgumentException if input does not represent a DomainBase
|
||||
*/
|
||||
static Entity removeBillingAndPollAndHosts(Entity domainBase) {
|
||||
checkNotNull(domainBase, "domainBase");
|
||||
checkArgument(
|
||||
Objects.equals(domainBase.getKind(), "DomainBase"),
|
||||
"Expecting DomainBase, got %s",
|
||||
domainBase.getKind());
|
||||
Entity clone = domainBase.clone();
|
||||
clone.removeProperty("autorenewBillingEvent");
|
||||
clone.removeProperty("autorenewPollMessage");
|
||||
clone.removeProperty("deletePollMessage");
|
||||
clone.removeProperty("nsHosts");
|
||||
domainBase.getProperties().keySet().stream()
|
||||
.filter(s -> s.startsWith("transferData."))
|
||||
.forEach(s -> clone.removeProperty(s));
|
||||
domainBase.getProperties().keySet().stream()
|
||||
.filter(s -> s.startsWith("gracePeriods."))
|
||||
.forEach(s -> clone.removeProperty(s));
|
||||
return clone;
|
||||
}
|
||||
}
|
||||
@@ -1,240 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.initsql;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.backup.VersionedEntity;
|
||||
import google.registry.beam.common.RegistryJpaIO;
|
||||
import google.registry.beam.initsql.Transforms.RemoveDomainBaseForeignKeys;
|
||||
import google.registry.model.billing.BillingEvent;
|
||||
import google.registry.model.common.Cursor;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.token.AllocationToken;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.poll.PollMessage;
|
||||
import google.registry.model.registrar.Registrar;
|
||||
import google.registry.model.registrar.RegistrarContact;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.tld.Registry;
|
||||
import google.registry.persistence.PersistenceModule.TransactionIsolationLevel;
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
import org.apache.beam.sdk.PipelineResult;
|
||||
import org.apache.beam.sdk.options.PipelineOptionsFactory;
|
||||
import org.apache.beam.sdk.transforms.ParDo;
|
||||
import org.apache.beam.sdk.transforms.Wait;
|
||||
import org.apache.beam.sdk.values.PCollection;
|
||||
import org.apache.beam.sdk.values.PCollectionTuple;
|
||||
import org.apache.beam.sdk.values.TupleTag;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/**
|
||||
* A BEAM pipeline that populates a SQL database with data from a Datastore backup.
|
||||
*
|
||||
* <p>This pipeline migrates EPP resources and related entities that cross-reference each other. To
|
||||
* avoid violating foreign key constraints, writes to SQL are ordered by entity kinds. In addition,
|
||||
* the {@link DomainBase} kind is written twice (see details below). The write order is presented
|
||||
* below. Although some kinds can be written concurrently, e.g. {@code ContactResource} and {@code
|
||||
* RegistrarContact}, we do not expect any performance benefit since the limiting resource is the
|
||||
* number of JDBC connections. Google internal users may refer to <a
|
||||
* href="http://go/registry-r3-init-sql">the design doc</a> for more information.
|
||||
*
|
||||
* <ol>
|
||||
* <li>{@link Registry}: Assumes that {@code PremiumList} and {@code ReservedList} have been set
|
||||
* up in the SQL database.
|
||||
* <li>{@link Cursor}: Logically can depend on {@code Registry}, but without foreign key.
|
||||
* <li>{@link Registrar}: Logically depends on {@code Registry}, Foreign key not modeled yet.
|
||||
* <li>{@link ContactResource}: references {@code Registrar}
|
||||
* <li>{@link RegistrarContact}: references {@code Registrar}.
|
||||
* <li>Cleansed {@link DomainBase}: with references to {@code BillingEvent}, {@code Recurring},
|
||||
* {@code Cancellation} and {@code HostResource} removed, still references {@code Registrar}
|
||||
* and {@code ContactResource}. The removal breaks circular Foreign Key references.
|
||||
* <li>{@link HostResource}: references {@code DomainBase}.
|
||||
* <li>{@link HistoryEntry}: maps to one of three SQL entity types and may reference {@code
|
||||
* Registrar}, {@code ContactResource}, {@code HostResource}, and {@code DomainBase}.
|
||||
* <li>{@link AllocationToken}: references {@code HistoryEntry}.
|
||||
* <li>{@link BillingEvent.Recurring}: references {@code Registrar}, {@code DomainBase} and {@code
|
||||
* HistoryEntry}.
|
||||
* <li>{@link BillingEvent.OneTime}: references {@code Registrar}, {@code DomainBase}, {@code
|
||||
* BillingEvent.Recurring}, {@code HistoryEntry} and {@code AllocationToken}.
|
||||
* <li>{@link BillingEvent.Cancellation}: references {@code Registrar}, {@code DomainBase}, {@code
|
||||
* BillingEvent.Recurring}, {@code BillingEvent.OneTime}, and {@code HistoryEntry}.
|
||||
* <li>{@link PollMessage}: references {@code Registrar}, {@code DomainBase}, {@code
|
||||
* ContactResource}, {@code HostResource}, and {@code HistoryEntry}.
|
||||
* <li>{@link DomainBase}, original copy from Datastore.
|
||||
* </ol>
|
||||
*
|
||||
* <p>This pipeline expects that the source Datastore has at least one entity in each of the types
|
||||
* above. This assumption allows us to construct a simpler pipeline graph that can be visually
|
||||
* examined, and is true in all intended use cases. However, tests must not violate this assumption
|
||||
* when setting up data, otherwise they may run into foreign key constraint violations. The reason
|
||||
* is that this pipeline uses the {@link Wait} transform to order the persistence by entity type.
|
||||
* However, the wait is skipped if the target type has no data, resulting in subsequent entity types
|
||||
* starting prematurely. E.g., if a Datastore has no {@code RegistrarContact} entities, the pipeline
|
||||
* may start writing {@code DomainBase} entities before all {@code Registry}, {@code Registrar} and
|
||||
* {@code ContactResource} entities have been persisted.
|
||||
*/
|
||||
public class InitSqlPipeline implements Serializable {
|
||||
|
||||
/**
|
||||
* Datastore kinds to be written to the SQL database before the cleansed version of {@link
|
||||
* DomainBase}.
|
||||
*/
|
||||
private static final ImmutableList<Class<?>> PHASE_ONE_ORDERED =
|
||||
ImmutableList.of(
|
||||
Registry.class,
|
||||
Cursor.class,
|
||||
Registrar.class,
|
||||
ContactResource.class,
|
||||
RegistrarContact.class);
|
||||
|
||||
/**
|
||||
* Datastore kinds to be written to the SQL database after the cleansed version of {@link
|
||||
* DomainBase}.
|
||||
*/
|
||||
private static final ImmutableList<Class<?>> PHASE_TWO_ORDERED =
|
||||
ImmutableList.of(
|
||||
HostResource.class,
|
||||
HistoryEntry.class,
|
||||
AllocationToken.class,
|
||||
BillingEvent.Recurring.class,
|
||||
BillingEvent.OneTime.class,
|
||||
BillingEvent.Cancellation.class,
|
||||
PollMessage.class,
|
||||
DomainBase.class);
|
||||
|
||||
private final InitSqlPipelineOptions options;
|
||||
|
||||
InitSqlPipeline(InitSqlPipelineOptions options) {
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
PipelineResult run() {
|
||||
return run(Pipeline.create(options));
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
PipelineResult run(Pipeline pipeline) {
|
||||
setupPipeline(pipeline);
|
||||
return pipeline.run();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void setupPipeline(Pipeline pipeline) {
|
||||
options.setIsolationOverride(TransactionIsolationLevel.TRANSACTION_READ_UNCOMMITTED);
|
||||
PCollectionTuple datastoreSnapshot =
|
||||
pipeline.apply(
|
||||
"Load Datastore snapshot",
|
||||
Transforms.loadDatastoreSnapshot(
|
||||
options.getDatastoreExportDir(),
|
||||
options.getCommitLogDir(),
|
||||
DateTime.parse(options.getCommitLogStartTimestamp()),
|
||||
DateTime.parse(options.getCommitLogEndTimestamp()),
|
||||
ImmutableSet.<String>builder()
|
||||
.add("DomainBase")
|
||||
.addAll(toKindStrings(PHASE_ONE_ORDERED))
|
||||
.addAll(toKindStrings(PHASE_TWO_ORDERED))
|
||||
.build()));
|
||||
|
||||
// Set up the pipeline to write entity kinds from PHASE_ONE_ORDERED to SQL. Return a object
|
||||
// that signals the completion of the phase.
|
||||
PCollection<Void> blocker =
|
||||
scheduleOnePhaseWrites(datastoreSnapshot, PHASE_ONE_ORDERED, Optional.empty(), null);
|
||||
blocker =
|
||||
writeToSql(
|
||||
"DomainBase without circular foreign keys",
|
||||
removeDomainBaseForeignKeys(datastoreSnapshot)
|
||||
.apply("Wait on phase one", Wait.on(blocker)));
|
||||
// Set up the pipeline to write entity kinds from PHASE_TWO_ORDERED to SQL. This phase won't
|
||||
// start until all cleansed DomainBases have been written (started by line above).
|
||||
scheduleOnePhaseWrites(
|
||||
datastoreSnapshot, PHASE_TWO_ORDERED, Optional.of(blocker), "DomainBaseNoFkeys");
|
||||
}
|
||||
|
||||
private PCollection<VersionedEntity> removeDomainBaseForeignKeys(
|
||||
PCollectionTuple datastoreSnapshot) {
|
||||
PCollection<VersionedEntity> domainBases =
|
||||
datastoreSnapshot.get(Transforms.createTagForKind("DomainBase"));
|
||||
return domainBases.apply(
|
||||
"Remove circular foreign keys from DomainBase",
|
||||
ParDo.of(new RemoveDomainBaseForeignKeys()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the pipeline to write entities in {@code entityClasses} to SQL. Entities are written
|
||||
* one kind at a time based on each kind's position in {@code entityClasses}. Concurrency exists
|
||||
* within each kind.
|
||||
*
|
||||
* @param datastoreSnapshot the Datastore snapshot of all data to be migrated to SQL
|
||||
* @param entityClasses the entity types in write order
|
||||
* @param blockingPCollection the pipeline stage that blocks this phase
|
||||
* @param blockingTag description of the stage (if exists) that blocks this phase. Needed for
|
||||
* generating unique transform ids
|
||||
* @return the output {@code PCollection} from the writing of the last entity kind. Other parts of
|
||||
* the pipeline can {@link Wait} on this object
|
||||
*/
|
||||
private PCollection<Void> scheduleOnePhaseWrites(
|
||||
PCollectionTuple datastoreSnapshot,
|
||||
Collection<Class<?>> entityClasses,
|
||||
Optional<PCollection<Void>> blockingPCollection,
|
||||
String blockingTag) {
|
||||
checkArgument(!entityClasses.isEmpty(), "Each phase must have at least one kind.");
|
||||
ImmutableList<TupleTag<VersionedEntity>> tags =
|
||||
toKindStrings(entityClasses).stream()
|
||||
.map(Transforms::createTagForKind)
|
||||
.collect(ImmutableList.toImmutableList());
|
||||
|
||||
PCollection<Void> prev = blockingPCollection.orElse(null);
|
||||
String prevTag = blockingTag;
|
||||
for (TupleTag<VersionedEntity> tag : tags) {
|
||||
PCollection<VersionedEntity> curr = datastoreSnapshot.get(tag);
|
||||
if (prev != null) {
|
||||
curr = curr.apply("Wait on " + prevTag, Wait.on(prev));
|
||||
}
|
||||
prev = writeToSql(tag.getId(), curr);
|
||||
prevTag = tag.getId();
|
||||
}
|
||||
return prev;
|
||||
}
|
||||
|
||||
private PCollection<Void> writeToSql(String transformId, PCollection<VersionedEntity> data) {
|
||||
return data.apply(
|
||||
"Write to Sql: " + transformId,
|
||||
RegistryJpaIO.<VersionedEntity>write()
|
||||
.withName(transformId)
|
||||
.withBatchSize(options.getSqlWriteBatchSize())
|
||||
.withShards(options.getSqlWriteShards())
|
||||
.withJpaConverter(Transforms::convertVersionedEntityToSqlEntity)
|
||||
.disableUpdateAutoTimestamp());
|
||||
}
|
||||
|
||||
private static ImmutableList<String> toKindStrings(Collection<Class<?>> entityClasses) {
|
||||
return entityClasses.stream().map(Key::getKind).collect(ImmutableList.toImmutableList());
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
InitSqlPipelineOptions options =
|
||||
PipelineOptionsFactory.fromArgs(args).withValidation().as(InitSqlPipelineOptions.class);
|
||||
new InitSqlPipeline(options).run();
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.initsql;
|
||||
|
||||
import google.registry.beam.common.RegistryPipelineOptions;
|
||||
import org.apache.beam.sdk.options.Description;
|
||||
import org.apache.beam.sdk.options.Validation;
|
||||
|
||||
/** Pipeline options for {@link InitSqlPipeline} */
|
||||
public interface InitSqlPipelineOptions extends RegistryPipelineOptions {
|
||||
|
||||
@Description("The root directory of the export to load.")
|
||||
String getDatastoreExportDir();
|
||||
|
||||
void setDatastoreExportDir(String datastoreExportDir);
|
||||
|
||||
@Description("The directory that contains all CommitLog files.")
|
||||
String getCommitLogDir();
|
||||
|
||||
void setCommitLogDir(String commitLogDir);
|
||||
|
||||
@Description("The earliest CommitLogs to load, in ISO8601 format.")
|
||||
@Validation.Required
|
||||
String getCommitLogStartTimestamp();
|
||||
|
||||
void setCommitLogStartTimestamp(String commitLogStartTimestamp);
|
||||
|
||||
@Description("The latest CommitLogs to load, in ISO8601 format.")
|
||||
@Validation.Required
|
||||
String getCommitLogEndTimestamp();
|
||||
|
||||
void setCommitLogEndTimestamp(String commitLogEndTimestamp);
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
## Summary
|
||||
|
||||
This package contains a BEAM pipeline that populates a Cloud SQL database from a
|
||||
Datastore backup. The pipeline uses an unsynchronized Datastore export and
|
||||
overlapping CommitLogs generated by the Nomulus server to recreate a consistent
|
||||
Datastore snapshot, and writes the data to a Cloud SQL instance.
|
||||
|
||||
## Pipeline Visualization
|
||||
|
||||
The golden flow graph of the InitSqlPipeline is saved both as a text-base
|
||||
[DOT file](../../../../../../test/resources/google/registry/beam/initsql/pipeline_golden.dot)
|
||||
and a
|
||||
[.png file](../../../../../../test/resources/google/registry/beam/initsql/pipeline_golden.png).
|
||||
A test compares the flow graph of the current pipeline with the golden graph,
|
||||
and will fail if changes are detected. When this happens, run the Gradle task
|
||||
':core:updateInitSqlPipelineGraph' to update the golden files and review the
|
||||
changes.
|
||||
@@ -1,480 +0,0 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.initsql;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static google.registry.beam.initsql.BackupPaths.getCommitLogTimestamp;
|
||||
import static google.registry.beam.initsql.BackupPaths.getExportFilePatterns;
|
||||
import static google.registry.model.ofy.ObjectifyService.auditedOfy;
|
||||
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
||||
import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
||||
import static google.registry.util.DomainNameUtils.canonicalizeDomainName;
|
||||
import static java.util.Comparator.comparing;
|
||||
import static org.apache.beam.sdk.values.TypeDescriptors.kvs;
|
||||
import static org.apache.beam.sdk.values.TypeDescriptors.strings;
|
||||
|
||||
import avro.shaded.com.google.common.collect.Iterators;
|
||||
import com.google.appengine.api.datastore.Entity;
|
||||
import com.google.appengine.api.datastore.EntityTranslator;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Streams;
|
||||
import google.registry.backup.CommitLogImports;
|
||||
import google.registry.backup.VersionedEntity;
|
||||
import google.registry.model.billing.BillingEvent.Flag;
|
||||
import google.registry.model.billing.BillingEvent.Reason;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.replay.DatastoreAndSqlEntity;
|
||||
import google.registry.model.replay.SqlEntity;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.tools.LevelDbLogReader;
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.function.Supplier;
|
||||
import javax.annotation.Nullable;
|
||||
import org.apache.beam.sdk.coders.StringUtf8Coder;
|
||||
import org.apache.beam.sdk.io.Compression;
|
||||
import org.apache.beam.sdk.io.FileIO;
|
||||
import org.apache.beam.sdk.io.FileIO.ReadableFile;
|
||||
import org.apache.beam.sdk.io.fs.EmptyMatchTreatment;
|
||||
import org.apache.beam.sdk.io.fs.MatchResult.Metadata;
|
||||
import org.apache.beam.sdk.transforms.Create;
|
||||
import org.apache.beam.sdk.transforms.DoFn;
|
||||
import org.apache.beam.sdk.transforms.Flatten;
|
||||
import org.apache.beam.sdk.transforms.GroupByKey;
|
||||
import org.apache.beam.sdk.transforms.MapElements;
|
||||
import org.apache.beam.sdk.transforms.PTransform;
|
||||
import org.apache.beam.sdk.transforms.ParDo;
|
||||
import org.apache.beam.sdk.transforms.ProcessFunction;
|
||||
import org.apache.beam.sdk.values.KV;
|
||||
import org.apache.beam.sdk.values.PBegin;
|
||||
import org.apache.beam.sdk.values.PCollection;
|
||||
import org.apache.beam.sdk.values.PCollectionList;
|
||||
import org.apache.beam.sdk.values.PCollectionTuple;
|
||||
import org.apache.beam.sdk.values.TupleTag;
|
||||
import org.apache.beam.sdk.values.TupleTagList;
|
||||
import org.apache.beam.sdk.values.TypeDescriptor;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/**
|
||||
* {@link PTransform Pipeline transforms} used in pipelines that load from both Datastore export
|
||||
* files and Nomulus CommitLog files.
|
||||
*/
|
||||
public final class Transforms {
|
||||
|
||||
private Transforms() {}
|
||||
|
||||
/**
|
||||
* The commitTimestamp assigned to all entities loaded from a Datastore export file. The exact
|
||||
* value does not matter, but it must be lower than the timestamps of real CommitLog records.
|
||||
*/
|
||||
@VisibleForTesting static final long EXPORT_ENTITY_TIME_STAMP = START_OF_TIME.getMillis();
|
||||
|
||||
/**
|
||||
* Returns a {@link TupleTag} that can be used to retrieve entities of the given {@code kind} from
|
||||
* the Datastore snapshot returned by {@link #loadDatastoreSnapshot}.
|
||||
*/
|
||||
public static TupleTag<VersionedEntity> createTagForKind(String kind) {
|
||||
// When used with PCollectionTuple the result must retain generic type information.
|
||||
// Both the Generic param and the empty bracket below are important.
|
||||
return new TupleTag<VersionedEntity>(Transforms.class.getSimpleName() + ":" + kind) {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Composite {@link PTransform transform} that loads the Datastore snapshot at {@code
|
||||
* commitLogToTime} for caller specified {@code kinds}.
|
||||
*
|
||||
* <p>Caller must provide the location of a Datastore export that started AFTER {@code
|
||||
* commitLogFromTime} and completed BEFORE {@code commitLogToTime}, as well as the root directory
|
||||
* of all CommitLog files.
|
||||
*
|
||||
* <p>Selection of {@code commitLogFromTime} and {@code commitLogToTime} should follow the
|
||||
* guidelines below to ensure that all incremental changes concurrent with the export are covered:
|
||||
*
|
||||
* <ul>
|
||||
* <li>Two or more CommitLogs should exist between {@code commitLogFromTime} and the starting
|
||||
* time of the Datastore export. This ensures that the earlier CommitLog file was complete
|
||||
* before the export started.
|
||||
* <li>Two or more CommitLogs should exit between the export completion time and {@code
|
||||
* commitLogToTime}.
|
||||
* </ul>
|
||||
*
|
||||
* <p>The output from the returned transform is a {@link PCollectionTuple} consisting of {@link
|
||||
* VersionedEntity VersionedEntities} grouped into {@link PCollection PCollections} by {@code
|
||||
* kind}.
|
||||
*/
|
||||
public static PTransform<PBegin, PCollectionTuple> loadDatastoreSnapshot(
|
||||
String exportDir,
|
||||
String commitLogDir,
|
||||
DateTime commitLogFromTime,
|
||||
DateTime commitLogToTime,
|
||||
Set<String> kinds) {
|
||||
checkArgument(kinds != null && !kinds.isEmpty(), "At least one kind is expected.");
|
||||
|
||||
// Create tags to collect entities by kind in final step.
|
||||
final ImmutableMap<String, TupleTag<VersionedEntity>> outputTags =
|
||||
kinds.stream()
|
||||
.collect(ImmutableMap.toImmutableMap(kind -> kind, Transforms::createTagForKind));
|
||||
// Arbitrarily select one tag as mainOutTag and put the remaining ones in a TupleTagList.
|
||||
// This separation is required by ParDo's config API.
|
||||
Iterator<TupleTag<VersionedEntity>> tagsIt = outputTags.values().iterator();
|
||||
final TupleTag<VersionedEntity> mainOutputTag = tagsIt.next();
|
||||
final TupleTagList additionalTags = TupleTagList.of(ImmutableList.copyOf(tagsIt));
|
||||
|
||||
return new PTransform<PBegin, PCollectionTuple>() {
|
||||
@Override
|
||||
public PCollectionTuple expand(PBegin input) {
|
||||
PCollection<VersionedEntity> exportedEntities =
|
||||
input
|
||||
.apply("Get export file patterns", getDatastoreExportFilePatterns(exportDir, kinds))
|
||||
.apply("Find export files", getFilesByPatterns())
|
||||
.apply("Load export data", loadExportDataFromFiles());
|
||||
PCollection<VersionedEntity> commitLogEntities =
|
||||
input
|
||||
.apply("Get commitlog file patterns", getCommitLogFilePatterns(commitLogDir))
|
||||
.apply("Find commitlog files", getFilesByPatterns())
|
||||
.apply(
|
||||
"Filter commitLog by time",
|
||||
filterCommitLogsByTime(commitLogFromTime, commitLogToTime))
|
||||
.apply("Load commitlog data", loadCommitLogsFromFiles(kinds));
|
||||
return PCollectionList.of(exportedEntities)
|
||||
.and(commitLogEntities)
|
||||
.apply("Merge exports and CommitLogs", Flatten.pCollections())
|
||||
.apply(
|
||||
"Key entities by Datastore Keys",
|
||||
// Converting to KV<String, VE> instead of KV<Key, VE> b/c default coder for Key
|
||||
// (SerializableCoder) is not deterministic and cannot be used with GroupBy.
|
||||
MapElements.into(kvs(strings(), TypeDescriptor.of(VersionedEntity.class)))
|
||||
.via((VersionedEntity e) -> KV.of(e.key().toString(), e)))
|
||||
.apply("Gather entities by key", GroupByKey.create())
|
||||
.apply(
|
||||
"Output latest version per entity",
|
||||
ParDo.of(
|
||||
new DoFn<KV<String, Iterable<VersionedEntity>>, VersionedEntity>() {
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element KV<String, Iterable<VersionedEntity>> kv,
|
||||
MultiOutputReceiver out) {
|
||||
Optional<VersionedEntity> latest =
|
||||
Streams.stream(kv.getValue())
|
||||
.sorted(comparing(VersionedEntity::commitTimeMills).reversed())
|
||||
.findFirst();
|
||||
// Throw to abort (after default retries). Investigate, fix, and rerun.
|
||||
checkState(
|
||||
latest.isPresent(), "Unexpected key with no data", kv.getKey());
|
||||
if (latest.get().isDelete()) {
|
||||
return;
|
||||
}
|
||||
String kind = latest.get().getEntity().get().getKind();
|
||||
out.get(outputTags.get(kind)).output(latest.get());
|
||||
}
|
||||
})
|
||||
.withOutputTags(mainOutputTag, additionalTags));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a {@link PTransform transform} that can generate a collection of patterns that match
|
||||
* all Datastore CommitLog files.
|
||||
*/
|
||||
public static PTransform<PBegin, PCollection<String>> getCommitLogFilePatterns(
|
||||
String commitLogDir) {
|
||||
return toStringPCollection(BackupPaths.getCommitLogFilePatterns(commitLogDir));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a {@link PTransform transform} that can generate a collection of patterns that match
|
||||
* all Datastore export files of the given {@code kinds}.
|
||||
*/
|
||||
public static PTransform<PBegin, PCollection<String>> getDatastoreExportFilePatterns(
|
||||
String exportDir, Collection<String> kinds) {
|
||||
return toStringPCollection(getExportFilePatterns(exportDir, kinds));
|
||||
}
|
||||
|
||||
public static PTransform<PBegin, PCollection<String>> getCloudSqlConnectionInfoFilePatterns(
|
||||
String gcpProjectName) {
|
||||
return toStringPCollection(BackupPaths.getCloudSQLCredentialFilePatterns(gcpProjectName));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a {@link PTransform} from file name patterns to file {@link Metadata Metadata records}.
|
||||
*/
|
||||
public static PTransform<PCollection<String>, PCollection<Metadata>> getFilesByPatterns() {
|
||||
return new PTransform<PCollection<String>, PCollection<Metadata>>() {
|
||||
@Override
|
||||
public PCollection<Metadata> expand(PCollection<String> input) {
|
||||
return input.apply(FileIO.matchAll().withEmptyMatchTreatment(EmptyMatchTreatment.ALLOW));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns CommitLog files with timestamps between {@code fromTime} (inclusive) and {@code
|
||||
* endTime} (exclusive).
|
||||
*/
|
||||
public static PTransform<PCollection<? extends Metadata>, PCollection<Metadata>>
|
||||
filterCommitLogsByTime(DateTime fromTime, DateTime toTime) {
|
||||
return ParDo.of(new FilterCommitLogFileByTime(fromTime, toTime));
|
||||
}
|
||||
|
||||
/** Returns a {@link PTransform} from file {@link Metadata} to {@link VersionedEntity}. */
|
||||
public static PTransform<PCollection<Metadata>, PCollection<VersionedEntity>>
|
||||
loadExportDataFromFiles() {
|
||||
return processFiles(
|
||||
new BackupFileReader(
|
||||
file ->
|
||||
Iterators.transform(
|
||||
LevelDbLogReader.from(file.open()),
|
||||
(byte[] bytes) -> VersionedEntity.from(EXPORT_ENTITY_TIME_STAMP, bytes))));
|
||||
}
|
||||
|
||||
/** Returns a {@link PTransform} from file {@link Metadata} to {@link VersionedEntity}. */
|
||||
public static PTransform<PCollection<Metadata>, PCollection<VersionedEntity>>
|
||||
loadCommitLogsFromFiles(Set<String> kinds) {
|
||||
return processFiles(
|
||||
new BackupFileReader(
|
||||
file ->
|
||||
CommitLogImports.loadEntities(file.open()).stream()
|
||||
.filter(e -> kinds.contains(e.key().getKind()))
|
||||
.iterator()));
|
||||
}
|
||||
|
||||
// Production data repair configs go below. See b/185954992.
|
||||
|
||||
// Prober domains in bad state, without associated contacts, hosts, billings, and non-synthesized
|
||||
// history. They can be safely ignored.
|
||||
private static final ImmutableSet<String> IGNORED_DOMAINS =
|
||||
ImmutableSet.of("6AF6D2-IQCANT", "2-IQANYT");
|
||||
|
||||
// Prober hosts referencing phantom registrars. They and their associated history entries can be
|
||||
// safely ignored.
|
||||
private static final ImmutableSet<String> IGNORED_HOSTS =
|
||||
ImmutableSet.of(
|
||||
"4E21_WJ0TEST-GOOGLE",
|
||||
"4E21_WJ1TEST-GOOGLE",
|
||||
"4E21_WJ2TEST-GOOGLE",
|
||||
"4E21_WJ3TEST-GOOGLE");
|
||||
|
||||
// Prober contacts referencing phantom registrars. They and their associated history entries can
|
||||
// be safely ignored.
|
||||
private static final ImmutableSet<String> IGNORED_CONTACTS =
|
||||
ImmutableSet.of(
|
||||
"1_WJ0TEST-GOOGLE", "1_WJ1TEST-GOOGLE", "1_WJ2TEST-GOOGLE", "1_WJ3TEST-GOOGLE");
|
||||
|
||||
private static boolean isMigratable(Entity entity) {
|
||||
// Checks specific to production data. See b/185954992 for details.
|
||||
// The names of these bad entities in production do not conflict with other environments. For
|
||||
// simplicities sake we apply them regardless of the source of the data.
|
||||
if (entity.getKind().equals("DomainBase")
|
||||
&& IGNORED_DOMAINS.contains(entity.getKey().getName())) {
|
||||
return false;
|
||||
}
|
||||
if (entity.getKind().equals("ContactResource")) {
|
||||
String roid = entity.getKey().getName();
|
||||
return !IGNORED_CONTACTS.contains(roid);
|
||||
}
|
||||
if (entity.getKind().equals("HostResource")) {
|
||||
String roid = entity.getKey().getName();
|
||||
return !IGNORED_HOSTS.contains(roid);
|
||||
}
|
||||
if (entity.getKind().equals("HistoryEntry")) {
|
||||
// Remove production bad data: Histories of ignored EPP resources:
|
||||
com.google.appengine.api.datastore.Key parentKey = entity.getKey().getParent();
|
||||
if (parentKey.getKind().equals("ContactResource")) {
|
||||
String contactRoid = parentKey.getName();
|
||||
return !IGNORED_CONTACTS.contains(contactRoid);
|
||||
}
|
||||
if (parentKey.getKind().equals("HostResource")) {
|
||||
String hostRoid = parentKey.getName();
|
||||
return !IGNORED_HOSTS.contains(hostRoid);
|
||||
}
|
||||
if (parentKey.getKind().equals("DomainBase")) {
|
||||
String domainRoid = parentKey.getName();
|
||||
return !IGNORED_DOMAINS.contains(domainRoid);
|
||||
}
|
||||
}
|
||||
// End of production-specific checks.
|
||||
|
||||
if (entity.getKind().equals("HistoryEntry")) {
|
||||
// DOMAIN_APPLICATION_CREATE is deprecated type and should not be migrated.
|
||||
// The Enum name DOMAIN_APPLICATION_CREATE no longer exists in Java and cannot
|
||||
// be deserialized.
|
||||
return !Objects.equals(entity.getProperty("type"), "DOMAIN_APPLICATION_CREATE");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static Entity repairBadData(Entity entity) {
|
||||
if (entity.getKind().equals("Cancellation")
|
||||
&& Objects.equals(entity.getProperty("reason"), "AUTO_RENEW")) {
|
||||
// AUTO_RENEW has been moved from 'reason' to flags. Change reason to RENEW and add the
|
||||
// AUTO_RENEW flag. Note: all affected entities have empty flags so we can simply assign
|
||||
// instead of append. See b/185954992.
|
||||
entity.setUnindexedProperty("reason", Reason.RENEW.name());
|
||||
entity.setUnindexedProperty("flags", ImmutableList.of(Flag.AUTO_RENEW.name()));
|
||||
} else if (entity.getKind().equals("DomainBase")) {
|
||||
// Canonicalize old domain/host names from 2016 and earlier before we were enforcing this.
|
||||
entity.setIndexedProperty(
|
||||
"fullyQualifiedDomainName",
|
||||
canonicalizeDomainName((String) entity.getProperty("fullyQualifiedDomainName")));
|
||||
} else if (entity.getKind().equals("HostResource")) {
|
||||
entity.setIndexedProperty(
|
||||
"fullyQualifiedHostName",
|
||||
canonicalizeDomainName((String) entity.getProperty("fullyQualifiedHostName")));
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
private static SqlEntity toSqlEntity(Object ofyEntity) {
|
||||
if (ofyEntity instanceof HistoryEntry) {
|
||||
HistoryEntry ofyHistory = (HistoryEntry) ofyEntity;
|
||||
return (SqlEntity) ofyHistory.toChildHistoryEntity();
|
||||
}
|
||||
return ((DatastoreAndSqlEntity) ofyEntity).toSqlEntity().get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a {@link VersionedEntity} to an JPA entity for persistence.
|
||||
*
|
||||
* @return An object to be persisted to SQL, or null if the input is not to be migrated. (Not
|
||||
* using Optional in return because as a one-use method, we do not want to invest the effort
|
||||
* to make Optional work with BEAM)
|
||||
*/
|
||||
@Nullable
|
||||
public static Object convertVersionedEntityToSqlEntity(VersionedEntity dsEntity) {
|
||||
return dsEntity
|
||||
.getEntity()
|
||||
.filter(Transforms::isMigratable)
|
||||
.map(Transforms::repairBadData)
|
||||
.map(e -> auditedOfy().toPojo(e))
|
||||
.map(Transforms::toSqlEntity)
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
/** Interface for serializable {@link Supplier suppliers}. */
|
||||
public interface SerializableSupplier<T> extends Supplier<T>, Serializable {}
|
||||
|
||||
/**
|
||||
* Returns a {@link PTransform} that produces a {@link PCollection} containing all elements in the
|
||||
* given {@link Iterable}.
|
||||
*/
|
||||
private static PTransform<PBegin, PCollection<String>> toStringPCollection(
|
||||
Iterable<String> strings) {
|
||||
return Create.of(strings).withCoder(StringUtf8Coder.of());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a {@link PTransform} from file {@link Metadata} to {@link VersionedEntity} using
|
||||
* caller-provided {@code transformer}.
|
||||
*/
|
||||
private static PTransform<PCollection<Metadata>, PCollection<VersionedEntity>> processFiles(
|
||||
DoFn<ReadableFile, VersionedEntity> transformer) {
|
||||
return new PTransform<PCollection<Metadata>, PCollection<VersionedEntity>>() {
|
||||
@Override
|
||||
public PCollection<VersionedEntity> expand(PCollection<Metadata> input) {
|
||||
return input
|
||||
.apply(FileIO.readMatches().withCompression(Compression.UNCOMPRESSED))
|
||||
.apply(transformer.getClass().getSimpleName(), ParDo.of(transformer));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static class FilterCommitLogFileByTime extends DoFn<Metadata, Metadata> {
|
||||
private final DateTime fromTime;
|
||||
private final DateTime toTime;
|
||||
|
||||
FilterCommitLogFileByTime(DateTime fromTime, DateTime toTime) {
|
||||
checkNotNull(fromTime, "fromTime");
|
||||
checkNotNull(toTime, "toTime");
|
||||
checkArgument(
|
||||
fromTime.isBefore(toTime),
|
||||
"Invalid time range: fromTime (%s) is before endTime (%s)",
|
||||
fromTime,
|
||||
toTime);
|
||||
this.fromTime = fromTime;
|
||||
this.toTime = toTime;
|
||||
}
|
||||
|
||||
@ProcessElement
|
||||
public void processElement(@Element Metadata fileMeta, OutputReceiver<Metadata> out) {
|
||||
DateTime timestamp = getCommitLogTimestamp(fileMeta.resourceId().toString());
|
||||
if (isBeforeOrAt(fromTime, timestamp) && timestamp.isBefore(toTime)) {
|
||||
out.output(fileMeta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads from a Datastore backup file and converts its content into {@link VersionedEntity
|
||||
* VersionedEntities}.
|
||||
*
|
||||
* <p>The input file may be either a LevelDb file from a Datastore export or a CommitLog file
|
||||
* generated by the Nomulus server. In either case, the file contains variable-length records and
|
||||
* must be read sequentially from the beginning. If the read fails, the file needs to be retried
|
||||
* from the beginning.
|
||||
*/
|
||||
private static class BackupFileReader extends DoFn<ReadableFile, VersionedEntity> {
|
||||
private final ProcessFunction<ReadableFile, Iterator<VersionedEntity>> reader;
|
||||
|
||||
private BackupFileReader(ProcessFunction<ReadableFile, Iterator<VersionedEntity>> reader) {
|
||||
this.reader = reader;
|
||||
}
|
||||
|
||||
@ProcessElement
|
||||
public void processElement(@Element ReadableFile file, OutputReceiver<VersionedEntity> out) {
|
||||
try {
|
||||
reader.apply(file).forEachRemaining(out::output);
|
||||
} catch (Exception e) {
|
||||
// Let the pipeline use default retry strategy on the whole file. For GCP Dataflow this
|
||||
// means retrying up to 4 times (may include other files grouped with this one), and failing
|
||||
// the pipeline if no success.
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes BillingEvents, {@link google.registry.model.poll.PollMessage PollMessages} and {@link
|
||||
* google.registry.model.host.HostResource} from a {@link DomainBase}. These are circular foreign
|
||||
* key constraints that prevent migration of {@code DomainBase} to SQL databases.
|
||||
*
|
||||
* <p>See {@link InitSqlPipeline} for more information.
|
||||
*/
|
||||
static class RemoveDomainBaseForeignKeys extends DoFn<VersionedEntity, VersionedEntity> {
|
||||
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element VersionedEntity domainBase, OutputReceiver<VersionedEntity> out) {
|
||||
checkArgument(
|
||||
domainBase.getEntity().isPresent(), "Unexpected delete entity %s", domainBase.key());
|
||||
Entity outputEntity =
|
||||
DomainBaseUtil.removeBillingAndPollAndHosts(domainBase.getEntity().get());
|
||||
out.output(
|
||||
VersionedEntity.from(
|
||||
domainBase.commitTimeMills(),
|
||||
EntityTranslator.convertToPb(outputEntity).toByteArray()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,7 @@ import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||
import static google.registry.beam.BeamUtils.getQueryFromFile;
|
||||
import static org.apache.beam.sdk.values.TypeDescriptors.strings;
|
||||
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.beam.common.RegistryJpaIO;
|
||||
import google.registry.beam.common.RegistryJpaIO.Read;
|
||||
import google.registry.beam.invoicing.BillingEvent.InvoiceGroupingKey;
|
||||
@@ -35,15 +36,14 @@ import java.time.LocalTime;
|
||||
import java.time.YearMonth;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.regex.Pattern;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
import org.apache.beam.sdk.PipelineResult;
|
||||
import org.apache.beam.sdk.coders.SerializableCoder;
|
||||
import org.apache.beam.sdk.coders.StringUtf8Coder;
|
||||
import org.apache.beam.sdk.io.FileIO;
|
||||
import org.apache.beam.sdk.io.TextIO;
|
||||
import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO;
|
||||
import org.apache.beam.sdk.options.PipelineOptionsFactory;
|
||||
import org.apache.beam.sdk.transforms.Contextful;
|
||||
import org.apache.beam.sdk.transforms.Count;
|
||||
@@ -53,6 +53,7 @@ import org.apache.beam.sdk.transforms.PTransform;
|
||||
import org.apache.beam.sdk.values.KV;
|
||||
import org.apache.beam.sdk.values.PCollection;
|
||||
import org.apache.beam.sdk.values.TypeDescriptor;
|
||||
import org.joda.money.CurrencyUnit;
|
||||
|
||||
/**
|
||||
* Definition of a Dataflow Flex pipeline template, which generates a given month's invoices.
|
||||
@@ -73,6 +74,8 @@ public class InvoicingPipeline implements Serializable {
|
||||
private static final Pattern SQL_COMMENT_REGEX =
|
||||
Pattern.compile("^\\s*--.*\\n", Pattern.MULTILINE);
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
private final InvoicingPipelineOptions options;
|
||||
|
||||
InvoicingPipeline(InvoicingPipelineOptions options) {
|
||||
@@ -87,57 +90,53 @@ public class InvoicingPipeline implements Serializable {
|
||||
|
||||
void setupPipeline(Pipeline pipeline) {
|
||||
options.setIsolationOverride(TransactionIsolationLevel.TRANSACTION_READ_COMMITTED);
|
||||
PCollection<BillingEvent> billingEvents =
|
||||
options.getDatabase().equals("DATASTORE")
|
||||
? readFromBigQuery(options, pipeline)
|
||||
: readFromCloudSql(options, pipeline);
|
||||
|
||||
PCollection<BillingEvent> billingEvents = readFromCloudSql(options, pipeline);
|
||||
saveInvoiceCsv(billingEvents, options);
|
||||
|
||||
saveDetailedCsv(billingEvents, options);
|
||||
}
|
||||
|
||||
static PCollection<BillingEvent> readFromBigQuery(
|
||||
InvoicingPipelineOptions options, Pipeline pipeline) {
|
||||
return pipeline.apply(
|
||||
"Read BillingEvents from Bigquery",
|
||||
BigQueryIO.read(BillingEvent::parseFromRecord)
|
||||
.fromQuery(makeQuery(options.getYearMonth(), options.getProject()))
|
||||
.withCoder(SerializableCoder.of(BillingEvent.class))
|
||||
.usingStandardSql()
|
||||
.withoutValidation()
|
||||
.withTemplateCompatibility());
|
||||
}
|
||||
|
||||
static PCollection<BillingEvent> readFromCloudSql(
|
||||
InvoicingPipelineOptions options, Pipeline pipeline) {
|
||||
Read<Object[], BillingEvent> read =
|
||||
RegistryJpaIO.read(
|
||||
makeCloudSqlQuery(options.getYearMonth()), false, InvoicingPipeline::parseRow);
|
||||
makeCloudSqlQuery(options.getYearMonth()), false, row -> parseRow(row).orElse(null));
|
||||
|
||||
return pipeline.apply("Read BillingEvents from Cloud SQL", read);
|
||||
PCollection<BillingEvent> billingEventsWithNulls =
|
||||
pipeline.apply("Read BillingEvents from Cloud SQL", read);
|
||||
|
||||
// Remove null billing events
|
||||
return billingEventsWithNulls.apply(Filter.by(Objects::nonNull));
|
||||
}
|
||||
|
||||
private static BillingEvent parseRow(Object[] row) {
|
||||
private static Optional<BillingEvent> parseRow(Object[] row) {
|
||||
google.registry.model.billing.BillingEvent.OneTime oneTime =
|
||||
(google.registry.model.billing.BillingEvent.OneTime) row[0];
|
||||
Registrar registrar = (Registrar) row[1];
|
||||
return BillingEvent.create(
|
||||
oneTime.getId(),
|
||||
DateTimeUtils.toZonedDateTime(oneTime.getBillingTime(), ZoneId.of("UTC")),
|
||||
DateTimeUtils.toZonedDateTime(oneTime.getEventTime(), ZoneId.of("UTC")),
|
||||
registrar.getRegistrarId(),
|
||||
registrar.getBillingIdentifier().toString(),
|
||||
registrar.getPoNumber().orElse(""),
|
||||
DomainNameUtils.getTldFromDomainName(oneTime.getTargetId()),
|
||||
oneTime.getReason().toString(),
|
||||
oneTime.getTargetId(),
|
||||
oneTime.getDomainRepoId(),
|
||||
Optional.ofNullable(oneTime.getPeriodYears()).orElse(0),
|
||||
oneTime.getCost().getCurrencyUnit().toString(),
|
||||
oneTime.getCost().getAmount().doubleValue(),
|
||||
String.join(
|
||||
" ", oneTime.getFlags().stream().map(Flag::toString).collect(toImmutableSet())));
|
||||
CurrencyUnit currency = oneTime.getCost().getCurrencyUnit();
|
||||
if (!registrar.getBillingAccountMap().containsKey(currency)) {
|
||||
logger.atSevere().log(
|
||||
"Registrar %s does not have a product account key for the currency unit: %s",
|
||||
registrar.getRegistrarId(), currency);
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
return Optional.of(
|
||||
BillingEvent.create(
|
||||
oneTime.getId(),
|
||||
DateTimeUtils.toZonedDateTime(oneTime.getBillingTime(), ZoneId.of("UTC")),
|
||||
DateTimeUtils.toZonedDateTime(oneTime.getEventTime(), ZoneId.of("UTC")),
|
||||
registrar.getRegistrarId(),
|
||||
registrar.getBillingAccountMap().get(currency),
|
||||
registrar.getPoNumber().orElse(""),
|
||||
DomainNameUtils.getTldFromDomainName(oneTime.getTargetId()),
|
||||
oneTime.getReason().toString(),
|
||||
oneTime.getTargetId(),
|
||||
oneTime.getDomainRepoId(),
|
||||
Optional.ofNullable(oneTime.getPeriodYears()).orElse(0),
|
||||
oneTime.getCost().getCurrencyUnit().toString(),
|
||||
oneTime.getCost().getAmount().doubleValue(),
|
||||
String.join(
|
||||
" ", oneTime.getFlags().stream().map(Flag::toString).collect(toImmutableSet()))));
|
||||
}
|
||||
|
||||
/** Transform that converts a {@code BillingEvent} into an invoice CSV row. */
|
||||
|
||||
@@ -30,11 +30,6 @@ public interface InvoicingPipelineOptions extends RegistryPipelineOptions {
|
||||
|
||||
void setInvoiceFilePrefix(String value);
|
||||
|
||||
@Description("The database to read data from.")
|
||||
String getDatabase();
|
||||
|
||||
void setDatabase(String value);
|
||||
|
||||
@Description("The GCS bucket URL for invoices and detailed reports to be uploaded.")
|
||||
String getBillingBucketUrl();
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ import org.apache.beam.sdk.values.PDone;
|
||||
import org.bouncycastle.jce.provider.BouncyCastleProvider;
|
||||
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
public class RdeIO {
|
||||
|
||||
@@ -167,13 +168,13 @@ public class RdeIO {
|
||||
Optional.ofNullable(key.revision())
|
||||
.orElseGet(() -> RdeRevision.getNextRevision(tld, watermark, mode));
|
||||
String id = RdeUtil.timestampToId(watermark);
|
||||
String prefix = options.getJobName();
|
||||
String basename = RdeNamingUtils.makeRydeFilename(tld, watermark, mode, 1, revision);
|
||||
String prefix =
|
||||
options.getJobName()
|
||||
+ '/'
|
||||
+ RdeNamingUtils.makeRydeFilename(tld, watermark, mode, 1, revision);
|
||||
if (key.manual()) {
|
||||
checkState(key.directoryWithTrailingSlash() != null, "Manual subdirectory not specified");
|
||||
prefix = prefix + "/manual/" + key.directoryWithTrailingSlash() + basename;
|
||||
} else {
|
||||
prefix = prefix + '/' + basename;
|
||||
prefix = "manual/" + key.directoryWithTrailingSlash() + prefix;
|
||||
}
|
||||
BlobId xmlFilename = BlobId.of(rdeBucket, prefix + ".xml.ghostryde");
|
||||
// This file will contain the byte length (ASCII) of the raw unencrypted XML.
|
||||
@@ -248,6 +249,9 @@ public class RdeIO {
|
||||
// Now that we're done, output roll the cursor forward.
|
||||
if (key.manual()) {
|
||||
logger.atInfo().log("Manual operation; not advancing cursor or enqueuing upload task.");
|
||||
// Temporary measure to run RDE in beam in parallel with the daily MapReduce based RDE runs.
|
||||
} else if (tm().isOfy()) {
|
||||
logger.atInfo().log("Ofy is primary TM; not advancing cursor or enqueuing upload task.");
|
||||
} else {
|
||||
outputReceiver.output(KV.of(key, revision));
|
||||
}
|
||||
@@ -258,6 +262,7 @@ public class RdeIO {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
private static final long serialVersionUID = 5822176227753327224L;
|
||||
private static final Duration ENQUEUE_DELAY = Duration.standardMinutes(1);
|
||||
|
||||
private final CloudTasksUtils cloudTasksUtils;
|
||||
|
||||
@@ -268,10 +273,10 @@ public class RdeIO {
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element KV<PendingDeposit, Integer> input, PipelineOptions options) {
|
||||
|
||||
tm().transact(
|
||||
() -> {
|
||||
PendingDeposit key = input.getKey();
|
||||
int revision = input.getValue();
|
||||
Registry registry = Registry.get(key.tld());
|
||||
Optional<Cursor> cursor =
|
||||
transactIfJpaTm(
|
||||
@@ -293,22 +298,30 @@ public class RdeIO {
|
||||
tm().put(Cursor.create(key.cursor(), newPosition, registry));
|
||||
logger.atInfo().log(
|
||||
"Rolled forward %s on %s cursor to %s.", key.cursor(), key.tld(), newPosition);
|
||||
RdeRevision.saveRevision(key.tld(), key.watermark(), key.mode(), revision);
|
||||
RdeRevision.saveRevision(key.tld(), key.watermark(), key.mode(), input.getValue());
|
||||
// Enqueueing a task is a side effect that is not undone if the transaction rolls
|
||||
// back. So this may result in multiple copies of the same task being processed.
|
||||
// This is fine because the RdeUploadAction is guarded by a lock and tracks progress
|
||||
// by cursor. The BrdaCopyAction writes a file to GCS, which is an atomic action. It
|
||||
// is also guarded by a cursor to not run before the cursor is updated. We also
|
||||
// include a delay to minimize the chance that the enqueued job executes before the
|
||||
// transaction is committed, which triggers a retry.
|
||||
if (key.mode() == RdeMode.FULL) {
|
||||
cloudTasksUtils.enqueue(
|
||||
RDE_UPLOAD_QUEUE,
|
||||
CloudTasksUtils.createPostTask(
|
||||
cloudTasksUtils.createPostTaskWithDelay(
|
||||
RdeUploadAction.PATH,
|
||||
Service.BACKEND.getServiceId(),
|
||||
ImmutableMultimap.of(
|
||||
RequestParameters.PARAM_TLD,
|
||||
key.tld(),
|
||||
RdeModule.PARAM_PREFIX,
|
||||
options.getJobName() + '/')));
|
||||
options.getJobName() + '/'),
|
||||
ENQUEUE_DELAY));
|
||||
} else {
|
||||
cloudTasksUtils.enqueue(
|
||||
BRDA_QUEUE,
|
||||
CloudTasksUtils.createPostTask(
|
||||
cloudTasksUtils.createPostTaskWithDelay(
|
||||
BrdaCopyAction.PATH,
|
||||
Service.BACKEND.getServiceId(),
|
||||
ImmutableMultimap.of(
|
||||
@@ -317,7 +330,8 @@ public class RdeIO {
|
||||
RdeModule.PARAM_WATERMARK,
|
||||
key.watermark().toString(),
|
||||
RdeModule.PARAM_PREFIX,
|
||||
options.getJobName() + '/')));
|
||||
options.getJobName() + '/'),
|
||||
ENQUEUE_DELAY));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package google.registry.beam.rde;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||
import static google.registry.beam.rde.RdePipeline.TupleTags.DOMAIN_FRAGMENTS;
|
||||
import static google.registry.beam.rde.RdePipeline.TupleTags.EXTERNAL_HOST_FRAGMENTS;
|
||||
@@ -28,10 +29,12 @@ import static google.registry.model.reporting.HistoryEntryDao.RESOURCE_TYPES_TO_
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
import static org.apache.beam.sdk.values.TypeDescriptors.kvs;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.collect.Streams;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import com.google.common.io.BaseEncoding;
|
||||
import dagger.BindsInstance;
|
||||
import dagger.Component;
|
||||
@@ -198,6 +201,8 @@ public class RdePipeline implements Serializable {
|
||||
HostHistory.class,
|
||||
"hostBase");
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
@Inject
|
||||
RdePipeline(RdePipelineOptions options, GcsUtils gcsUtils, CloudTasksUtils cloudTasksUtils) {
|
||||
this.options = options;
|
||||
@@ -357,6 +362,33 @@ public class RdePipeline implements Serializable {
|
||||
.setCoder(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()));
|
||||
}
|
||||
|
||||
private <T extends HistoryEntry> EppResource loadResourceByHistoryEntryId(
|
||||
Class<T> historyEntryClazz, String repoId, Iterable<Long> revisionIds) {
|
||||
ImmutableList<Long> ids = ImmutableList.copyOf(revisionIds);
|
||||
// The size should always be 1 because we are only getting one repo ID -> revision ID pair per
|
||||
// repo ID from the source transform (the JPA query in the method above). But for some reason
|
||||
// after CoGroupByKey (joining the revision IDs and the pending deposits on repo IDs), in
|
||||
// #removedUnreferencedResources, duplicate revision IDs are sometimes introduced. Here we
|
||||
// attempt to deduplicate the iterable. If it contains multiple revision IDs that are NOT the
|
||||
// same, we have a more serious problem as we cannot be sure which one to use. We should use the
|
||||
// highest revision ID, but we don't even know where it comes from, as the query should
|
||||
// definitively only give us one revision ID per repo ID. In this case we have to abort and
|
||||
// require manual intervention.
|
||||
if (ids.size() != 1) {
|
||||
ImmutableSet<Long> dedupedIds = ImmutableSet.copyOf(ids);
|
||||
checkState(
|
||||
dedupedIds.size() == 1,
|
||||
"Multiple unique revision IDs detected for %s repo ID %s: %s",
|
||||
EPP_RESOURCE_FIELD_NAME.get(historyEntryClazz),
|
||||
repoId,
|
||||
ids);
|
||||
logger.atSevere().log(
|
||||
"Duplicate revision IDs detected for %s repo ID %s: %s",
|
||||
EPP_RESOURCE_FIELD_NAME.get(historyEntryClazz), repoId, ids);
|
||||
}
|
||||
return loadResourceByHistoryEntryId(historyEntryClazz, repoId, ids.get(0));
|
||||
}
|
||||
|
||||
private <T extends HistoryEntry> EppResource loadResourceByHistoryEntryId(
|
||||
Class<T> historyEntryClazz, String repoId, long revisionId) {
|
||||
try {
|
||||
@@ -516,7 +548,7 @@ public class RdePipeline implements Serializable {
|
||||
loadResourceByHistoryEntryId(
|
||||
ContactHistory.class,
|
||||
kv.getKey(),
|
||||
kv.getValue().getOnly(REVISION_ID));
|
||||
kv.getValue().getAll(REVISION_ID));
|
||||
DepositFragment fragment = marshaller.marshalContact(contact);
|
||||
ImmutableSet<KV<PendingDeposit, DepositFragment>> fragments =
|
||||
Streams.stream(kv.getValue().getAll(PENDING_DEPOSIT))
|
||||
@@ -549,8 +581,8 @@ public class RdePipeline implements Serializable {
|
||||
loadResourceByHistoryEntryId(
|
||||
HostHistory.class,
|
||||
kv.getKey(),
|
||||
kv.getValue().getOnly(REVISION_ID));
|
||||
// When a host is subordinate, we need to find it's superordinate domain and
|
||||
kv.getValue().getAll(REVISION_ID));
|
||||
// When a host is subordinate, we need to find its superordinate domain and
|
||||
// include it in the deposit as well.
|
||||
if (host.isSubordinate()) {
|
||||
subordinateHostCounter.inc();
|
||||
@@ -627,7 +659,7 @@ public class RdePipeline implements Serializable {
|
||||
loadResourceByHistoryEntryId(
|
||||
DomainHistory.class,
|
||||
kv.getKey(),
|
||||
kv.getValue().getOnly(REVISION_ID));
|
||||
kv.getValue().getAll(REVISION_ID));
|
||||
ImmutableSet.Builder<KV<PendingDeposit, DepositFragment>> results =
|
||||
new ImmutableSet.Builder<>();
|
||||
for (KV<String, CoGbkResult> hostToPendingDeposits :
|
||||
@@ -637,7 +669,7 @@ public class RdePipeline implements Serializable {
|
||||
loadResourceByHistoryEntryId(
|
||||
HostHistory.class,
|
||||
hostToPendingDeposits.getKey(),
|
||||
hostToPendingDeposits.getValue().getOnly(REVISION_ID));
|
||||
hostToPendingDeposits.getValue().getAll(REVISION_ID));
|
||||
DepositFragment fragment =
|
||||
marshaller.marshalSubordinateHost(host, superordinateDomain);
|
||||
Streams.stream(hostToPendingDeposits.getValue().getAll(PENDING_DEPOSIT))
|
||||
@@ -696,6 +728,7 @@ public class RdePipeline implements Serializable {
|
||||
* CoGbkResult}s are used.
|
||||
*/
|
||||
protected abstract static class TupleTags {
|
||||
|
||||
protected static final TupleTag<KV<PendingDeposit, DepositFragment>> DOMAIN_FRAGMENTS =
|
||||
new TupleTag<KV<PendingDeposit, DepositFragment>>() {};
|
||||
|
||||
@@ -729,10 +762,12 @@ public class RdePipeline implements Serializable {
|
||||
UtilsModule.class
|
||||
})
|
||||
interface RdePipelineComponent {
|
||||
|
||||
RdePipeline rdePipeline();
|
||||
|
||||
@Component.Builder
|
||||
interface Builder {
|
||||
|
||||
@BindsInstance
|
||||
Builder options(RdePipelineOptions options);
|
||||
|
||||
|
||||
@@ -0,0 +1,174 @@
|
||||
// Copyright 2022 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.resave;
|
||||
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
import static org.apache.beam.sdk.values.TypeDescriptors.integers;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import google.registry.beam.common.RegistryJpaIO;
|
||||
import google.registry.beam.common.RegistryJpaIO.Read;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.persistence.PersistenceModule.TransactionIsolationLevel;
|
||||
import google.registry.persistence.transaction.CriteriaQueryBuilder;
|
||||
import google.registry.util.DateTimeUtils;
|
||||
import java.io.Serializable;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
import org.apache.beam.sdk.PipelineResult;
|
||||
import org.apache.beam.sdk.transforms.DoFn;
|
||||
import org.apache.beam.sdk.transforms.GroupIntoBatches;
|
||||
import org.apache.beam.sdk.transforms.ParDo;
|
||||
import org.apache.beam.sdk.transforms.WithKeys;
|
||||
import org.apache.beam.sdk.util.ShardedKey;
|
||||
import org.apache.beam.sdk.values.KV;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/**
|
||||
* A Dataflow Flex pipeline that resaves changed EPP resources in SQL.
|
||||
*
|
||||
* <p>Due to the way that Hibernate works, if an entity is unchanged by {@link
|
||||
* EppResource#cloneProjectedAtTime(DateTime)} it will not actually be re-persisted to the database.
|
||||
* Thus, the only actual changes occur when objects are changed by projecting them to now, such as
|
||||
* when a pending transfer is resolved.
|
||||
*/
|
||||
public class ResaveAllEppResourcesPipeline implements Serializable {
|
||||
|
||||
private static final ImmutableSet<Class<? extends EppResource>> EPP_RESOURCE_CLASSES =
|
||||
ImmutableSet.of(ContactResource.class, DomainBase.class, HostResource.class);
|
||||
|
||||
/**
|
||||
* There exist three possible situations where we know we'll want to project domains to the
|
||||
* current point in time:
|
||||
*
|
||||
* <ul>
|
||||
* <li>A pending domain transfer has expired.
|
||||
* <li>A domain is past its expiration time without being deleted (this means it autorenewed).
|
||||
* <li>A domain has expired grace periods.
|
||||
* </ul>
|
||||
*
|
||||
* <p>This command contains all three scenarios so that we can avoid querying the Domain table
|
||||
* multiple times, and to avoid projecting and resaving the same domain multiple times.
|
||||
*/
|
||||
private static final String DOMAINS_TO_PROJECT_QUERY =
|
||||
"FROM Domain d WHERE (d.transferData.transferStatus = 'PENDING' AND"
|
||||
+ " d.transferData.pendingTransferExpirationTime < current_timestamp()) OR"
|
||||
+ " (d.registrationExpirationTime < current_timestamp() AND d.deletionTime ="
|
||||
+ " (:END_OF_TIME)) OR (EXISTS (SELECT 1 FROM GracePeriod gp WHERE gp.domainRepoId ="
|
||||
+ " d.repoId AND gp.expirationTime < current_timestamp()))";
|
||||
|
||||
private final ResaveAllEppResourcesPipelineOptions options;
|
||||
|
||||
ResaveAllEppResourcesPipeline(ResaveAllEppResourcesPipelineOptions options) {
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
PipelineResult run() {
|
||||
Pipeline pipeline = Pipeline.create(options);
|
||||
setupPipeline(pipeline);
|
||||
return pipeline.run();
|
||||
}
|
||||
|
||||
void setupPipeline(Pipeline pipeline) {
|
||||
options.setIsolationOverride(TransactionIsolationLevel.TRANSACTION_READ_COMMITTED);
|
||||
if (options.getFast()) {
|
||||
fastResaveContacts(pipeline);
|
||||
fastResaveDomains(pipeline);
|
||||
} else {
|
||||
EPP_RESOURCE_CLASSES.forEach(clazz -> forceResaveAllResources(pipeline, clazz));
|
||||
}
|
||||
}
|
||||
|
||||
/** Projects to the current time and saves any contacts with expired transfers. */
|
||||
private void fastResaveContacts(Pipeline pipeline) {
|
||||
Read<ContactResource, ContactResource> read =
|
||||
RegistryJpaIO.read(
|
||||
"FROM Contact WHERE transferData.transferStatus = 'PENDING' AND"
|
||||
+ " transferData.pendingTransferExpirationTime < current_timestamp()",
|
||||
ContactResource.class,
|
||||
c -> c);
|
||||
projectAndResaveResources(pipeline, ContactResource.class, read);
|
||||
}
|
||||
|
||||
/**
|
||||
* Projects to the current time and saves any domains with expired pending actions (e.g.
|
||||
* transfers, grace periods).
|
||||
*
|
||||
* <p>The logic of what might have changed is paraphrased from {@link
|
||||
* google.registry.model.domain.DomainContent#cloneProjectedAtTime(DateTime)}.
|
||||
*/
|
||||
private void fastResaveDomains(Pipeline pipeline) {
|
||||
Read<DomainBase, DomainBase> read =
|
||||
RegistryJpaIO.read(
|
||||
DOMAINS_TO_PROJECT_QUERY,
|
||||
ImmutableMap.of("END_OF_TIME", DateTimeUtils.END_OF_TIME),
|
||||
DomainBase.class,
|
||||
d -> d);
|
||||
projectAndResaveResources(pipeline, DomainBase.class, read);
|
||||
}
|
||||
|
||||
/** Projects all resources to the current time and saves them. */
|
||||
private <T extends EppResource> void forceResaveAllResources(Pipeline pipeline, Class<T> clazz) {
|
||||
Read<T, T> read = RegistryJpaIO.read(() -> CriteriaQueryBuilder.create(clazz).build());
|
||||
projectAndResaveResources(pipeline, clazz, read);
|
||||
}
|
||||
|
||||
/** Projects and re-saves the result of the provided {@link Read}. */
|
||||
private <T extends EppResource> void projectAndResaveResources(
|
||||
Pipeline pipeline, Class<T> clazz, Read<?, T> read) {
|
||||
int numShards = options.getSqlWriteShards();
|
||||
int batchSize = options.getSqlWriteBatchSize();
|
||||
String className = clazz.getSimpleName();
|
||||
pipeline
|
||||
.apply("Read " + className, read)
|
||||
.apply(
|
||||
"Shard data for class" + className,
|
||||
WithKeys.<Integer, T>of(e -> ThreadLocalRandom.current().nextInt(numShards))
|
||||
.withKeyType(integers()))
|
||||
.apply(
|
||||
"Group into batches for class" + className,
|
||||
GroupIntoBatches.<Integer, T>ofSize(batchSize).withShardedKey())
|
||||
.apply("Map " + className + " to now", ParDo.of(new BatchedProjectionFunction<>()))
|
||||
.apply(
|
||||
"Write transformed " + className,
|
||||
RegistryJpaIO.<EppResource>write()
|
||||
.withName("Write transformed " + className)
|
||||
.withBatchSize(batchSize)
|
||||
.withShards(numShards));
|
||||
}
|
||||
|
||||
private static class BatchedProjectionFunction<T extends EppResource>
|
||||
extends DoFn<KV<ShardedKey<Integer>, Iterable<T>>, EppResource> {
|
||||
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element KV<ShardedKey<Integer>, Iterable<T>> element,
|
||||
OutputReceiver<EppResource> outputReceiver) {
|
||||
jpaTm()
|
||||
.transact(
|
||||
() ->
|
||||
element
|
||||
.getValue()
|
||||
.forEach(
|
||||
resource ->
|
||||
outputReceiver.output(
|
||||
resource.cloneProjectedAtTime(jpaTm().getTransactionTime()))));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2020 The Nomulus Authors. All Rights Reserved.
|
||||
// Copyright 2022 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@@ -12,16 +12,15 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.beam.initsql;
|
||||
package google.registry.beam.resave;
|
||||
|
||||
import org.apache.beam.sdk.options.PipelineOptionsFactory;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import google.registry.beam.common.RegistryPipelineOptions;
|
||||
import org.apache.beam.sdk.options.Description;
|
||||
|
||||
/** Unit tests for {@link google.registry.beam.initsql.InitSqlPipelineOptions}. * */
|
||||
public class InitSqlPipelineOptionsTest {
|
||||
public interface ResaveAllEppResourcesPipelineOptions extends RegistryPipelineOptions {
|
||||
|
||||
@Test
|
||||
void registerToValidate() {
|
||||
PipelineOptionsFactory.register(InitSqlPipelineOptions.class);
|
||||
}
|
||||
@Description("True if we should attempt to run only over potentially out-of-date EPP resources")
|
||||
boolean getFast();
|
||||
|
||||
void setFast(boolean fast);
|
||||
}
|
||||
@@ -14,30 +14,19 @@
|
||||
|
||||
package google.registry.beam.spec11;
|
||||
|
||||
import static google.registry.beam.BeamUtils.checkFieldsNotNull;
|
||||
import static google.registry.beam.BeamUtils.extractField;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import java.io.Serializable;
|
||||
import org.apache.avro.generic.GenericRecord;
|
||||
import org.apache.beam.sdk.io.gcp.bigquery.SchemaAndRecord;
|
||||
|
||||
/**
|
||||
* A POJO representing a domain name and associated info, parsed from a {@code SchemaAndRecord}.
|
||||
*
|
||||
* <p>This is a trivially serializable class that allows Beam to transform the results of a Bigquery
|
||||
* query into a standard Java representation, giving us the type guarantees and ease of manipulation
|
||||
* Bigquery lacks, while localizing any Bigquery-side failures to the {@link #parseFromRecord}
|
||||
* function.
|
||||
* <p>This is a trivially serializable class that allows Beam to transform the results of a SQL
|
||||
* query into a standard Java representation.
|
||||
*/
|
||||
@AutoValue
|
||||
public abstract class DomainNameInfo implements Serializable {
|
||||
|
||||
private static final ImmutableList<String> FIELD_NAMES =
|
||||
ImmutableList.of("domainName", "domainRepoId", "registrarId", "registrarEmailAddress");
|
||||
|
||||
/** Returns the fully qualified domain name. */
|
||||
abstract String domainName();
|
||||
|
||||
@@ -50,28 +39,8 @@ public abstract class DomainNameInfo implements Serializable {
|
||||
/** Returns the email address of the registrar associated with this domain. */
|
||||
abstract String registrarEmailAddress();
|
||||
|
||||
/**
|
||||
* Constructs a {@link DomainNameInfo} from an Apache Avro {@code SchemaAndRecord}.
|
||||
*
|
||||
* @see <a
|
||||
* href=http://avro.apache.org/docs/1.7.7/api/java/org/apache/avro/generic/GenericData.Record.html>
|
||||
* Apache AVRO GenericRecord</a>
|
||||
*/
|
||||
static DomainNameInfo parseFromRecord(SchemaAndRecord schemaAndRecord) {
|
||||
checkFieldsNotNull(FIELD_NAMES, schemaAndRecord);
|
||||
GenericRecord record = schemaAndRecord.getRecord();
|
||||
return create(
|
||||
extractField(record, "domainName"),
|
||||
extractField(record, "domainRepoId"),
|
||||
extractField(record, "registrarId"),
|
||||
extractField(record, "registrarEmailAddress"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a concrete {@link DomainNameInfo}.
|
||||
*
|
||||
* <p>This should only be used outside this class for testing- instances of {@link DomainNameInfo}
|
||||
* should otherwise come from {@link #parseFromRecord}.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
static DomainNameInfo create(
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
package google.registry.beam.spec11;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static google.registry.beam.BeamUtils.getQueryFromFile;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
@@ -33,15 +32,12 @@ import google.registry.model.reporting.Spec11ThreatMatch.ThreatType;
|
||||
import google.registry.persistence.PersistenceModule.TransactionIsolationLevel;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.util.Retrier;
|
||||
import google.registry.util.SqlTemplate;
|
||||
import google.registry.util.UtilsModule;
|
||||
import java.io.Serializable;
|
||||
import javax.inject.Singleton;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
import org.apache.beam.sdk.PipelineResult;
|
||||
import org.apache.beam.sdk.coders.SerializableCoder;
|
||||
import org.apache.beam.sdk.io.TextIO;
|
||||
import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO;
|
||||
import org.apache.beam.sdk.options.PipelineOptionsFactory;
|
||||
import org.apache.beam.sdk.transforms.DoFn;
|
||||
import org.apache.beam.sdk.transforms.GroupByKey;
|
||||
@@ -104,10 +100,7 @@ public class Spec11Pipeline implements Serializable {
|
||||
|
||||
void setupPipeline(Pipeline pipeline) {
|
||||
options.setIsolationOverride(TransactionIsolationLevel.TRANSACTION_READ_COMMITTED);
|
||||
PCollection<DomainNameInfo> domains =
|
||||
options.getDatabase().equals("DATASTORE")
|
||||
? readFromBigQuery(options, pipeline)
|
||||
: readFromCloudSql(pipeline);
|
||||
PCollection<DomainNameInfo> domains = readFromCloudSql(pipeline);
|
||||
|
||||
PCollection<KV<DomainNameInfo, ThreatMatch>> threatMatches =
|
||||
domains.apply("Run through SafeBrowsing API", ParDo.of(safeBrowsingFn));
|
||||
@@ -156,24 +149,6 @@ public class Spec11Pipeline implements Serializable {
|
||||
}));
|
||||
}
|
||||
|
||||
static PCollection<DomainNameInfo> readFromBigQuery(
|
||||
Spec11PipelineOptions options, Pipeline pipeline) {
|
||||
return pipeline.apply(
|
||||
"Read active domains from BigQuery",
|
||||
BigQueryIO.read(DomainNameInfo::parseFromRecord)
|
||||
.fromQuery(
|
||||
SqlTemplate.create(getQueryFromFile(Spec11Pipeline.class, "domain_name_infos.sql"))
|
||||
.put("PROJECT_ID", options.getProject())
|
||||
.put("DATASTORE_EXPORT_DATASET", "latest_datastore_export")
|
||||
.put("REGISTRAR_TABLE", "Registrar")
|
||||
.put("DOMAIN_BASE_TABLE", "DomainBase")
|
||||
.build())
|
||||
.withCoder(SerializableCoder.of(DomainNameInfo.class))
|
||||
.usingStandardSql()
|
||||
.withoutValidation()
|
||||
.withTemplateCompatibility());
|
||||
}
|
||||
|
||||
private static KV<String, String> parseRow(Object[] row) {
|
||||
return KV.of((String) row[0], (String) row[1]);
|
||||
}
|
||||
|
||||
@@ -34,9 +34,4 @@ public interface Spec11PipelineOptions extends RegistryPipelineOptions {
|
||||
String getReportingBucketUrl();
|
||||
|
||||
void setReportingBucketUrl(String value);
|
||||
|
||||
@Description("The database to read data from.")
|
||||
String getDatabase();
|
||||
|
||||
void setDatabase(String value);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import google.registry.config.CredentialModule.DefaultCredential;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.util.Clock;
|
||||
import google.registry.util.CloudTasksUtils;
|
||||
import google.registry.util.CloudTasksUtils.GcpCloudTasksClient;
|
||||
import google.registry.util.CloudTasksUtils.SerializableCloudTasksClient;
|
||||
@@ -46,8 +47,9 @@ public abstract class CloudTasksUtilsModule {
|
||||
@Config("projectId") String projectId,
|
||||
@Config("locationId") String locationId,
|
||||
SerializableCloudTasksClient client,
|
||||
Retrier retrier) {
|
||||
return new CloudTasksUtils(retrier, projectId, locationId, client);
|
||||
Retrier retrier,
|
||||
Clock clock) {
|
||||
return new CloudTasksUtils(retrier, clock, projectId, locationId, client);
|
||||
}
|
||||
|
||||
// Provides a supplier instead of using a Dagger @Provider because the latter is not serializable.
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import google.registry.persistence.transaction.JpaTransactionManager;
|
||||
import google.registry.util.TaskQueueUtils;
|
||||
import google.registry.util.YamlUtils;
|
||||
import java.lang.annotation.Documented;
|
||||
@@ -392,19 +393,26 @@ public final class RegistryConfig {
|
||||
|
||||
@Provides
|
||||
@Config("cloudSqlJdbcUrl")
|
||||
public static String providesCloudSqlJdbcUrl(RegistryConfigSettings config) {
|
||||
public static String provideCloudSqlJdbcUrl(RegistryConfigSettings config) {
|
||||
return config.cloudSql.jdbcUrl;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Config("cloudSqlInstanceConnectionName")
|
||||
public static String providesCloudSqlInstanceConnectionName(RegistryConfigSettings config) {
|
||||
public static String provideCloudSqlInstanceConnectionName(RegistryConfigSettings config) {
|
||||
return config.cloudSql.instanceConnectionName;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Config("cloudSqlReplicaInstanceConnectionName")
|
||||
public static Optional<String> provideCloudSqlReplicaInstanceConnectionName(
|
||||
RegistryConfigSettings config) {
|
||||
return Optional.ofNullable(config.cloudSql.replicaInstanceConnectionName);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Config("cloudSqlDbInstanceName")
|
||||
public static String providesCloudSqlDbInstance(RegistryConfigSettings config) {
|
||||
public static String provideCloudSqlDbInstance(RegistryConfigSettings config) {
|
||||
// Format of instanceConnectionName: project-id:region:instance-name
|
||||
int lastColonIndex = config.cloudSql.instanceConnectionName.lastIndexOf(':');
|
||||
return config.cloudSql.instanceConnectionName.substring(lastColonIndex + 1);
|
||||
@@ -568,6 +576,19 @@ public final class RegistryConfig {
|
||||
return config.beam.highPerformanceMachineType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns initial number of workers used for a Beam pipeline. Autoscaling can still in effect.
|
||||
*
|
||||
* @see <a
|
||||
* href=https://cloud.google.com/dataflow/docs/guides/deploying-a-pipeline#horizontal-autoscaling>
|
||||
* Horizontal Autoscaling </a>
|
||||
*/
|
||||
@Provides
|
||||
@Config("initialWorkerCount")
|
||||
public static int provideInitialWorkerCount(RegistryConfigSettings config) {
|
||||
return config.beam.initialWorkerCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default job region to run Apache Beam (Cloud Dataflow) jobs in.
|
||||
*
|
||||
@@ -667,7 +688,7 @@ public final class RegistryConfig {
|
||||
@Provides
|
||||
@Config("defaultShouldPublishInvoices")
|
||||
public static boolean provideDefaultShouldPublishInvoices() {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1330,6 +1351,12 @@ public final class RegistryConfig {
|
||||
public static int provideWipeOutQueryBatchSize(RegistryConfigSettings config) {
|
||||
return config.contactHistory.wipeOutQueryBatchSize;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Config("jdbcBatchSize")
|
||||
public static int provideHibernateJdbcBatchSize(RegistryConfigSettings config) {
|
||||
return config.hibernate.jdbcBatchSize;
|
||||
}
|
||||
}
|
||||
|
||||
/** Returns the App Engine project ID, which is based off the environment name. */
|
||||
@@ -1417,8 +1444,8 @@ public final class RegistryConfig {
|
||||
}
|
||||
|
||||
/** Returns the amount of time a singleton should be cached, before expiring. */
|
||||
public static Duration getSingletonCacheRefreshDuration() {
|
||||
return Duration.standardSeconds(CONFIG_SETTINGS.get().caching.singletonCacheRefreshSeconds);
|
||||
public static java.time.Duration getSingletonCacheRefreshDuration() {
|
||||
return java.time.Duration.ofSeconds(CONFIG_SETTINGS.get().caching.singletonCacheRefreshSeconds);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1427,13 +1454,13 @@ public final class RegistryConfig {
|
||||
* @see google.registry.model.tld.label.ReservedList
|
||||
* @see google.registry.model.tld.label.PremiumList
|
||||
*/
|
||||
public static Duration getDomainLabelListCacheDuration() {
|
||||
return Duration.standardSeconds(CONFIG_SETTINGS.get().caching.domainLabelCachingSeconds);
|
||||
public static java.time.Duration getDomainLabelListCacheDuration() {
|
||||
return java.time.Duration.ofSeconds(CONFIG_SETTINGS.get().caching.domainLabelCachingSeconds);
|
||||
}
|
||||
|
||||
/** Returns the amount of time a singleton should be cached in persist mode, before expiring. */
|
||||
public static Duration getSingletonCachePersistDuration() {
|
||||
return Duration.standardSeconds(CONFIG_SETTINGS.get().caching.singletonCachePersistSeconds);
|
||||
public static java.time.Duration getSingletonCachePersistDuration() {
|
||||
return java.time.Duration.ofSeconds(CONFIG_SETTINGS.get().caching.singletonCachePersistSeconds);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1455,8 +1482,8 @@ public final class RegistryConfig {
|
||||
/**
|
||||
* Returns the amount of time an EPP resource or key should be cached in memory before expiring.
|
||||
*/
|
||||
public static Duration getEppResourceCachingDuration() {
|
||||
return Duration.standardSeconds(CONFIG_SETTINGS.get().caching.eppResourceCachingSeconds);
|
||||
public static java.time.Duration getEppResourceCachingDuration() {
|
||||
return java.time.Duration.ofSeconds(CONFIG_SETTINGS.get().caching.eppResourceCachingSeconds);
|
||||
}
|
||||
|
||||
/** Returns the maximum number of EPP resources and keys to keep in in-memory cache. */
|
||||
@@ -1524,6 +1551,31 @@ public final class RegistryConfig {
|
||||
return CONFIG_SETTINGS.get().hibernate.hikariIdleTimeout;
|
||||
}
|
||||
|
||||
/**
|
||||
* JDBC-specific: driver default batch size is 0, which means that every INSERT statement will be
|
||||
* sent to the database individually. Batching allows us to group together multiple inserts into
|
||||
* one single INSERT statement which can dramatically increase speed in situations with many
|
||||
* inserts.
|
||||
*
|
||||
* <p>Hibernate docs, i.e.
|
||||
* https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html,
|
||||
* recommend between 10 and 50.
|
||||
*/
|
||||
public static int getHibernateJdbcBatchSize() {
|
||||
return CONFIG_SETTINGS.get().hibernate.jdbcBatchSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the JDBC fetch size.
|
||||
*
|
||||
* <p>Postgresql-specific: driver default fetch size is 0, which disables streaming result sets.
|
||||
* Here we set a small default geared toward Nomulus server transactions. Large queries can
|
||||
* override the defaults using {@link JpaTransactionManager#setQueryFetchSize}.
|
||||
*/
|
||||
public static String getHibernateJdbcFetchSize() {
|
||||
return CONFIG_SETTINGS.get().hibernate.jdbcFetchSize;
|
||||
}
|
||||
|
||||
/** Returns the roid suffix to be used for the roids of all contacts and hosts. */
|
||||
public static String getContactAndHostRoidSuffix() {
|
||||
return CONFIG_SETTINGS.get().registryPolicy.contactAndHostRoidSuffix;
|
||||
|
||||
@@ -120,6 +120,8 @@ public class RegistryConfigSettings {
|
||||
public String hikariMinimumIdle;
|
||||
public String hikariMaximumPoolSize;
|
||||
public String hikariIdleTimeout;
|
||||
public int jdbcBatchSize;
|
||||
public String jdbcFetchSize;
|
||||
}
|
||||
|
||||
/** Configuration for Cloud SQL. */
|
||||
@@ -128,12 +130,14 @@ public class RegistryConfigSettings {
|
||||
// TODO(05012021): remove username field after it is removed from all yaml files.
|
||||
public String username;
|
||||
public String instanceConnectionName;
|
||||
public String replicaInstanceConnectionName;
|
||||
}
|
||||
|
||||
/** Configuration for Apache Beam (Cloud Dataflow). */
|
||||
public static class Beam {
|
||||
public String defaultJobRegion;
|
||||
public String highPerformanceMachineType;
|
||||
public int initialWorkerCount;
|
||||
public String stagingBucketUrl;
|
||||
}
|
||||
|
||||
|
||||
@@ -221,6 +221,17 @@ hibernate:
|
||||
hikariMinimumIdle: 1
|
||||
hikariMaximumPoolSize: 10
|
||||
hikariIdleTimeout: 300000
|
||||
# The batch size is basically the number of insertions / updates in a single
|
||||
# transaction that will be batched together into one INSERT/UPDATE statement.
|
||||
# A larger batch size is useful when inserting or updating many entities in a
|
||||
# single transaction. Hibernate docs
|
||||
# (https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html)
|
||||
# recommend between 10 and 50.
|
||||
jdbcBatchSize: 50
|
||||
# The fetch size is the number of entities retrieved at a time from the
|
||||
# database cursor. Here we set a small default geared toward Nomulus server
|
||||
# transactions. Large queries can override the defaults on a per-query basis.
|
||||
jdbcFetchSize: 20
|
||||
|
||||
cloudSql:
|
||||
# jdbc url for the Cloud SQL database.
|
||||
@@ -231,6 +242,10 @@ cloudSql:
|
||||
jdbcUrl: jdbc:postgresql://localhost
|
||||
# This name is used by Cloud SQL when connecting to the database.
|
||||
instanceConnectionName: project-id:region:instance-id
|
||||
# If non-null, we will use this instance for certain read-only actions or
|
||||
# pipelines, e.g. RDE, in order to offload some work from the primary
|
||||
# instance. Expect any write actions on this instance to fail.
|
||||
replicaInstanceConnectionName: null
|
||||
|
||||
cloudDns:
|
||||
# Set both properties to null in Production.
|
||||
@@ -427,6 +442,11 @@ beam:
|
||||
# core count per machine may be preferable in order to preserve IP addresses.
|
||||
# See: https://cloud.google.com/compute/quotas#cpu_quota
|
||||
highPerformanceMachineType: n2-standard-4
|
||||
# The initial number of workers requested. This can help speed up the pipeline
|
||||
# which otherwise would take some time to spin up the necessary number of
|
||||
# works. Autoscaling is still in effect to reduce the number of workers if
|
||||
# not in use.
|
||||
initialWorkerCount: 24
|
||||
stagingBucketUrl: gcs-bucket-with-staged-templates
|
||||
|
||||
keyring:
|
||||
@@ -471,9 +491,9 @@ sslCertificateValidation:
|
||||
# The minimum number of days between two successive expiring notification emails.
|
||||
expirationWarningIntervalDays: 15
|
||||
# Text for expiring certificate notification email subject.
|
||||
expirationWarningEmailSubjectText: "[Important] Expiring SSL certificate for Google Registry EPP connection"
|
||||
# Text for expiring certificate notification email body that accepts 3 parameters:
|
||||
# registrar name, certificate type, and expiration date, respectively.
|
||||
expirationWarningEmailSubjectText: "Expiring SSL certificate for Example Registry EPP connection"
|
||||
# Text for expiring certificate notification email body that accepts 4 parameters:
|
||||
# registrar name, certificate type, expiration date and registrar id, respectively.
|
||||
expirationWarningEmailBodyText: |
|
||||
Dear %1$s,
|
||||
|
||||
@@ -481,25 +501,15 @@ sslCertificateValidation:
|
||||
|
||||
Kindly update your production account certificate within the support console using the following steps:
|
||||
|
||||
1. Navigate to support.registry.google and login using your %4$s@registry.google credentials.
|
||||
* If this is your first time logging in, you will be prompted to reset your password, so please keep your new password safe.
|
||||
* If you are already logged in with some other Google account(s) but not your %4$s@registry.google account, you need to click on
|
||||
“Add Account” and login using your %4$s@registry.google credentials.
|
||||
1. Navigate to support.registry.example and login using your %4$s@registry.example credentials.
|
||||
2. Select “Settings > Security” from the left navigation bar.
|
||||
3. Click “Edit” on the top left corner.
|
||||
4. Enter your full certificate string (including lines -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----) in the box.
|
||||
5. Click “Save”. If there are validation issues with the form, you will be prompted to fix them and click “Save” again.
|
||||
4. Enter your full certificate string in the box.
|
||||
5. Click “Save”.
|
||||
|
||||
A failover SSL certificate can also be added in order to prevent connection issues once your main certificate expires. Connecting with either of the certificates will work with our production EPP server.
|
||||
|
||||
Further information about our EPP connection requirements can be found in section 9.2 in the updated Technical Guide in your Google Drive folder.
|
||||
|
||||
Note that account certificate changes take a few minutes to become effective and that the existing connections will remain unaffected by the change.
|
||||
|
||||
If you also would like to update your OT&E account certificate, please send an email from your primary or technical contact to registry-support@google.com and include the full certificate string (including lines -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----).
|
||||
|
||||
Regards,
|
||||
Google Registry
|
||||
Example Registry
|
||||
|
||||
# The minimum number of bits an RSA key must contain.
|
||||
minimumRsaKeyLength: 2048
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user