mirror of
https://github.com/google/nomulus
synced 2026-05-19 22:31:47 +00:00
Compare commits
47 Commits
nomulus-20
...
nomulus-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
@@ -292,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
|
||||
@@ -300,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.
|
||||
|
||||
@@ -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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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-rev20220509-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.7.2
|
||||
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,11 +3,11 @@
|
||||
# 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.10.0
|
||||
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
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# 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.10.0
|
||||
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
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# 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.10.0
|
||||
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
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# 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.10.0
|
||||
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
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# 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.10.0
|
||||
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
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
# 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.10.0
|
||||
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
|
||||
joda-time:joda-time:2.10.14
|
||||
org.checkerframework:checker-qual:3.19.0
|
||||
|
||||
@@ -2,27 +2,26 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.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
|
||||
|
||||
@@ -2,27 +2,27 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.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
|
||||
|
||||
@@ -2,28 +2,27 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.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
|
||||
|
||||
@@ -2,28 +2,27 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.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
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
# 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.auto.value:auto-value-annotations:1.7.4
|
||||
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.10.0
|
||||
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
|
||||
com.google.truth:truth:1.1.3
|
||||
io.github.java-diff-utils:java-diff-utils:4.9
|
||||
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.19.0
|
||||
org.hamcrest:hamcrest-core:1.3
|
||||
org.ow2.asm:asm:9.0
|
||||
org.ow2.asm:asm:9.1
|
||||
|
||||
@@ -69,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"
|
||||
},
|
||||
@@ -111,6 +117,9 @@
|
||||
{
|
||||
"moduleLicense": "The PostgreSQL License"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "CC0"
|
||||
},
|
||||
{
|
||||
"moduleLicense": "CC0 1.0 Universal License"
|
||||
},
|
||||
@@ -265,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
|
||||
|
||||
@@ -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.*",
|
||||
@@ -714,10 +713,6 @@ createToolTask(
|
||||
createToolTask(
|
||||
'jpaDemoPipeline', 'google.registry.beam.common.JpaDemoPipeline')
|
||||
|
||||
createToolTask(
|
||||
'createSyntheticHistoryEntries',
|
||||
'google.registry.tools.javascrap.CreateSyntheticHistoryEntriesPipeline')
|
||||
|
||||
// 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 \
|
||||
@@ -795,11 +790,6 @@ if (environment == 'alpha') {
|
||||
mainClass: 'google.registry.beam.rde.RdePipeline',
|
||||
metaData : 'google/registry/beam/rde_pipeline_metadata.json'
|
||||
],
|
||||
validateDatabase :
|
||||
[
|
||||
mainClass: 'google.registry.beam.comparedb.ValidateDatabasePipeline',
|
||||
metaData: 'google/registry/beam/validate_database_pipeline_metadata.json'
|
||||
],
|
||||
resaveAllEppResources:
|
||||
[
|
||||
mainClass: 'google.registry.beam.resave.ResaveAllEppResourcesPipeline',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,287 +7,300 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.10
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
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.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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,277 +7,292 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.10
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
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.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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,301 +7,314 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.10
|
||||
junit:junit:4.13.1
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,299 +7,312 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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-M4
|
||||
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
|
||||
|
||||
@@ -7,287 +7,300 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.10
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
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.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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,279 +7,294 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.10
|
||||
junit:junit:4.13.1
|
||||
net.bytebuddy:byte-buddy:1.10.17
|
||||
net.java.dev.jna:jna:5.5.0
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.commons:commons-compress:1.20
|
||||
org.apache.commons:commons-lang3:3.8.1
|
||||
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.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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,299 +7,312 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.10
|
||||
junit:junit:4.13.1
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,299 +7,312 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.10
|
||||
junit:junit:4.13.1
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,299 +7,312 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.10
|
||||
junit:junit:4.13.1
|
||||
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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,299 +7,312 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.113.12
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.0
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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: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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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-lang3:3.12.0
|
||||
org.apache.httpcomponents:httpclient:4.5.13
|
||||
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.21.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: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.3.6
|
||||
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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,137 +7,141 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.2
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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
|
||||
@@ -145,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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
@@ -169,151 +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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-direct-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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.15
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
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.apache.tomcat:tomcat-annotations-api:10.1.0-M15
|
||||
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.21.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.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.3.6
|
||||
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
|
||||
@@ -324,20 +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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,136 +7,140 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.google.api-client:google-api-client-appengine:1.31.3
|
||||
com.google.api-client:google-api-client-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
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.2
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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
|
||||
@@ -144,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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
@@ -168,144 +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
|
||||
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.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-direct-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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.15
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
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.apache.tomcat:tomcat-annotations-api:10.1.0-M15
|
||||
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.21.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.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.3.6
|
||||
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
|
||||
@@ -316,20 +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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,142 +7,142 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.0
|
||||
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.2
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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
|
||||
@@ -150,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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
@@ -174,10 +175,14 @@ 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
|
||||
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
|
||||
@@ -185,145 +190,152 @@ 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.9
|
||||
io.grpc:grpc-alts:1.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-direct-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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.15
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
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.apache.tomcat:tomcat-annotations-api:10.1.0-M15
|
||||
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.21.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.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.3.6
|
||||
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
|
||||
@@ -336,21 +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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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
|
||||
|
||||
@@ -7,142 +7,142 @@ 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.13.0
|
||||
com.fasterxml.jackson.core:jackson-core:2.13.0
|
||||
com.fasterxml.jackson.core:jackson-databind:2.13.0
|
||||
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0
|
||||
com.fasterxml.jackson:jackson-bom:2.13.0
|
||||
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.ben-manes.caffeine:caffeine:2.9.3
|
||||
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.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.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-appengine:1.35.0
|
||||
com.google.api-client:google-api-client-jackson2:1.32.2
|
||||
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.2
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:grpc-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api-client:google-api-client-java6:1.35.0
|
||||
com.google.api-client:google-api-client-servlet:1.35.0
|
||||
com.google.api-client:google-api-client:1.35.0
|
||||
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:1.27.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:grpc-google-cloud-pubsublite-v1:1.4.8
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:grpc-google-cloud-storage-v2:2.0.1-alpha
|
||||
com.google.api.grpc:grpc-google-common-protos:2.7.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1:2.8.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta1:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigquerystorage-v1beta2:0.132.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-admin-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-bigtable-v2:2.5.1
|
||||
com.google.api.grpc:proto-google-cloud-datastore-v1:0.93.2
|
||||
com.google.api.grpc:proto-google-cloud-firestore-v1:3.0.10
|
||||
com.google.api.grpc:proto-google-cloud-pubsub-v1:1.97.1
|
||||
com.google.api.grpc:proto-google-cloud-pubsublite-v1:1.4.8
|
||||
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:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-spanner-v1:6.17.4
|
||||
com.google.api.grpc:proto-google-cloud-storage-v2:2.0.1-alpha
|
||||
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.7.1
|
||||
com.google.api.grpc:proto-google-iam-v1:1.2.0
|
||||
com.google.api:api-common:2.1.2
|
||||
com.google.api:gax-grpc:2.8.1
|
||||
com.google.api:gax-httpjson:0.93.1
|
||||
com.google.api:gax:2.8.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-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-rev108-1.25.0
|
||||
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-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-rev540-1.25.0
|
||||
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-rev612-1.25.0
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20210119-1.31.0
|
||||
com.google.apis:google-api-services-storage:v1-rev20211201-1.32.1
|
||||
com.google.apis:google-api-services-sheets:v4-rev20220411-1.32.1
|
||||
com.google.apis:google-api-services-sqladmin:v1beta4-rev20220323-1.32.1
|
||||
com.google.apis:google-api-services-storage:v1-rev20220509-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:1.3.0
|
||||
com.google.auth:google-auth-library-oauth2-http:1.3.0
|
||||
com.google.auto.service:auto-service-annotations:1.0-rc7
|
||||
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.7.4
|
||||
com.google.cloud.bigdataoss:gcsio:2.2.4
|
||||
com.google.cloud.bigdataoss:util:2.2.4
|
||||
com.google.cloud.bigtable:bigtable-client-core:1.25.1
|
||||
com.google.cloud.bigtable:bigtable-metrics-api:1.25.1
|
||||
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.2.1
|
||||
com.google.cloud.sql:postgres-socket-factory:1.2.1
|
||||
com.google.cloud:google-cloud-bigquerystorage:2.8.1
|
||||
com.google.cloud:google-cloud-bigtable:1.27.1
|
||||
com.google.cloud:google-cloud-core-grpc:2.3.5
|
||||
com.google.cloud:google-cloud-core-http:1.95.4
|
||||
com.google.cloud:google-cloud-core:2.3.5
|
||||
com.google.cloud:google-cloud-firestore:3.0.10
|
||||
com.google.cloud:google-cloud-nio:0.123.4
|
||||
com.google.cloud:google-cloud-pubsub:1.115.1
|
||||
com.google.cloud:google-cloud-pubsublite:1.4.8
|
||||
com.google.cloud:google-cloud-secretmanager:1.4.0
|
||||
com.google.cloud:google-cloud-spanner:6.17.4
|
||||
com.google.cloud:google-cloud-storage:1.118.0
|
||||
com.google.cloud:google-cloud-tasks:1.33.2
|
||||
com.google.cloud.sql:jdbc-socket-factory-core:1.6.0
|
||||
com.google.cloud.sql:postgres-socket-factory:1.6.0
|
||||
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.2
|
||||
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.7.2
|
||||
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.10
|
||||
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.9
|
||||
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.10.0
|
||||
com.google.dagger:dagger:2.42
|
||||
com.google.errorprone:error_prone_annotations:2.13.1
|
||||
com.google.escapevelocity:escapevelocity:0.9.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:31.0.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.40.1
|
||||
com.google.http-client:google-http-client-appengine:1.39.2
|
||||
com.google.http-client:google-http-client-gson:1.41.0
|
||||
com.google.http-client:google-http-client-jackson2:1.41.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-protobuf:1.40.1
|
||||
com.google.http-client:google-http-client:1.41.0
|
||||
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
|
||||
@@ -150,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.32.1
|
||||
com.google.protobuf:protobuf-java-util:3.19.2
|
||||
com.google.protobuf:protobuf-java:3.19.2
|
||||
com.google.oauth-client:google-oauth-client-appengine:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-java6:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-jetty:1.34.0
|
||||
com.google.oauth-client:google-oauth-client-servlet:1.34.0
|
||||
com.google.oauth-client:google-oauth-client:1.34.0
|
||||
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
|
||||
@@ -174,10 +175,14 @@ 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
|
||||
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
|
||||
@@ -185,145 +190,152 @@ 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.9
|
||||
io.grpc:grpc-alts:1.43.2
|
||||
io.grpc:grpc-api:1.43.2
|
||||
io.grpc:grpc-auth:1.43.2
|
||||
io.grpc:grpc-context:1.43.2
|
||||
io.grpc:grpc-core:1.43.2
|
||||
io.grpc:grpc-grpclb:1.43.2
|
||||
io.grpc:grpc-netty-shaded:1.43.2
|
||||
io.grpc:grpc-netty:1.43.2
|
||||
io.grpc:grpc-protobuf-lite:1.43.2
|
||||
io.grpc:grpc-protobuf:1.43.2
|
||||
io.grpc:grpc-services:1.43.2
|
||||
io.grpc:grpc-stub:1.43.2
|
||||
io.grpc:grpc-xds:1.43.2
|
||||
io.netty:netty-buffer:4.1.63.Final
|
||||
io.netty:netty-codec-http2:4.1.63.Final
|
||||
io.netty:netty-codec-http:4.1.63.Final
|
||||
io.netty:netty-codec-socks:4.1.63.Final
|
||||
io.netty:netty-codec:4.1.63.Final
|
||||
io.netty:netty-common:4.1.63.Final
|
||||
io.netty:netty-handler-proxy:4.1.63.Final
|
||||
io.netty:netty-handler:4.1.63.Final
|
||||
io.netty:netty-resolver:4.1.63.Final
|
||||
io.netty:netty-tcnative-boringssl-static:2.0.33.Final
|
||||
io.netty:netty-transport:4.1.63.Final
|
||||
io.opencensus:opencensus-api:0.30.0
|
||||
io.opencensus:opencensus-contrib-grpc-util:0.30.0
|
||||
io.opencensus:opencensus-contrib-http-util:0.28.0
|
||||
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.23.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.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.37.0
|
||||
org.apache.beam:beam-model-job-management:2.37.0
|
||||
org.apache.beam:beam-model-pipeline:2.37.0
|
||||
org.apache.beam:beam-runners-core-construction-java:2.37.0
|
||||
org.apache.beam:beam-runners-core-java:2.37.0
|
||||
org.apache.beam:beam-runners-direct-java:2.37.0
|
||||
org.apache.beam:beam-runners-google-cloud-dataflow-java:2.37.0
|
||||
org.apache.beam:beam-runners-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-expansion-service:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-arrow:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.37.0
|
||||
org.apache.beam:beam-sdks-java-extensions-protobuf:2.37.0
|
||||
org.apache.beam:beam-sdks-java-fn-execution:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.37.0
|
||||
org.apache.beam:beam-sdks-java-io-kafka:2.37.0
|
||||
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.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.15
|
||||
org.apache.mina:mina-core:2.0.4
|
||||
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.apache.tomcat:tomcat-annotations-api:10.1.0-M15
|
||||
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.21.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.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.3.6
|
||||
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
|
||||
@@ -336,22 +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.springframework:spring-core:4.3.18.RELEASE
|
||||
org.springframework:spring-expression:4.3.18.RELEASE
|
||||
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.2
|
||||
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.webjars.npm:viz.js-graphviz-java:2.1.3
|
||||
org.xerial.snappy:snappy-java:1.1.8.4
|
||||
org.yaml:snakeyaml:1.28
|
||||
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,7 +21,6 @@ import static google.registry.backup.ExportCommitLogDiffAction.UPPER_CHECKPOINT_
|
||||
import static google.registry.backup.RestoreCommitLogsAction.BUCKET_OVERRIDE_PARAM;
|
||||
import static google.registry.backup.RestoreCommitLogsAction.FROM_TIME_PARAM;
|
||||
import static google.registry.backup.RestoreCommitLogsAction.TO_TIME_PARAM;
|
||||
import static google.registry.backup.SyncDatastoreToSqlSnapshotAction.SQL_SNAPSHOT_ID_PARAM;
|
||||
import static google.registry.request.RequestParameters.extractOptionalParameter;
|
||||
import static google.registry.request.RequestParameters.extractRequiredDatetimeParameter;
|
||||
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
||||
@@ -99,12 +98,6 @@ public final class BackupModule {
|
||||
return extractRequiredDatetimeParameter(req, TO_TIME_PARAM);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Parameter(SQL_SNAPSHOT_ID_PARAM)
|
||||
static String provideSqlSnapshotId(HttpServletRequest req) {
|
||||
return extractRequiredParameter(req, SQL_SNAPSHOT_ID_PARAM);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Backups
|
||||
static ListeningExecutorService provideListeningExecutorService() {
|
||||
|
||||
@@ -21,7 +21,6 @@ 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 google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Objects;
|
||||
|
||||
/** Utilities for handling imported Datastore entities. */
|
||||
@@ -68,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) {
|
||||
|
||||
@@ -1,321 +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.annotations.DeleteAfterMigration;
|
||||
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)
|
||||
@DeleteAfterMigration
|
||||
public class ReplayCommitLogsToSqlAction implements Runnable {
|
||||
|
||||
static final String PATH = "/_dr/task/replayCommitLogsToSql";
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
public static final String REPLAY_TO_SQL_LOCK_NAME =
|
||||
ReplayCommitLogsToSqlAction.class.getSimpleName();
|
||||
|
||||
public static final Duration REPLAY_TO_SQL_LOCK_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(
|
||||
REPLAY_TO_SQL_LOCK_NAME,
|
||||
null,
|
||||
REPLAY_TO_SQL_LOCK_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().putIgnoringReadOnlyWithoutBackup(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().deleteIgnoringReadOnlyWithoutBackup(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());
|
||||
}
|
||||
}
|
||||
@@ -1,187 +0,0 @@
|
||||
// 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.backup;
|
||||
|
||||
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
|
||||
import static javax.servlet.http.HttpServletResponse.SC_OK;
|
||||
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.beam.comparedb.LatestDatastoreSnapshotFinder;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.ofy.CommitLogCheckpoint;
|
||||
import google.registry.model.replay.ReplicateToDatastoreAction;
|
||||
import google.registry.request.Action;
|
||||
import google.registry.request.Action.Service;
|
||||
import google.registry.request.Parameter;
|
||||
import google.registry.request.Response;
|
||||
import google.registry.request.auth.Auth;
|
||||
import google.registry.util.Sleeper;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Inject;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
/**
|
||||
* Synchronizes Datastore to a given SQL snapshot when SQL is the primary database.
|
||||
*
|
||||
* <p>The caller takes the responsibility for:
|
||||
*
|
||||
* <ul>
|
||||
* <li>verifying the current migration stage
|
||||
* <li>acquiring the {@link ReplicateToDatastoreAction#REPLICATE_TO_DATASTORE_LOCK_NAME
|
||||
* replication lock}, and
|
||||
* <li>while holding the lock, creating an SQL snapshot and invoking this action with the snapshot
|
||||
* id
|
||||
* </ul>
|
||||
*
|
||||
* The caller may release the replication lock upon receiving the response from this action. Please
|
||||
* refer to {@link google.registry.tools.ValidateDatastoreCommand} for more information on usage.
|
||||
*
|
||||
* <p>This action plays SQL transactions up to the user-specified snapshot, creates a new CommitLog
|
||||
* checkpoint, and exports all CommitLogs to GCS up to this checkpoint. The timestamp of this
|
||||
* checkpoint can be used to recreate a Datastore snapshot that is equivalent to the given SQL
|
||||
* snapshot. If this action succeeds, the checkpoint timestamp is included in the response (the
|
||||
* format of which is defined by {@link #SUCCESS_RESPONSE_TEMPLATE}).
|
||||
*/
|
||||
@Action(
|
||||
service = Service.BACKEND,
|
||||
path = SyncDatastoreToSqlSnapshotAction.PATH,
|
||||
method = Action.Method.POST,
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
@DeleteAfterMigration
|
||||
public class SyncDatastoreToSqlSnapshotAction implements Runnable {
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
public static final String PATH = "/_dr/task/syncDatastoreToSqlSnapshot";
|
||||
|
||||
public static final String SUCCESS_RESPONSE_TEMPLATE =
|
||||
"Datastore is up-to-date with provided SQL snapshot (%s). CommitLog timestamp is (%s).";
|
||||
|
||||
static final String SQL_SNAPSHOT_ID_PARAM = "sqlSnapshotId";
|
||||
|
||||
private static final int COMMITLOGS_PRESENCE_CHECK_ATTEMPTS = 10;
|
||||
private static final Duration COMMITLOGS_PRESENCE_CHECK_DELAY = Duration.standardSeconds(6);
|
||||
|
||||
private final Response response;
|
||||
private final Sleeper sleeper;
|
||||
|
||||
@Config("commitLogGcsBucket")
|
||||
private final String gcsBucket;
|
||||
|
||||
private final GcsDiffFileLister gcsDiffFileLister;
|
||||
private final LatestDatastoreSnapshotFinder datastoreSnapshotFinder;
|
||||
private final CommitLogCheckpointAction commitLogCheckpointAction;
|
||||
private final String sqlSnapshotId;
|
||||
|
||||
@Inject
|
||||
SyncDatastoreToSqlSnapshotAction(
|
||||
Response response,
|
||||
Sleeper sleeper,
|
||||
@Config("commitLogGcsBucket") String gcsBucket,
|
||||
GcsDiffFileLister gcsDiffFileLister,
|
||||
LatestDatastoreSnapshotFinder datastoreSnapshotFinder,
|
||||
CommitLogCheckpointAction commitLogCheckpointAction,
|
||||
@Parameter(SQL_SNAPSHOT_ID_PARAM) String sqlSnapshotId) {
|
||||
this.response = response;
|
||||
this.sleeper = sleeper;
|
||||
this.gcsBucket = gcsBucket;
|
||||
this.gcsDiffFileLister = gcsDiffFileLister;
|
||||
this.datastoreSnapshotFinder = datastoreSnapshotFinder;
|
||||
this.commitLogCheckpointAction = commitLogCheckpointAction;
|
||||
this.sqlSnapshotId = sqlSnapshotId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
logger.atInfo().log("Datastore validation invoked. SqlSnapshotId is %s.", sqlSnapshotId);
|
||||
|
||||
try {
|
||||
CommitLogCheckpoint checkpoint = ensureDatabasesComparable(sqlSnapshotId);
|
||||
response.setStatus(SC_OK);
|
||||
response.setPayload(
|
||||
String.format(SUCCESS_RESPONSE_TEMPLATE, sqlSnapshotId, checkpoint.getCheckpointTime()));
|
||||
return;
|
||||
} catch (Throwable e) {
|
||||
logger.atSevere().withCause(e).log("Failed to sync Datastore to SQL.");
|
||||
response.setStatus(SC_INTERNAL_SERVER_ERROR);
|
||||
response.setPayload(getStackTrace(e));
|
||||
}
|
||||
}
|
||||
|
||||
private static String getStackTrace(Throwable e) {
|
||||
try {
|
||||
ByteArrayOutputStream bis = new ByteArrayOutputStream();
|
||||
PrintStream printStream = new PrintStream(bis);
|
||||
e.printStackTrace(printStream);
|
||||
printStream.close();
|
||||
return bis.toString();
|
||||
} catch (RuntimeException re) {
|
||||
return re.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
private CommitLogCheckpoint ensureDatabasesComparable(String sqlSnapshotId) {
|
||||
// Replicate SQL transaction to Datastore, up to when this snapshot is taken.
|
||||
int playbacks = ReplicateToDatastoreAction.replayAllTransactions(Optional.of(sqlSnapshotId));
|
||||
logger.atInfo().log("Played %s SQL transactions.", playbacks);
|
||||
|
||||
Optional<CommitLogCheckpoint> checkpoint = exportCommitLogs();
|
||||
if (!checkpoint.isPresent()) {
|
||||
throw new RuntimeException("Cannot create CommitLog checkpoint");
|
||||
}
|
||||
logger.atInfo().log(
|
||||
"CommitLog checkpoint created at %s.", checkpoint.get().getCheckpointTime());
|
||||
verifyCommitLogsPersisted(checkpoint.get());
|
||||
return checkpoint.get();
|
||||
}
|
||||
|
||||
private Optional<CommitLogCheckpoint> exportCommitLogs() {
|
||||
// Trigger an async CommitLog export to GCS. Will check file availability later.
|
||||
// Although we can add support to synchronous execution, it can disrupt the export cadence
|
||||
// when the system is busy
|
||||
Optional<CommitLogCheckpoint> checkpoint =
|
||||
commitLogCheckpointAction.createCheckPointAndStartAsyncExport();
|
||||
|
||||
// Failure to create checkpoint most likely caused by race with cron-triggered checkpointing.
|
||||
// Retry once.
|
||||
if (!checkpoint.isPresent()) {
|
||||
commitLogCheckpointAction.createCheckPointAndStartAsyncExport();
|
||||
}
|
||||
return checkpoint;
|
||||
}
|
||||
|
||||
private void verifyCommitLogsPersisted(CommitLogCheckpoint checkpoint) {
|
||||
DateTime exportStartTime =
|
||||
datastoreSnapshotFinder
|
||||
.getSnapshotInfo(checkpoint.getCheckpointTime().toInstant())
|
||||
.exportInterval()
|
||||
.getStart();
|
||||
logger.atInfo().log("Found Datastore export at %s", exportStartTime);
|
||||
for (int attempts = 0; attempts < COMMITLOGS_PRESENCE_CHECK_ATTEMPTS; attempts++) {
|
||||
try {
|
||||
gcsDiffFileLister.listDiffFiles(gcsBucket, exportStartTime, checkpoint.getCheckpointTime());
|
||||
return;
|
||||
} catch (IllegalStateException e) {
|
||||
// Gap in commitlog files. Fall through to sleep and retry.
|
||||
logger.atInfo().log("Commitlog files not yet found on GCS.");
|
||||
}
|
||||
sleeper.sleepInterruptibly(COMMITLOGS_PRESENCE_CHECK_DELAY);
|
||||
}
|
||||
throw new RuntimeException("Cannot find all commitlog files.");
|
||||
}
|
||||
}
|
||||
@@ -1,621 +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.DeleteAfterMigration;
|
||||
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)
|
||||
@DeleteAfterMigration
|
||||
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> {
|
||||
|
||||
@@ -49,6 +49,7 @@ 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.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.server.Lock;
|
||||
@@ -79,6 +80,8 @@ import org.joda.time.Duration;
|
||||
service = Action.Service.BACKEND,
|
||||
path = "/_dr/task/refreshDnsOnHostRename",
|
||||
auth = Auth.AUTH_INTERNAL_OR_ADMIN)
|
||||
@DeleteAfterMigration
|
||||
@Deprecated
|
||||
public class RefreshDnsOnHostRenameAction implements Runnable {
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
@@ -1,193 +0,0 @@
|
||||
// Copyright 2021 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.comparedb;
|
||||
|
||||
import static google.registry.beam.comparedb.ValidateSqlUtils.createSqlEntityTupleTag;
|
||||
import static google.registry.beam.initsql.Transforms.createTagForKind;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Verify;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.backup.VersionedEntity;
|
||||
import google.registry.beam.initsql.Transforms;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.billing.BillingEvent;
|
||||
import google.registry.model.common.Cursor;
|
||||
import google.registry.model.contact.ContactHistory;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.DomainHistory;
|
||||
import google.registry.model.domain.token.AllocationToken;
|
||||
import google.registry.model.host.HostHistory;
|
||||
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.replay.SqlEntity;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.tld.Registry;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nullable;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
import org.apache.beam.sdk.transforms.DoFn;
|
||||
import org.apache.beam.sdk.transforms.ParDo;
|
||||
import org.apache.beam.sdk.values.PCollection;
|
||||
import org.apache.beam.sdk.values.PCollectionTuple;
|
||||
import org.apache.beam.sdk.values.TupleTag;
|
||||
import org.apache.beam.sdk.values.TupleTagList;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/** Utilities for loading Datastore snapshots. */
|
||||
@DeleteAfterMigration
|
||||
public final class DatastoreSnapshots {
|
||||
|
||||
private DatastoreSnapshots() {}
|
||||
|
||||
/**
|
||||
* Datastore kinds eligible for validation. This set must be consistent with {@link
|
||||
* SqlSnapshots#ALL_SQL_ENTITIES}.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
static final ImmutableSet<Class<?>> ALL_DATASTORE_KINDS =
|
||||
ImmutableSet.of(
|
||||
Registry.class,
|
||||
Cursor.class,
|
||||
Registrar.class,
|
||||
ContactResource.class,
|
||||
RegistrarContact.class,
|
||||
HostResource.class,
|
||||
HistoryEntry.class,
|
||||
AllocationToken.class,
|
||||
BillingEvent.Recurring.class,
|
||||
BillingEvent.OneTime.class,
|
||||
BillingEvent.Cancellation.class,
|
||||
PollMessage.class,
|
||||
DomainBase.class);
|
||||
|
||||
/**
|
||||
* Returns the Datastore snapshot right before {@code commitLogToTime} for the user specified
|
||||
* {@code kinds}. The resulting snapshot has all changes that happened before {@code
|
||||
* commitLogToTime}, and none at or after {@code commitLogToTime}.
|
||||
*
|
||||
* <p>If {@code HistoryEntry} is included in {@code kinds}, the result will contain {@code
|
||||
* PCollections} for the child entities, {@code DomainHistory}, {@code ContactHistory}, and {@code
|
||||
* HostHistory}.
|
||||
*/
|
||||
static PCollectionTuple loadDatastoreSnapshotByKind(
|
||||
Pipeline pipeline,
|
||||
String exportDir,
|
||||
String commitLogDir,
|
||||
DateTime commitLogFromTime,
|
||||
DateTime commitLogToTime,
|
||||
Set<Class<?>> kinds,
|
||||
Optional<DateTime> compareStartTime) {
|
||||
PCollectionTuple snapshot =
|
||||
pipeline.apply(
|
||||
"Load Datastore snapshot.",
|
||||
Transforms.loadDatastoreSnapshot(
|
||||
exportDir,
|
||||
commitLogDir,
|
||||
commitLogFromTime,
|
||||
commitLogToTime,
|
||||
kinds.stream().map(Key::getKind).collect(ImmutableSet.toImmutableSet())));
|
||||
|
||||
PCollectionTuple perTypeSnapshots = PCollectionTuple.empty(pipeline);
|
||||
for (Class<?> kind : kinds) {
|
||||
PCollection<VersionedEntity> perKindSnapshot =
|
||||
snapshot.get(createTagForKind(Key.getKind(kind)));
|
||||
if (SqlEntity.class.isAssignableFrom(kind)) {
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag((Class<? extends SqlEntity>) kind),
|
||||
datastoreEntityToPojo(perKindSnapshot, kind.getSimpleName(), compareStartTime));
|
||||
continue;
|
||||
}
|
||||
Verify.verify(kind == HistoryEntry.class, "Unexpected Non-SqlEntity class: %s", kind);
|
||||
PCollectionTuple historyEntriesByType = splitHistoryEntry(perKindSnapshot, compareStartTime);
|
||||
for (Map.Entry<TupleTag<?>, PCollection<?>> entry :
|
||||
historyEntriesByType.getAll().entrySet()) {
|
||||
perTypeSnapshots = perTypeSnapshots.and(entry.getKey().getId(), entry.getValue());
|
||||
}
|
||||
}
|
||||
return perTypeSnapshots;
|
||||
}
|
||||
|
||||
/**
|
||||
* Splits a {@link PCollection} of {@link HistoryEntry HistoryEntries} into three collections of
|
||||
* its child entities by type.
|
||||
*/
|
||||
static PCollectionTuple splitHistoryEntry(
|
||||
PCollection<VersionedEntity> historyEntries, Optional<DateTime> compareStartTime) {
|
||||
DateTime nullableStartTime = compareStartTime.orElse(null);
|
||||
return historyEntries.apply(
|
||||
"Split HistoryEntry by Resource Type",
|
||||
ParDo.of(
|
||||
new DoFn<VersionedEntity, SqlEntity>() {
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element VersionedEntity historyEntry, MultiOutputReceiver out) {
|
||||
Optional.ofNullable(Transforms.convertVersionedEntityToSqlEntity(historyEntry))
|
||||
.filter(e -> isEntityIncludedForComparison(e, nullableStartTime))
|
||||
.ifPresent(
|
||||
sqlEntity ->
|
||||
out.get(createSqlEntityTupleTag(sqlEntity.getClass()))
|
||||
.output(sqlEntity));
|
||||
}
|
||||
})
|
||||
.withOutputTags(
|
||||
createSqlEntityTupleTag(DomainHistory.class),
|
||||
TupleTagList.of(createSqlEntityTupleTag(ContactHistory.class))
|
||||
.and(createSqlEntityTupleTag(HostHistory.class))));
|
||||
}
|
||||
|
||||
/**
|
||||
* Transforms a {@link PCollection} of {@link VersionedEntity VersionedEntities} to Ofy Java
|
||||
* objects.
|
||||
*/
|
||||
static PCollection<SqlEntity> datastoreEntityToPojo(
|
||||
PCollection<VersionedEntity> entities, String desc, Optional<DateTime> compareStartTime) {
|
||||
DateTime nullableStartTime = compareStartTime.orElse(null);
|
||||
return entities.apply(
|
||||
"Datastore Entity to Pojo " + desc,
|
||||
ParDo.of(
|
||||
new DoFn<VersionedEntity, SqlEntity>() {
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element VersionedEntity entity, OutputReceiver<SqlEntity> out) {
|
||||
Optional.ofNullable(Transforms.convertVersionedEntityToSqlEntity(entity))
|
||||
.filter(e -> isEntityIncludedForComparison(e, nullableStartTime))
|
||||
.ifPresent(out::output);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
static boolean isEntityIncludedForComparison(
|
||||
SqlEntity entity, @Nullable DateTime compareStartTime) {
|
||||
if (compareStartTime == null) {
|
||||
return true;
|
||||
}
|
||||
if (entity instanceof HistoryEntry) {
|
||||
return compareStartTime.isBefore(((HistoryEntry) entity).getModificationTime());
|
||||
}
|
||||
if (entity instanceof EppResource) {
|
||||
return compareStartTime.isBefore(((EppResource) entity).getUpdateTimestamp().getTimestamp());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,154 +0,0 @@
|
||||
// Copyright 2021 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.comparedb;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.cloud.storage.BlobId;
|
||||
import com.google.cloud.storage.BlobInfo;
|
||||
import dagger.Component;
|
||||
import google.registry.config.CloudTasksUtilsModule;
|
||||
import google.registry.config.CredentialModule;
|
||||
import google.registry.config.RegistryConfig;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import google.registry.config.RegistryConfig.ConfigModule;
|
||||
import google.registry.gcs.GcsUtils;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.util.Clock;
|
||||
import google.registry.util.UtilsModule;
|
||||
import java.io.IOException;
|
||||
import java.util.Comparator;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Instant;
|
||||
import org.joda.time.Interval;
|
||||
|
||||
/** Finds the necessary information for loading the most recent Datastore snapshot. */
|
||||
@DeleteAfterMigration
|
||||
public class LatestDatastoreSnapshotFinder {
|
||||
private final String projectId;
|
||||
private final GcsUtils gcsUtils;
|
||||
private final Clock clock;
|
||||
|
||||
@Inject
|
||||
LatestDatastoreSnapshotFinder(
|
||||
@Config("projectId") String projectId, GcsUtils gcsUtils, Clock clock) {
|
||||
this.projectId = projectId;
|
||||
this.gcsUtils = gcsUtils;
|
||||
this.clock = clock;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds information of the most recent Datastore snapshot that ends strictly before {@code
|
||||
* exportEndTimeUpperBound}, including the GCS folder of the exported data files and the start and
|
||||
* stop times of the export. The folder of the CommitLogs is also included in the return.
|
||||
*/
|
||||
public DatastoreSnapshotInfo getSnapshotInfo(Instant exportEndTimeUpperBound) {
|
||||
String bucketName = RegistryConfig.getDatastoreBackupsBucket().substring("gs://".length());
|
||||
/**
|
||||
* Find the bucket-relative path to the overall metadata file of the last Datastore export.
|
||||
* Since Datastore export is saved daily, we may need to look back to yesterday. If found, the
|
||||
* return value is like
|
||||
* "2021-11-19T06:00:00_76493/2021-11-19T06:00:00_76493.overall_export_metadata".
|
||||
*/
|
||||
Optional<String> metaFilePathOptional =
|
||||
findNewestExportMetadataFileBeforeTime(bucketName, exportEndTimeUpperBound, 5);
|
||||
if (!metaFilePathOptional.isPresent()) {
|
||||
throw new NoSuchElementException("No exports found over the past 2 days.");
|
||||
}
|
||||
String metaFilePath = metaFilePathOptional.get();
|
||||
String metaFileFolder = metaFilePath.substring(0, metaFilePath.indexOf('/'));
|
||||
Instant exportStartTime = Instant.parse(metaFileFolder.replace('_', '.') + 'Z');
|
||||
BlobInfo blobInfo = gcsUtils.getBlobInfo(BlobId.of(bucketName, metaFilePath));
|
||||
Instant exportEndTime = new Instant(blobInfo.getCreateTime());
|
||||
return DatastoreSnapshotInfo.create(
|
||||
String.format("gs://%s/%s", bucketName, metaFileFolder),
|
||||
getCommitLogDir(),
|
||||
new Interval(exportStartTime, exportEndTime));
|
||||
}
|
||||
|
||||
public String getCommitLogDir() {
|
||||
return "gs://" + projectId + "-commits";
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the latest Datastore export that ends strictly before {@code endTimeUpperBound} and
|
||||
* returns the bucket-relative path of the overall export metadata file, in the given bucket. The
|
||||
* search goes back for up to {@code lookBackDays} days in time, including today.
|
||||
*
|
||||
* <p>The overall export metadata file is the last file created during a Datastore export. All
|
||||
* data has been exported by the creation time of this file. The name of this file, like that of
|
||||
* all files in the same export, begins with the timestamp when the export starts.
|
||||
*
|
||||
* <p>An example return value: {@code
|
||||
* 2021-11-19T06:00:00_76493/2021-11-19T06:00:00_76493.overall_export_metadata}.
|
||||
*/
|
||||
private Optional<String> findNewestExportMetadataFileBeforeTime(
|
||||
String bucketName, Instant endTimeUpperBound, int lookBackDays) {
|
||||
DateTime today = clock.nowUtc();
|
||||
for (int day = 0; day < lookBackDays; day++) {
|
||||
String dateString = today.minusDays(day).toString("yyyy-MM-dd");
|
||||
try {
|
||||
Optional<String> metaFilePath =
|
||||
gcsUtils.listFolderObjects(bucketName, dateString).stream()
|
||||
.filter(s -> s.endsWith("overall_export_metadata"))
|
||||
.map(s -> dateString + s)
|
||||
.sorted(Comparator.<String>naturalOrder().reversed())
|
||||
.findFirst();
|
||||
if (metaFilePath.isPresent()) {
|
||||
BlobInfo blobInfo = gcsUtils.getBlobInfo(BlobId.of(bucketName, metaFilePath.get()));
|
||||
Instant exportEndTime = new Instant(blobInfo.getCreateTime());
|
||||
if (exportEndTime.isBefore(endTimeUpperBound)) {
|
||||
return metaFilePath;
|
||||
}
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
throw new RuntimeException(ioe);
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/** Holds information about a Datastore snapshot. */
|
||||
@AutoValue
|
||||
public abstract static class DatastoreSnapshotInfo {
|
||||
public abstract String exportDir();
|
||||
|
||||
public abstract String commitLogDir();
|
||||
|
||||
public abstract Interval exportInterval();
|
||||
|
||||
static DatastoreSnapshotInfo create(
|
||||
String exportDir, String commitLogDir, Interval exportOperationInterval) {
|
||||
return new AutoValue_LatestDatastoreSnapshotFinder_DatastoreSnapshotInfo(
|
||||
exportDir, commitLogDir, exportOperationInterval);
|
||||
}
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Component(
|
||||
modules = {
|
||||
CredentialModule.class,
|
||||
ConfigModule.class,
|
||||
CloudTasksUtilsModule.class,
|
||||
UtilsModule.class
|
||||
})
|
||||
interface LatestDatastoreSnapshotFinderFinderComponent {
|
||||
|
||||
LatestDatastoreSnapshotFinder datastoreSnapshotInfoFinder();
|
||||
}
|
||||
}
|
||||
@@ -1,539 +0,0 @@
|
||||
// Copyright 2021 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.comparedb;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
import static google.registry.beam.comparedb.ValidateSqlUtils.createSqlEntityTupleTag;
|
||||
import static google.registry.beam.comparedb.ValidateSqlUtils.getMedianIdForHistoryTable;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.base.Verify;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSetMultimap;
|
||||
import com.google.common.collect.Streams;
|
||||
import google.registry.beam.common.RegistryJpaIO;
|
||||
import google.registry.beam.common.RegistryJpaIO.Read;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.UpdateAutoTimestamp;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.billing.BillingEvent;
|
||||
import google.registry.model.bulkquery.BulkQueryEntities;
|
||||
import google.registry.model.bulkquery.DomainBaseLite;
|
||||
import google.registry.model.bulkquery.DomainHistoryHost;
|
||||
import google.registry.model.bulkquery.DomainHistoryLite;
|
||||
import google.registry.model.bulkquery.DomainHost;
|
||||
import google.registry.model.common.Cursor;
|
||||
import google.registry.model.contact.ContactHistory;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.DomainHistory;
|
||||
import google.registry.model.domain.DomainHistory.DomainHistoryId;
|
||||
import google.registry.model.domain.GracePeriod;
|
||||
import google.registry.model.domain.GracePeriod.GracePeriodHistory;
|
||||
import google.registry.model.domain.secdns.DelegationSignerData;
|
||||
import google.registry.model.domain.secdns.DomainDsDataHistory;
|
||||
import google.registry.model.domain.token.AllocationToken;
|
||||
import google.registry.model.host.HostHistory;
|
||||
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.replay.SqlEntity;
|
||||
import google.registry.model.reporting.DomainTransactionRecord;
|
||||
import google.registry.model.tld.Registry;
|
||||
import google.registry.persistence.transaction.CriteriaQueryBuilder;
|
||||
import google.registry.util.DateTimeUtils;
|
||||
import java.io.Serializable;
|
||||
import java.util.Optional;
|
||||
import javax.persistence.Entity;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
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.ParDo;
|
||||
import org.apache.beam.sdk.transforms.SerializableFunction;
|
||||
import org.apache.beam.sdk.values.KV;
|
||||
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.TypeDescriptor;
|
||||
import org.apache.beam.sdk.values.TypeDescriptors;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/**
|
||||
* Utilities for loading SQL snapshots.
|
||||
*
|
||||
* <p>For {@link DomainBase} and {@link DomainHistory}, this class assumes the presence of the
|
||||
* {@link google.registry.persistence.PersistenceModule.JpaTransactionManagerType#BULK_QUERY
|
||||
* bulk-query-capable JpaTransactionManager}, and takes advantage of it for higher throughput.
|
||||
*
|
||||
* <p>For now this class is meant for use during the database migration period only. Therefore, it
|
||||
* contains optimizations specifically for the production database at the current size, e.g.,
|
||||
* parallel queries for select tables.
|
||||
*/
|
||||
@DeleteAfterMigration
|
||||
public final class SqlSnapshots {
|
||||
|
||||
private SqlSnapshots() {}
|
||||
|
||||
/**
|
||||
* SQL entity types that are eligible for validation. This set must be consistent with {@link
|
||||
* DatastoreSnapshots#ALL_DATASTORE_KINDS}.
|
||||
*/
|
||||
static final ImmutableSet<Class<? extends SqlEntity>> ALL_SQL_ENTITIES =
|
||||
ImmutableSet.of(
|
||||
Registry.class,
|
||||
Cursor.class,
|
||||
Registrar.class,
|
||||
ContactResource.class,
|
||||
RegistrarContact.class,
|
||||
HostResource.class,
|
||||
AllocationToken.class,
|
||||
BillingEvent.Recurring.class,
|
||||
BillingEvent.OneTime.class,
|
||||
BillingEvent.Cancellation.class,
|
||||
PollMessage.class,
|
||||
DomainBase.class,
|
||||
ContactHistory.class,
|
||||
HostHistory.class,
|
||||
DomainHistory.class);
|
||||
|
||||
/**
|
||||
* Loads a SQL snapshot for the given {@code sqlEntityTypes}.
|
||||
*
|
||||
* <p>If {@code snapshotId} is present, all queries use the specified database snapshot,
|
||||
* guaranteeing a consistent result.
|
||||
*/
|
||||
public static PCollectionTuple loadCloudSqlSnapshotByType(
|
||||
Pipeline pipeline,
|
||||
ImmutableSet<Class<? extends SqlEntity>> sqlEntityTypes,
|
||||
Optional<String> snapshotId,
|
||||
Optional<DateTime> compareStartTime) {
|
||||
PCollectionTuple perTypeSnapshots = PCollectionTuple.empty(pipeline);
|
||||
for (Class<? extends SqlEntity> clazz : sqlEntityTypes) {
|
||||
if (clazz == DomainBase.class) {
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag(DomainBase.class),
|
||||
loadAndAssembleDomainBase(pipeline, snapshotId, compareStartTime));
|
||||
continue;
|
||||
}
|
||||
if (clazz == DomainHistory.class) {
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag(DomainHistory.class),
|
||||
loadAndAssembleDomainHistory(pipeline, snapshotId, compareStartTime));
|
||||
continue;
|
||||
}
|
||||
if (clazz == ContactHistory.class) {
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag(ContactHistory.class),
|
||||
loadContactHistory(pipeline, snapshotId, compareStartTime));
|
||||
continue;
|
||||
}
|
||||
if (clazz == HostHistory.class) {
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag(HostHistory.class),
|
||||
loadHostHistory(
|
||||
pipeline, snapshotId, compareStartTime.orElse(DateTimeUtils.START_OF_TIME)));
|
||||
continue;
|
||||
}
|
||||
if (EppResource.class.isAssignableFrom(clazz) && compareStartTime.isPresent()) {
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag(clazz),
|
||||
pipeline.apply(
|
||||
"SQL Load " + clazz.getSimpleName(),
|
||||
buildEppResourceQueryWithTimeFilter(
|
||||
clazz, SqlEntity.class, snapshotId, compareStartTime.get())
|
||||
.withSnapshot(snapshotId.orElse(null))));
|
||||
continue;
|
||||
}
|
||||
perTypeSnapshots =
|
||||
perTypeSnapshots.and(
|
||||
createSqlEntityTupleTag(clazz),
|
||||
pipeline.apply(
|
||||
"SQL Load " + clazz.getSimpleName(),
|
||||
RegistryJpaIO.read(
|
||||
() -> CriteriaQueryBuilder.create(clazz).build(), SqlEntity.class::cast)
|
||||
.withSnapshot(snapshotId.orElse(null))));
|
||||
}
|
||||
return perTypeSnapshots;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bulk-loads parts of {@link DomainBase} and assembles them in the pipeline.
|
||||
*
|
||||
* @see BulkQueryEntities
|
||||
*/
|
||||
public static PCollection<SqlEntity> loadAndAssembleDomainBase(
|
||||
Pipeline pipeline, Optional<String> snapshotId, Optional<DateTime> compareStartTime) {
|
||||
PCollection<KV<String, Serializable>> baseObjects =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
DomainBaseLite.class,
|
||||
DomainBaseLite::getRepoId,
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
PCollection<KV<String, Serializable>> gracePeriods =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
GracePeriod.class,
|
||||
GracePeriod::getDomainRepoId,
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
PCollection<KV<String, Serializable>> delegationSigners =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
DelegationSignerData.class,
|
||||
DelegationSignerData::getDomainRepoId,
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
PCollection<KV<String, Serializable>> domainHosts =
|
||||
readAllAndAssignKey(
|
||||
pipeline, DomainHost.class, DomainHost::getDomainRepoId, snapshotId, compareStartTime);
|
||||
|
||||
DateTime nullableCompareStartTime = compareStartTime.orElse(null);
|
||||
return PCollectionList.of(
|
||||
ImmutableList.of(baseObjects, gracePeriods, delegationSigners, domainHosts))
|
||||
.apply("SQL Merge DomainBase parts", Flatten.pCollections())
|
||||
.apply("Group by Domain Parts by RepoId", GroupByKey.create())
|
||||
.apply(
|
||||
"Assemble DomainBase",
|
||||
ParDo.of(
|
||||
new DoFn<KV<String, Iterable<Serializable>>, SqlEntity>() {
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element KV<String, Iterable<Serializable>> kv,
|
||||
OutputReceiver<SqlEntity> outputReceiver) {
|
||||
TypedClassifier partsByType = new TypedClassifier(kv.getValue());
|
||||
ImmutableSet<DomainBaseLite> baseObjects =
|
||||
partsByType.getAllOf(DomainBaseLite.class);
|
||||
if (nullableCompareStartTime != null) {
|
||||
Verify.verify(
|
||||
baseObjects.size() <= 1,
|
||||
"Found duplicate DomainBaseLite object per repoId: " + kv.getKey());
|
||||
if (baseObjects.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
Verify.verify(
|
||||
baseObjects.size() == 1,
|
||||
"Expecting one DomainBaseLite object per repoId: " + kv.getKey());
|
||||
outputReceiver.output(
|
||||
BulkQueryEntities.assembleDomainBase(
|
||||
baseObjects.iterator().next(),
|
||||
partsByType.getAllOf(GracePeriod.class),
|
||||
partsByType.getAllOf(DelegationSignerData.class),
|
||||
partsByType.getAllOf(DomainHost.class).stream()
|
||||
.map(DomainHost::getHostVKey)
|
||||
.collect(ImmutableSet.toImmutableSet())));
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads all {@link ContactHistory} entities from the database.
|
||||
*
|
||||
* <p>This method uses two queries to load data in parallel. This is a performance optimization
|
||||
* specifically for the production database.
|
||||
*/
|
||||
static PCollection<SqlEntity> loadContactHistory(
|
||||
Pipeline pipeline, Optional<String> snapshotId, Optional<DateTime> compareStartTime) {
|
||||
PartitionedQuery partitionedQuery =
|
||||
buildPartitonedHistoryQuery(ContactHistory.class, compareStartTime);
|
||||
PCollection<SqlEntity> part1 =
|
||||
pipeline.apply(
|
||||
"SQL Load ContactHistory first half",
|
||||
RegistryJpaIO.read(
|
||||
partitionedQuery.firstHalfQuery(),
|
||||
partitionedQuery.parameters(),
|
||||
false,
|
||||
SqlEntity.class::cast)
|
||||
.withSnapshot(snapshotId.orElse(null)));
|
||||
PCollection<SqlEntity> part2 =
|
||||
pipeline.apply(
|
||||
"SQL Load ContactHistory second half",
|
||||
RegistryJpaIO.read(
|
||||
partitionedQuery.secondHalfQuery(),
|
||||
partitionedQuery.parameters(),
|
||||
false,
|
||||
SqlEntity.class::cast)
|
||||
.withSnapshot(snapshotId.orElse(null)));
|
||||
return PCollectionList.of(part1)
|
||||
.and(part2)
|
||||
.apply("Combine ContactHistory parts", Flatten.pCollections());
|
||||
}
|
||||
|
||||
/** Loads all {@link HostHistory} entities from the database. */
|
||||
static PCollection<SqlEntity> loadHostHistory(
|
||||
Pipeline pipeline, Optional<String> snapshotId, DateTime compareStartTime) {
|
||||
return pipeline.apply(
|
||||
"SQL Load HostHistory",
|
||||
RegistryJpaIO.read(
|
||||
"select c from HostHistory c where :compareStartTime < modificationTime",
|
||||
ImmutableMap.of("compareStartTime", compareStartTime),
|
||||
false,
|
||||
SqlEntity.class::cast)
|
||||
.withSnapshot(snapshotId.orElse(null)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Bulk-loads all parts of {@link DomainHistory} and assembles them in the pipeline.
|
||||
*
|
||||
* <p>This method uses two queries to load {@link DomainBaseLite} in parallel. This is a
|
||||
* performance optimization specifically for the production database.
|
||||
*
|
||||
* @see BulkQueryEntities
|
||||
*/
|
||||
static PCollection<SqlEntity> loadAndAssembleDomainHistory(
|
||||
Pipeline pipeline, Optional<String> snapshotId, Optional<DateTime> compareStartTime) {
|
||||
PartitionedQuery partitionedQuery =
|
||||
buildPartitonedHistoryQuery(DomainHistoryLite.class, compareStartTime);
|
||||
PCollection<KV<String, Serializable>> baseObjectsPart1 =
|
||||
queryAndAssignKey(
|
||||
pipeline,
|
||||
"first half",
|
||||
partitionedQuery.firstHalfQuery(),
|
||||
partitionedQuery.parameters(),
|
||||
DomainHistoryLite.class,
|
||||
compose(DomainHistoryLite::getDomainHistoryId, DomainHistoryId::toString),
|
||||
snapshotId);
|
||||
PCollection<KV<String, Serializable>> baseObjectsPart2 =
|
||||
queryAndAssignKey(
|
||||
pipeline,
|
||||
"second half",
|
||||
partitionedQuery.secondHalfQuery(),
|
||||
partitionedQuery.parameters(),
|
||||
DomainHistoryLite.class,
|
||||
compose(DomainHistoryLite::getDomainHistoryId, DomainHistoryId::toString),
|
||||
snapshotId);
|
||||
PCollection<KV<String, Serializable>> gracePeriods =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
GracePeriodHistory.class,
|
||||
compose(GracePeriodHistory::getDomainHistoryId, DomainHistoryId::toString),
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
PCollection<KV<String, Serializable>> delegationSigners =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
DomainDsDataHistory.class,
|
||||
compose(DomainDsDataHistory::getDomainHistoryId, DomainHistoryId::toString),
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
PCollection<KV<String, Serializable>> domainHosts =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
DomainHistoryHost.class,
|
||||
compose(DomainHistoryHost::getDomainHistoryId, DomainHistoryId::toString),
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
PCollection<KV<String, Serializable>> transactionRecords =
|
||||
readAllAndAssignKey(
|
||||
pipeline,
|
||||
DomainTransactionRecord.class,
|
||||
compose(DomainTransactionRecord::getDomainHistoryId, DomainHistoryId::toString),
|
||||
snapshotId,
|
||||
compareStartTime);
|
||||
|
||||
DateTime nullableCompareStartTime = compareStartTime.orElse(null);
|
||||
return PCollectionList.of(
|
||||
ImmutableList.of(
|
||||
baseObjectsPart1,
|
||||
baseObjectsPart2,
|
||||
gracePeriods,
|
||||
delegationSigners,
|
||||
domainHosts,
|
||||
transactionRecords))
|
||||
.apply("Merge DomainHistory parts", Flatten.pCollections())
|
||||
.apply("Group by DomainHistory Parts by DomainHistoryId string", GroupByKey.create())
|
||||
.apply(
|
||||
"Assemble DomainHistory",
|
||||
ParDo.of(
|
||||
new DoFn<KV<String, Iterable<Serializable>>, SqlEntity>() {
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element KV<String, Iterable<Serializable>> kv,
|
||||
OutputReceiver<SqlEntity> outputReceiver) {
|
||||
TypedClassifier partsByType = new TypedClassifier(kv.getValue());
|
||||
ImmutableSet<DomainHistoryLite> baseObjects =
|
||||
partsByType.getAllOf(DomainHistoryLite.class);
|
||||
if (nullableCompareStartTime != null) {
|
||||
Verify.verify(
|
||||
baseObjects.size() <= 1,
|
||||
"Found duplicate DomainHistoryLite object per domainHistoryId: "
|
||||
+ kv.getKey());
|
||||
if (baseObjects.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
Verify.verify(
|
||||
baseObjects.size() == 1,
|
||||
"Expecting one DomainHistoryLite object per domainHistoryId: "
|
||||
+ kv.getKey());
|
||||
outputReceiver.output(
|
||||
BulkQueryEntities.assembleDomainHistory(
|
||||
baseObjects.iterator().next(),
|
||||
partsByType.getAllOf(DomainDsDataHistory.class),
|
||||
partsByType.getAllOf(DomainHistoryHost.class).stream()
|
||||
.map(DomainHistoryHost::getHostVKey)
|
||||
.collect(ImmutableSet.toImmutableSet()),
|
||||
partsByType.getAllOf(GracePeriodHistory.class),
|
||||
partsByType.getAllOf(DomainTransactionRecord.class)));
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
static <R, T> PCollection<KV<String, Serializable>> readAllAndAssignKey(
|
||||
Pipeline pipeline,
|
||||
Class<R> type,
|
||||
SerializableFunction<R, String> keyFunction,
|
||||
Optional<String> snapshotId,
|
||||
Optional<DateTime> compareStartTime) {
|
||||
Read<R, R> queryObject;
|
||||
if (compareStartTime.isPresent() && EppResource.class.isAssignableFrom(type)) {
|
||||
queryObject =
|
||||
buildEppResourceQueryWithTimeFilter(type, type, snapshotId, compareStartTime.get());
|
||||
} else {
|
||||
queryObject =
|
||||
RegistryJpaIO.read(() -> CriteriaQueryBuilder.create(type).build())
|
||||
.withSnapshot(snapshotId.orElse(null));
|
||||
}
|
||||
return pipeline
|
||||
.apply("SQL Load " + type.getSimpleName(), queryObject)
|
||||
.apply(
|
||||
"Assign Key to " + type.getSimpleName(),
|
||||
MapElements.into(
|
||||
TypeDescriptors.kvs(
|
||||
TypeDescriptors.strings(), TypeDescriptor.of(Serializable.class)))
|
||||
.via(obj -> KV.of(keyFunction.apply(obj), (Serializable) obj)));
|
||||
}
|
||||
|
||||
static <R, T> PCollection<KV<String, Serializable>> queryAndAssignKey(
|
||||
Pipeline pipeline,
|
||||
String diffrentiator,
|
||||
String jplQuery,
|
||||
ImmutableMap<String, Object> queryParameters,
|
||||
Class<R> type,
|
||||
SerializableFunction<R, String> keyFunction,
|
||||
Optional<String> snapshotId) {
|
||||
return pipeline
|
||||
.apply(
|
||||
"SQL Load " + type.getSimpleName() + " " + diffrentiator,
|
||||
RegistryJpaIO.read(jplQuery, queryParameters, false, type::cast)
|
||||
.withSnapshot(snapshotId.orElse(null)))
|
||||
.apply(
|
||||
"Assign Key to " + type.getSimpleName() + " " + diffrentiator,
|
||||
MapElements.into(
|
||||
TypeDescriptors.kvs(
|
||||
TypeDescriptors.strings(), TypeDescriptor.of(Serializable.class)))
|
||||
.via(obj -> KV.of(keyFunction.apply(obj), (Serializable) obj)));
|
||||
}
|
||||
|
||||
// TODO(b/205988530): don't use beam serializablefunction, make one that extends Java's Function.
|
||||
private static <R, I, T> SerializableFunction<R, T> compose(
|
||||
SerializableFunction<R, I> f1, SerializableFunction<I, T> f2) {
|
||||
return r -> f2.apply(f1.apply(r));
|
||||
}
|
||||
|
||||
static <R, T> Read<R, T> buildEppResourceQueryWithTimeFilter(
|
||||
Class<R> entityType,
|
||||
Class<T> castOutputAsType,
|
||||
Optional<String> snapshotId,
|
||||
DateTime compareStartTime) {
|
||||
String tableName = getJpaEntityName(entityType);
|
||||
String jpql =
|
||||
String.format("select c from %s c where :compareStartTime < updateTimestamp", tableName);
|
||||
return RegistryJpaIO.read(
|
||||
jpql,
|
||||
ImmutableMap.of("compareStartTime", UpdateAutoTimestamp.create(compareStartTime)),
|
||||
false,
|
||||
(R x) -> castOutputAsType.cast(x))
|
||||
.withSnapshot(snapshotId.orElse(null));
|
||||
}
|
||||
|
||||
static PartitionedQuery buildPartitonedHistoryQuery(
|
||||
Class<?> entityType, Optional<DateTime> compareStartTime) {
|
||||
String tableName = getJpaEntityName(entityType);
|
||||
Verify.verify(
|
||||
!Strings.isNullOrEmpty(tableName), "Invalid entity type %s", entityType.getSimpleName());
|
||||
long medianId =
|
||||
getMedianIdForHistoryTable(tableName)
|
||||
.orElseThrow(() -> new IllegalStateException("Not a valid database: no " + tableName));
|
||||
String firstHalfQuery = String.format("select c from %s c where id <= :historyId", tableName);
|
||||
String secondHalfQuery = String.format("select c from %s c where id > :historyId", tableName);
|
||||
if (compareStartTime.isPresent()) {
|
||||
String timeFilter = " and :compareStartTime < modificationTime";
|
||||
firstHalfQuery += timeFilter;
|
||||
secondHalfQuery += timeFilter;
|
||||
return PartitionedQuery.createPartitionedQuery(
|
||||
firstHalfQuery,
|
||||
secondHalfQuery,
|
||||
ImmutableMap.of("historyId", medianId, "compareStartTime", compareStartTime.get()));
|
||||
} else {
|
||||
return PartitionedQuery.createPartitionedQuery(
|
||||
firstHalfQuery, secondHalfQuery, ImmutableMap.of("historyId", medianId));
|
||||
}
|
||||
}
|
||||
|
||||
private static String getJpaEntityName(Class entityType) {
|
||||
Entity entityAnnotation = (Entity) entityType.getAnnotation(Entity.class);
|
||||
checkState(
|
||||
entityAnnotation != null, "Unexpected non-entity type %s", entityType.getSimpleName());
|
||||
return Strings.isNullOrEmpty(entityAnnotation.name())
|
||||
? entityType.getSimpleName()
|
||||
: entityAnnotation.name();
|
||||
}
|
||||
|
||||
/** Contains two queries that partition the target table in two. */
|
||||
@AutoValue
|
||||
abstract static class PartitionedQuery {
|
||||
abstract String firstHalfQuery();
|
||||
|
||||
abstract String secondHalfQuery();
|
||||
|
||||
abstract ImmutableMap<String, Object> parameters();
|
||||
|
||||
public static PartitionedQuery createPartitionedQuery(
|
||||
String firstHalfQuery, String secondHalfQuery, ImmutableMap<String, Object> parameters) {
|
||||
return new AutoValue_SqlSnapshots_PartitionedQuery(
|
||||
firstHalfQuery, secondHalfQuery, parameters);
|
||||
}
|
||||
}
|
||||
|
||||
/** Container that receives mixed-typed data and groups them by {@link Class}. */
|
||||
static class TypedClassifier {
|
||||
private final ImmutableSetMultimap<Class<?>, Object> classifiedEntities;
|
||||
|
||||
TypedClassifier(Iterable<Serializable> inputs) {
|
||||
this.classifiedEntities =
|
||||
Streams.stream(inputs)
|
||||
.collect(ImmutableSetMultimap.toImmutableSetMultimap(Object::getClass, x -> x));
|
||||
}
|
||||
|
||||
<T> ImmutableSet<T> getAllOf(Class<T> clazz) {
|
||||
return classifiedEntities.get(clazz).stream()
|
||||
.map(clazz::cast)
|
||||
.collect(ImmutableSet.toImmutableSet());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,206 +0,0 @@
|
||||
// Copyright 2021 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.comparedb;
|
||||
|
||||
import static com.google.common.base.Verify.verify;
|
||||
import static org.apache.beam.sdk.values.TypeDescriptors.strings;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.beam.common.RegistryPipelineOptions;
|
||||
import google.registry.beam.common.RegistryPipelineWorkerInitializer;
|
||||
import google.registry.beam.comparedb.LatestDatastoreSnapshotFinder.DatastoreSnapshotInfo;
|
||||
import google.registry.beam.comparedb.ValidateSqlUtils.CompareSqlEntity;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.DomainHistory;
|
||||
import google.registry.model.replay.SqlEntity;
|
||||
import google.registry.persistence.PersistenceModule.JpaTransactionManagerType;
|
||||
import google.registry.persistence.PersistenceModule.TransactionIsolationLevel;
|
||||
import google.registry.util.SystemClock;
|
||||
import java.io.Serializable;
|
||||
import java.util.Optional;
|
||||
import org.apache.beam.sdk.Pipeline;
|
||||
import org.apache.beam.sdk.coders.SerializableCoder;
|
||||
import org.apache.beam.sdk.io.TextIO;
|
||||
import org.apache.beam.sdk.options.PipelineOptionsFactory;
|
||||
import org.apache.beam.sdk.transforms.Flatten;
|
||||
import org.apache.beam.sdk.transforms.GroupByKey;
|
||||
import org.apache.beam.sdk.transforms.ParDo;
|
||||
import org.apache.beam.sdk.transforms.WithKeys;
|
||||
import org.apache.beam.sdk.values.PCollectionList;
|
||||
import org.apache.beam.sdk.values.PCollectionTuple;
|
||||
import org.apache.beam.sdk.values.TupleTag;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
/**
|
||||
* Validates the asynchronous data replication process between Datastore and Cloud SQL.
|
||||
*
|
||||
* <p>This pipeline is to be launched by {@link google.registry.tools.ValidateDatastoreCommand} or
|
||||
* {@link google.registry.tools.ValidateSqlCommand}.
|
||||
*/
|
||||
@DeleteAfterMigration
|
||||
public class ValidateDatabasePipeline {
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
/** Specifies the extra CommitLogs to load before the start of a Database export. */
|
||||
private static final Duration COMMITLOG_START_TIME_MARGIN = Duration.standardMinutes(10);
|
||||
|
||||
private final ValidateDatabasePipelineOptions options;
|
||||
private final LatestDatastoreSnapshotFinder datastoreSnapshotFinder;
|
||||
|
||||
public ValidateDatabasePipeline(
|
||||
ValidateDatabasePipelineOptions options,
|
||||
LatestDatastoreSnapshotFinder datastoreSnapshotFinder) {
|
||||
this.options = options;
|
||||
this.datastoreSnapshotFinder = datastoreSnapshotFinder;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void run(Pipeline pipeline) {
|
||||
DateTime latestCommitLogTime = DateTime.parse(options.getLatestCommitLogTimestamp());
|
||||
DatastoreSnapshotInfo mostRecentExport =
|
||||
datastoreSnapshotFinder.getSnapshotInfo(latestCommitLogTime.toInstant());
|
||||
|
||||
logger.atInfo().log(
|
||||
"Comparing datastore export at %s and commitlog timestamp %s.",
|
||||
mostRecentExport.exportDir(), latestCommitLogTime);
|
||||
|
||||
Optional<String> outputPath =
|
||||
Optional.ofNullable(options.getDiffOutputGcsBucket())
|
||||
.map(
|
||||
bucket ->
|
||||
String.format(
|
||||
"gs://%s/validate_database/%s/diffs.txt",
|
||||
bucket, new SystemClock().nowUtc()));
|
||||
outputPath.ifPresent(path -> logger.atInfo().log("Discrepancies will be logged to %s", path));
|
||||
|
||||
setupPipeline(
|
||||
pipeline,
|
||||
Optional.ofNullable(options.getSqlSnapshotId()),
|
||||
mostRecentExport,
|
||||
latestCommitLogTime,
|
||||
Optional.ofNullable(options.getComparisonStartTimestamp()).map(DateTime::parse),
|
||||
outputPath);
|
||||
|
||||
pipeline.run();
|
||||
}
|
||||
|
||||
static void setupPipeline(
|
||||
Pipeline pipeline,
|
||||
Optional<String> sqlSnapshotId,
|
||||
DatastoreSnapshotInfo mostRecentExport,
|
||||
DateTime latestCommitLogTime,
|
||||
Optional<DateTime> compareStartTime,
|
||||
Optional<String> diffOutputPath) {
|
||||
pipeline
|
||||
.getCoderRegistry()
|
||||
.registerCoderForClass(SqlEntity.class, SerializableCoder.of(Serializable.class));
|
||||
|
||||
PCollectionTuple datastoreSnapshot =
|
||||
DatastoreSnapshots.loadDatastoreSnapshotByKind(
|
||||
pipeline,
|
||||
mostRecentExport.exportDir(),
|
||||
mostRecentExport.commitLogDir(),
|
||||
mostRecentExport.exportInterval().getStart().minus(COMMITLOG_START_TIME_MARGIN),
|
||||
// Increase by 1ms since we want to include commitLogs latestCommitLogTime but
|
||||
// this parameter is exclusive.
|
||||
latestCommitLogTime.plusMillis(1),
|
||||
DatastoreSnapshots.ALL_DATASTORE_KINDS,
|
||||
compareStartTime);
|
||||
|
||||
PCollectionTuple cloudSqlSnapshot =
|
||||
SqlSnapshots.loadCloudSqlSnapshotByType(
|
||||
pipeline, SqlSnapshots.ALL_SQL_ENTITIES, sqlSnapshotId, compareStartTime);
|
||||
|
||||
verify(
|
||||
datastoreSnapshot.getAll().keySet().equals(cloudSqlSnapshot.getAll().keySet()),
|
||||
"Expecting the same set of types in both snapshots.");
|
||||
|
||||
PCollectionList<String> diffLogs = PCollectionList.empty(pipeline);
|
||||
|
||||
for (Class<? extends SqlEntity> clazz : SqlSnapshots.ALL_SQL_ENTITIES) {
|
||||
TupleTag<SqlEntity> tag = ValidateSqlUtils.createSqlEntityTupleTag(clazz);
|
||||
verify(
|
||||
datastoreSnapshot.has(tag), "Missing %s in Datastore snapshot.", clazz.getSimpleName());
|
||||
verify(cloudSqlSnapshot.has(tag), "Missing %s in Cloud SQL snapshot.", clazz.getSimpleName());
|
||||
diffLogs =
|
||||
diffLogs.and(
|
||||
PCollectionList.of(datastoreSnapshot.get(tag))
|
||||
.and(cloudSqlSnapshot.get(tag))
|
||||
.apply(
|
||||
"Combine from both snapshots: " + clazz.getSimpleName(),
|
||||
Flatten.pCollections())
|
||||
.apply(
|
||||
"Assign primary key to merged " + clazz.getSimpleName(),
|
||||
WithKeys.of(ValidateDatabasePipeline::getPrimaryKeyString)
|
||||
.withKeyType(strings()))
|
||||
.apply("Group by primary key " + clazz.getSimpleName(), GroupByKey.create())
|
||||
.apply("Compare " + clazz.getSimpleName(), ParDo.of(new CompareSqlEntity())));
|
||||
}
|
||||
if (diffOutputPath.isPresent()) {
|
||||
diffLogs
|
||||
.apply("Gather diff logs", Flatten.pCollections())
|
||||
.apply(
|
||||
"Output diffs",
|
||||
TextIO.write()
|
||||
.to(diffOutputPath.get())
|
||||
/**
|
||||
* Output to a single file for ease of use since diffs should be few. If this
|
||||
* assumption turns out not to be false, user should abort the pipeline and
|
||||
* investigate why.
|
||||
*/
|
||||
.withoutSharding()
|
||||
.withDelimiter((Strings.repeat("-", 80) + "\n").toCharArray()));
|
||||
}
|
||||
}
|
||||
|
||||
private static String getPrimaryKeyString(SqlEntity sqlEntity) {
|
||||
// SqlEntity.getPrimaryKeyString only works with entities registered with Hibernate.
|
||||
// We are using the BulkQueryJpaTransactionManager, which does not recognize DomainBase and
|
||||
// DomainHistory. See BulkQueryEntities.java for more information.
|
||||
if (sqlEntity instanceof DomainBase) {
|
||||
return "DomainBase_" + ((DomainBase) sqlEntity).getRepoId();
|
||||
}
|
||||
if (sqlEntity instanceof DomainHistory) {
|
||||
return "DomainHistory_" + ((DomainHistory) sqlEntity).getDomainHistoryId().toString();
|
||||
}
|
||||
return sqlEntity.getPrimaryKeyString();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
ValidateDatabasePipelineOptions options =
|
||||
PipelineOptionsFactory.fromArgs(args)
|
||||
.withValidation()
|
||||
.as(ValidateDatabasePipelineOptions.class);
|
||||
RegistryPipelineOptions.validateRegistryPipelineOptions(options);
|
||||
|
||||
// Defensively set important options.
|
||||
options.setIsolationOverride(TransactionIsolationLevel.TRANSACTION_REPEATABLE_READ);
|
||||
options.setJpaTransactionManagerType(JpaTransactionManagerType.BULK_QUERY);
|
||||
|
||||
// Set up JPA in the pipeline harness (the locally executed part of the main() method). Reuse
|
||||
// code in RegistryPipelineWorkerInitializer, which only applies to pipeline worker VMs.
|
||||
new RegistryPipelineWorkerInitializer().beforeProcessing(options);
|
||||
|
||||
LatestDatastoreSnapshotFinder datastoreSnapshotFinder =
|
||||
DaggerLatestDatastoreSnapshotFinder_LatestDatastoreSnapshotFinderFinderComponent.create()
|
||||
.datastoreSnapshotInfoFinder();
|
||||
|
||||
new ValidateDatabasePipeline(options, datastoreSnapshotFinder).run(Pipeline.create(options));
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
// 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.comparedb;
|
||||
|
||||
import google.registry.beam.common.RegistryPipelineOptions;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import javax.annotation.Nullable;
|
||||
import org.apache.beam.sdk.options.Description;
|
||||
import org.apache.beam.sdk.options.Validation;
|
||||
|
||||
/** BEAM pipeline options for {@link ValidateDatabasePipeline}. */
|
||||
@DeleteAfterMigration
|
||||
public interface ValidateDatabasePipelineOptions extends RegistryPipelineOptions {
|
||||
|
||||
@Description(
|
||||
"The id of the SQL snapshot to be compared with Datastore. "
|
||||
+ "If null, the current state of the SQL database is used.")
|
||||
@Nullable
|
||||
String getSqlSnapshotId();
|
||||
|
||||
void setSqlSnapshotId(String snapshotId);
|
||||
|
||||
@Description("The latest CommitLogs to load, in ISO8601 format.")
|
||||
@Validation.Required
|
||||
String getLatestCommitLogTimestamp();
|
||||
|
||||
void setLatestCommitLogTimestamp(String commitLogEndTimestamp);
|
||||
|
||||
@Description(
|
||||
"For history entries and EPP resources, only those modified strictly after this time are "
|
||||
+ "included in comparison. Value is in ISO8601 format. "
|
||||
+ "Other entity types are not affected.")
|
||||
@Nullable
|
||||
String getComparisonStartTimestamp();
|
||||
|
||||
void setComparisonStartTimestamp(String comparisonStartTimestamp);
|
||||
|
||||
@Description("The GCS bucket where discrepancies found during comparison should be logged.")
|
||||
@Nullable
|
||||
String getDiffOutputGcsBucket();
|
||||
|
||||
void setDiffOutputGcsBucket(String gcsBucket);
|
||||
}
|
||||
@@ -1,427 +0,0 @@
|
||||
// Copyright 2021 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.comparedb;
|
||||
|
||||
import static com.google.common.base.Verify.verify;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Maps.EntryTransformer;
|
||||
import google.registry.beam.initsql.Transforms;
|
||||
import google.registry.config.RegistryEnvironment;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import google.registry.model.billing.BillingEvent;
|
||||
import google.registry.model.contact.ContactBase;
|
||||
import google.registry.model.contact.ContactHistory;
|
||||
import google.registry.model.domain.DomainContent;
|
||||
import google.registry.model.domain.DomainHistory;
|
||||
import google.registry.model.eppcommon.AuthInfo;
|
||||
import google.registry.model.host.HostHistory;
|
||||
import google.registry.model.poll.PollMessage;
|
||||
import google.registry.model.registrar.Registrar;
|
||||
import google.registry.model.replay.SqlEntity;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.util.DiffUtils;
|
||||
import java.io.Serializable;
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigInteger;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import org.apache.beam.sdk.metrics.Counter;
|
||||
import org.apache.beam.sdk.metrics.Metrics;
|
||||
import org.apache.beam.sdk.transforms.DoFn;
|
||||
import org.apache.beam.sdk.values.KV;
|
||||
import org.apache.beam.sdk.values.TupleTag;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
/** Helpers for use by {@link ValidateDatabasePipeline}. */
|
||||
@DeleteAfterMigration
|
||||
final class ValidateSqlUtils {
|
||||
|
||||
private ValidateSqlUtils() {}
|
||||
|
||||
private static final ImmutableSet<String> PROBER_CELLS = ImmutableSet.of("IQ", "LG", "TL");
|
||||
private static final ImmutableSet<String> PROBER_TYPES =
|
||||
ImmutableSet.of("ANYT", "ANYTES", "CANARY");
|
||||
|
||||
/**
|
||||
* Query template for finding the median value of the {@code history_revision_id} column in one of
|
||||
* the History tables.
|
||||
*
|
||||
* <p>The {@link ValidateDatabasePipeline} uses this query to parallelize the query to some of the
|
||||
* history tables. Although the {@code repo_id} column is the leading column in the primary keys
|
||||
* of these tables, in practice and with production data, division by {@code history_revision_id}
|
||||
* works slightly faster for unknown reasons.
|
||||
*/
|
||||
private static final String MEDIAN_ID_QUERY_TEMPLATE =
|
||||
"SELECT history_revision_id FROM ( "
|
||||
+ " SELECT"
|
||||
+ " ROW_NUMBER() OVER (ORDER BY history_revision_id ASC) AS rownumber,"
|
||||
+ " history_revision_id"
|
||||
+ " FROM \"%TABLE%\""
|
||||
+ ") AS foo\n"
|
||||
+ "WHERE rownumber in (select count(*) / 2 + 1 from \"%TABLE%\")";
|
||||
|
||||
static Optional<Long> getMedianIdForHistoryTable(String tableName) {
|
||||
Preconditions.checkArgument(
|
||||
tableName.endsWith("History"), "Table must be one of the History tables.");
|
||||
String sqlText = MEDIAN_ID_QUERY_TEMPLATE.replace("%TABLE%", tableName);
|
||||
List results =
|
||||
jpaTm()
|
||||
.transact(() -> jpaTm().getEntityManager().createNativeQuery(sqlText).getResultList());
|
||||
verify(results.size() < 2, "MidPoint query should have at most one result.");
|
||||
if (results.isEmpty()) {
|
||||
return Optional.empty();
|
||||
}
|
||||
return Optional.of(((BigInteger) results.get(0)).longValue());
|
||||
}
|
||||
|
||||
static TupleTag<SqlEntity> createSqlEntityTupleTag(Class<? extends SqlEntity> actualType) {
|
||||
return new TupleTag<SqlEntity>(actualType.getSimpleName()) {};
|
||||
}
|
||||
|
||||
static class CompareSqlEntity extends DoFn<KV<String, Iterable<SqlEntity>>, String> {
|
||||
private final HashMap<String, Counter> totalCounters = new HashMap<>();
|
||||
private final HashMap<String, Counter> missingCounters = new HashMap<>();
|
||||
private final HashMap<String, Counter> unequalCounters = new HashMap<>();
|
||||
private final HashMap<String, Counter> badEntityCounters = new HashMap<>();
|
||||
private final HashMap<String, Counter> duplicateEntityCounters = new HashMap<>();
|
||||
|
||||
private String getCounterKey(Class<?> clazz) {
|
||||
return PollMessage.class.isAssignableFrom(clazz) ? "PollMessage" : clazz.getSimpleName();
|
||||
}
|
||||
|
||||
private synchronized void ensureCounterExists(String counterKey) {
|
||||
if (totalCounters.containsKey(counterKey)) {
|
||||
return;
|
||||
}
|
||||
totalCounters.put(counterKey, Metrics.counter("CompareDB", "Total Compared: " + counterKey));
|
||||
missingCounters.put(
|
||||
counterKey, Metrics.counter("CompareDB", "Missing In One DB: " + counterKey));
|
||||
unequalCounters.put(counterKey, Metrics.counter("CompareDB", "Not Equal:" + counterKey));
|
||||
badEntityCounters.put(counterKey, Metrics.counter("CompareDB", "Bad Entities:" + counterKey));
|
||||
duplicateEntityCounters.put(
|
||||
counterKey, Metrics.counter("CompareDB", "Duplicate Entities:" + counterKey));
|
||||
}
|
||||
|
||||
String duplicateEntityLog(String key, ImmutableList<SqlEntity> entities) {
|
||||
return String.format("%s: %d entities.", key, entities.size());
|
||||
}
|
||||
|
||||
String unmatchedEntityLog(String key, SqlEntity entry) {
|
||||
// For a PollMessage only found in Datastore, key is not enough to query for it.
|
||||
return String.format("Missing in one DB:\n%s", entry instanceof PollMessage ? entry : key);
|
||||
}
|
||||
|
||||
/**
|
||||
* A rudimentary debugging helper that prints the first pair of unequal entities in each worker.
|
||||
* This will be removed when we start exporting such entities to GCS.
|
||||
*/
|
||||
String unEqualEntityLog(String key, SqlEntity entry0, SqlEntity entry1) {
|
||||
Map<String, Object> fields0 = ((ImmutableObject) entry0).toDiffableFieldMap();
|
||||
Map<String, Object> fields1 = ((ImmutableObject) entry1).toDiffableFieldMap();
|
||||
return key + " " + DiffUtils.prettyPrintEntityDeepDiff(fields0, fields1);
|
||||
}
|
||||
|
||||
String badEntitiesLog(String key, SqlEntity entry0, SqlEntity entry1) {
|
||||
Map<String, Object> fields0 = ((ImmutableObject) entry0).toDiffableFieldMap();
|
||||
Map<String, Object> fields1 = ((ImmutableObject) entry1).toDiffableFieldMap();
|
||||
return String.format(
|
||||
"Failed to parse one or both entities for key %s:\n%s\n",
|
||||
key, DiffUtils.prettyPrintEntityDeepDiff(fields0, fields1));
|
||||
}
|
||||
|
||||
@ProcessElement
|
||||
public void processElement(
|
||||
@Element KV<String, Iterable<SqlEntity>> kv, OutputReceiver<String> out) {
|
||||
ImmutableList<SqlEntity> entities = ImmutableList.copyOf(kv.getValue());
|
||||
|
||||
verify(!entities.isEmpty(), "Can't happen: no value for key %s.", kv.getKey());
|
||||
|
||||
String counterKey = getCounterKey(entities.get(0).getClass());
|
||||
ensureCounterExists(counterKey);
|
||||
totalCounters.get(counterKey).inc();
|
||||
|
||||
if (entities.size() > 2) {
|
||||
// Duplicates may happen with Cursors if imported across projects. Its key in Datastore, the
|
||||
// id field, encodes the project name and is not fixed by the importing job.
|
||||
duplicateEntityCounters.get(counterKey).inc();
|
||||
out.output(duplicateEntityLog(kv.getKey(), entities) + "\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (entities.size() == 1) {
|
||||
if (isSpecialCaseProberEntity(entities.get(0))) {
|
||||
return;
|
||||
}
|
||||
missingCounters.get(counterKey).inc();
|
||||
out.output(unmatchedEntityLog(kv.getKey(), entities.get(0)) + "\n");
|
||||
return;
|
||||
}
|
||||
SqlEntity entity0 = entities.get(0);
|
||||
SqlEntity entity1 = entities.get(1);
|
||||
|
||||
if (isSpecialCaseProberEntity(entity0) && isSpecialCaseProberEntity(entity1)) {
|
||||
// Ignore prober-related data: their deletions are not propagated from Datastore to SQL.
|
||||
// When code reaches here, in most cases it involves one soft deleted entity in Datastore
|
||||
// and an SQL entity with its pre-deletion status.
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
entity0 = normalizeEntity(entity0);
|
||||
entity1 = normalizeEntity(entity1);
|
||||
} catch (Exception e) {
|
||||
badEntityCounters.get(counterKey).inc();
|
||||
out.output(badEntitiesLog(kv.getKey(), entity0, entity1));
|
||||
return;
|
||||
}
|
||||
|
||||
Map<String, Object> fields0 =
|
||||
Maps.transformEntries(
|
||||
((ImmutableObject) entity0).toDiffableFieldMap(), new DiffableFieldNormalizer());
|
||||
Map<String, Object> fields1 =
|
||||
Maps.transformEntries(
|
||||
((ImmutableObject) entity1).toDiffableFieldMap(), new DiffableFieldNormalizer());
|
||||
if (!Objects.equals(fields0, fields1)) {
|
||||
unequalCounters.get(counterKey).inc();
|
||||
out.output(kv.getKey() + " " + DiffUtils.prettyPrintEntityDeepDiff(fields0, fields1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes trivial differences between objects persisted in Datastore and SQL.
|
||||
*
|
||||
* <p>This class works on a map generated by {@link ImmutableObject#toDiffableFieldMap}, and
|
||||
* performs the following changes:
|
||||
*
|
||||
* <ul>
|
||||
* <li>If a value is an empty {@link Collection}, it is converted to null
|
||||
* <li>For each {@link google.registry.model.eppcommon.Address} object, empty strings are
|
||||
* removed from its {@code string} field, which is a {@link List}.
|
||||
* </ul>
|
||||
*/
|
||||
static class DiffableFieldNormalizer
|
||||
implements EntryTransformer<String, Object, Object>, Serializable {
|
||||
|
||||
@Override
|
||||
public Object transformEntry(String key, @Nullable Object value) {
|
||||
if (value instanceof Collection && ((Collection<?>) value).isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
if (key.equals("street") && value instanceof List) {
|
||||
return ((List<?>) value)
|
||||
.stream().filter(v -> v != null && !Objects.equals("", v)).collect(Collectors.toList());
|
||||
}
|
||||
// Short-term hack: LinkedHashMap<String, ?> represents a child ImmutableObject instance.
|
||||
if (value instanceof LinkedHashMap
|
||||
&& ((LinkedHashMap<?, ?>) value).keySet().stream().anyMatch(e -> e instanceof String)) {
|
||||
return Maps.transformEntries((Map<String, Object>) value, this);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
static SqlEntity normalizeEntity(SqlEntity sqlEntity) {
|
||||
if (sqlEntity instanceof EppResource) {
|
||||
return normalizeEppResource(sqlEntity);
|
||||
}
|
||||
if (sqlEntity instanceof HistoryEntry) {
|
||||
return (SqlEntity) normalizeHistoryEntry((HistoryEntry) sqlEntity);
|
||||
}
|
||||
return sqlEntity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes an {@link EppResource} instance for comparison.
|
||||
*
|
||||
* <p>This method may modify the input object using reflection instead of making a copy with
|
||||
* {@code eppResource.asBuilder().build()}, because when {@code eppResource} is a {@link
|
||||
* google.registry.model.domain.DomainBase}, the {@code build} method accesses the Database, which
|
||||
* we want to avoid.
|
||||
*/
|
||||
static SqlEntity normalizeEppResource(SqlEntity eppResource) {
|
||||
try {
|
||||
Field authField =
|
||||
eppResource instanceof DomainContent
|
||||
? DomainContent.class.getDeclaredField("authInfo")
|
||||
: eppResource instanceof ContactBase
|
||||
? ContactBase.class.getDeclaredField("authInfo")
|
||||
: null;
|
||||
if (authField != null) {
|
||||
authField.setAccessible(true);
|
||||
AuthInfo authInfo = (AuthInfo) authField.get(eppResource);
|
||||
// When AuthInfo is missing, the authInfo field is null if the object is loaded from
|
||||
// Datastore, or a PasswordAuth with null properties if loaded from SQL. In the second case
|
||||
// we set the authInfo field to null.
|
||||
if (authInfo != null
|
||||
&& authInfo.getPw() != null
|
||||
&& authInfo.getPw().getRepoId() == null
|
||||
&& authInfo.getPw().getValue() == null) {
|
||||
authField.set(eppResource, null);
|
||||
}
|
||||
}
|
||||
|
||||
Field field = EppResource.class.getDeclaredField("revisions");
|
||||
field.setAccessible(true);
|
||||
field.set(eppResource, null);
|
||||
return eppResource;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalizes a {@link HistoryEntry} for comparison.
|
||||
*
|
||||
* <p>This method modifies the input using reflection because relevant builder methods performs
|
||||
* unwanted checks and changes.
|
||||
*/
|
||||
static HistoryEntry normalizeHistoryEntry(HistoryEntry historyEntry) {
|
||||
// History objects from Datastore do not have details of their EppResource objects
|
||||
// (domainContent, contactBase, hostBase).
|
||||
try {
|
||||
if (historyEntry instanceof DomainHistory) {
|
||||
Field domainContent = DomainHistory.class.getDeclaredField("domainContent");
|
||||
domainContent.setAccessible(true);
|
||||
domainContent.set(historyEntry, null);
|
||||
// Convert empty domainTransactionRecords to null for comparison.
|
||||
Field domainTransactionRecords =
|
||||
HistoryEntry.class.getDeclaredField("domainTransactionRecords");
|
||||
domainTransactionRecords.setAccessible(true);
|
||||
Set<?> domainTransactionRecordsValue = (Set<?>) domainTransactionRecords.get(historyEntry);
|
||||
if (domainTransactionRecordsValue != null && domainTransactionRecordsValue.isEmpty()) {
|
||||
domainTransactionRecords.set(historyEntry, null);
|
||||
}
|
||||
// DomainHistory in Datastore does not have the following properties either:
|
||||
Field nsHosts = DomainHistory.class.getDeclaredField("nsHosts");
|
||||
nsHosts.setAccessible(true);
|
||||
nsHosts.set(historyEntry, null);
|
||||
Field dsDataHistories = DomainHistory.class.getDeclaredField("dsDataHistories");
|
||||
dsDataHistories.setAccessible(true);
|
||||
dsDataHistories.set(historyEntry, null);
|
||||
Field gracePeriodHistories = DomainHistory.class.getDeclaredField("gracePeriodHistories");
|
||||
gracePeriodHistories.setAccessible(true);
|
||||
gracePeriodHistories.set(historyEntry, null);
|
||||
} else if (historyEntry instanceof ContactHistory) {
|
||||
Field contactBase = ContactHistory.class.getDeclaredField("contactBase");
|
||||
contactBase.setAccessible(true);
|
||||
contactBase.set(historyEntry, null);
|
||||
} else if (historyEntry instanceof HostHistory) {
|
||||
Field hostBase = HostHistory.class.getDeclaredField("hostBase");
|
||||
hostBase.setAccessible(true);
|
||||
hostBase.set(historyEntry, null);
|
||||
}
|
||||
return historyEntry;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns {@code true} if {@code entity} is created by the prober and needs special treatment.
|
||||
*
|
||||
* <p>{@link EppResource} entities created by the prober are deleted by a cron job that bypasses
|
||||
* the CommitLog mechanism. As a result, their deletions are not propagated to SQL, creating two
|
||||
* types of mismatches: an entity exists in both databases but differs in lastUpdateTime and
|
||||
* deletionTime; an entity only exists in the SQL database.
|
||||
*
|
||||
* <p>In production, there are few placeholder {@link Registrar registrars} that do not exist in
|
||||
* Datastore. They were manually created to in SQL to solve a one-time problem (see b/187946868
|
||||
* for details). They can be ignored in the database comparison.
|
||||
*/
|
||||
static boolean isSpecialCaseProberEntity(Object entity) {
|
||||
if (entity instanceof EppResource) {
|
||||
EppResource host = (EppResource) entity;
|
||||
if (host.getPersistedCurrentSponsorRegistrarId().startsWith("prober-")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (entity instanceof HistoryEntry) {
|
||||
HistoryEntry historyEntry = (HistoryEntry) entity;
|
||||
if (historyEntry.getRegistrarId().startsWith("prober-")) {
|
||||
// Not all prober entities have "prober-" as registrar prefix.
|
||||
return true;
|
||||
}
|
||||
if (Objects.equals(historyEntry.getReason(), "Deletion of prober data")) {
|
||||
// Soft-delete event in Datastore that is not propagated to SQL.
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (entity instanceof DomainHistory) {
|
||||
DomainHistory domainHistory = (DomainHistory) entity;
|
||||
if (domainHistory.getDomainContent().isPresent()
|
||||
&& domainHistory.getDomainContent().get().getDomainName().startsWith("prober-")) {
|
||||
// Asynchronously replicated event in SQL.
|
||||
return true;
|
||||
}
|
||||
if (domainHistory.getDomainRepoId() != null) {
|
||||
// Some synthetic events only have domainRepoId.
|
||||
String repoId = domainHistory.getDomainRepoId();
|
||||
if (Transforms.IGNORED_DOMAINS.contains(repoId)) {
|
||||
return true;
|
||||
}
|
||||
String suffix = repoId.substring(repoId.indexOf('-') + 1);
|
||||
String cell = suffix.substring(0, 2);
|
||||
suffix = suffix.substring(2);
|
||||
if (PROBER_CELLS.contains(cell) && PROBER_TYPES.contains(suffix)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (entity instanceof ContactHistory) {
|
||||
if (Transforms.IGNORED_CONTACTS.contains(((ContactHistory) entity).getContactRepoId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (entity instanceof HostHistory) {
|
||||
if (Transforms.IGNORED_HOSTS.contains(((HostHistory) entity).getHostRepoId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (entity instanceof BillingEvent) {
|
||||
BillingEvent event = (BillingEvent) entity;
|
||||
if (event.getRegistrarId().startsWith("prober-")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (entity instanceof PollMessage) {
|
||||
if (((PollMessage) entity).getRegistrarId().startsWith("prober-")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (RegistryEnvironment.get().equals(RegistryEnvironment.PRODUCTION)
|
||||
&& entity instanceof Registrar) {
|
||||
Registrar registrar = (Registrar) entity;
|
||||
if (registrar.getRegistrarId().startsWith("prober-wj-")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -688,7 +688,7 @@ public final class RegistryConfig {
|
||||
@Provides
|
||||
@Config("defaultShouldPublishInvoices")
|
||||
public static boolean provideDefaultShouldPublishInvoices() {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1351,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. */
|
||||
@@ -1448,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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1476,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. */
|
||||
@@ -1555,7 +1561,7 @@ public final class RegistryConfig {
|
||||
* https://docs.jboss.org/hibernate/orm/5.6/userguide/html_single/Hibernate_User_Guide.html,
|
||||
* recommend between 10 and 50.
|
||||
*/
|
||||
public static String getHibernateJdbcBatchSize() {
|
||||
public static int getHibernateJdbcBatchSize() {
|
||||
return CONFIG_SETTINGS.get().hibernate.jdbcBatchSize;
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ public class RegistryConfigSettings {
|
||||
public String hikariMinimumIdle;
|
||||
public String hikariMaximumPoolSize;
|
||||
public String hikariIdleTimeout;
|
||||
public String jdbcBatchSize;
|
||||
public int jdbcBatchSize;
|
||||
public String jdbcFetchSize;
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResources?fast=true]]></url>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResourcesPipeline?fast=true]]></url>
|
||||
<description>
|
||||
This job resaves all our resources, projected in time to "now".
|
||||
It is needed for "deleteOldCommitLogs" to work correctly.
|
||||
@@ -89,48 +89,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteOldCommitLogs]]></url>
|
||||
<description>
|
||||
This job deletes unreferenced commit logs from Datastore that are older than thirty days.
|
||||
Since references are only updated on save, if we want to delete "unneeded" commit logs, we
|
||||
also need "resaveAllEppResources" to run periodically.
|
||||
</description>
|
||||
<schedule>3rd monday of month 09:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/commitLogCheckpoint]]></url>
|
||||
<description>
|
||||
This job checkpoints the commit log buckets and exports the diff since last checkpoint to GCS.
|
||||
</description>
|
||||
<schedule>every 3 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteContactsAndHosts]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that processes batch asynchronous deletions of
|
||||
contact and host resources by mapping over all EppResources and checking
|
||||
for any references to the contacts/hosts in pending deletion.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/refreshDnsOnHostRename]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that asynchronously handles DNS refreshes for
|
||||
host renames by mapping over all domains and creating DNS refresh tasks
|
||||
for any domains that reference a renamed host.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/expandRecurringBillingEvents]]></url>
|
||||
<description>
|
||||
@@ -152,23 +110,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=export-snapshot&endpoint=/_dr/task/backupDatastore&runInEmpty]]></url>
|
||||
<description>
|
||||
This job fires off a Datastore managed-export job that generates snapshot files in GCS.
|
||||
It also enqueues a new task to wait on the completion of that job and then load the resulting
|
||||
snapshot into bigquery.
|
||||
</description>
|
||||
<!--
|
||||
Keep google.registry.export.CheckBackupAction.MAXIMUM_BACKUP_RUNNING_TIME less than
|
||||
this interval. -->
|
||||
<schedule>every day 06:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<!--
|
||||
Removed for the duration of load testing
|
||||
TODO(b/71607184): Restore after loadtesting is done
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/deleteProberData&runInEmpty]]></url>
|
||||
<description>
|
||||
@@ -178,7 +119,6 @@
|
||||
<timezone>UTC</timezone>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
-->
|
||||
|
||||
<!-- TODO: Add borgmon job to check that these files are created and updated successfully. -->
|
||||
<cron>
|
||||
@@ -199,24 +139,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=replay-commit-logs-to-sql&endpoint=/_dr/task/replayCommitLogsToSql&runInEmpty]]></url>
|
||||
<description>
|
||||
Replays recent commit logs from Datastore to the SQL secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/replicateToDatastore]]></url>
|
||||
<description>
|
||||
Replays recent transactions from SQL to the Datastore secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/readDnsQueue?jitterSeconds=45]]></url>
|
||||
<description>
|
||||
|
||||
@@ -157,12 +157,6 @@
|
||||
<url-pattern>/_dr/cron/readDnsQueue</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Replicates SQL transactions to Datastore during the Registry 3.0 migration. -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
<url-pattern>/_dr/cron/replicateToDatastore</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Publishes DNS updates. -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
@@ -243,12 +237,6 @@
|
||||
<url-pattern>/_dr/task/killCommitLogs</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Replays Datastore commit logs to SQL. -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
<url-pattern>/_dr/task/replayCommitLogsToSql</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- MapReduce servlet. -->
|
||||
<servlet>
|
||||
<servlet-name>mapreduce</servlet-name>
|
||||
@@ -334,15 +322,6 @@
|
||||
<url-pattern>/_dr/task/resaveEntity</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!--
|
||||
Deletes contacts and hosts enqueued for asynchronous deletion if they are
|
||||
not referenced by any domain.
|
||||
-->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
<url-pattern>/_dr/task/deleteContactsAndHosts</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Enqueues DNS update tasks following a host rename. -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
@@ -422,18 +401,6 @@ have been in the database for a certain period of time. -->
|
||||
<url-pattern>/_dr/task/wipeOutDatastore</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Action to create synthetic history entries during async replication to SQL -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
<url-pattern>/_dr/task/createSyntheticHistoryEntries</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Action to sync Datastore to a snapshot of the primary SQL database. -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>backend-servlet</servlet-name>
|
||||
<url-pattern>/_dr/task/syncDatastoreToSqlSnapshot</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Security config -->
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
|
||||
@@ -102,55 +102,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<!-- Disabled for sql-only tests.
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/commitLogCheckpoint]]></url>
|
||||
<description>
|
||||
This job checkpoints the commit log buckets and exports the diff since last checkpoint to GCS.
|
||||
</description>
|
||||
<schedule>every 3 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
-->
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteContactsAndHosts]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that processes batch asynchronous deletions of
|
||||
contact and host resources by mapping over all EppResources and checking
|
||||
for any references to the contacts/hosts in pending deletion.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/refreshDnsOnHostRename]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that asynchronously handles DNS refreshes for
|
||||
host renames by mapping over all domains and creating DNS refresh tasks
|
||||
for any domains that reference a renamed host.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<!-- Disabled for sql-only tests
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=export-snapshot&endpoint=/_dr/task/backupDatastore&runInEmpty]]></url>
|
||||
<description>
|
||||
This job fires off a Datastore managed-export job that generates snapshot files in GCS.
|
||||
It also enqueues a new task to wait on the completion of that job and then load the resulting
|
||||
snapshot into bigquery.
|
||||
</description>
|
||||
<!- -
|
||||
Keep google.registry.export.CheckBackupAction.MAXIMUM_BACKUP_RUNNING_TIME less than
|
||||
this interval. - ->
|
||||
<schedule>every day 06:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
-->
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/deleteProberData&runInEmpty]]></url>
|
||||
<description>
|
||||
@@ -200,26 +151,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<!-- Disabled for sql-only tests.
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=replay-commit-logs-to-sql&endpoint=/_dr/task/replayCommitLogsToSql&runInEmpty]]></url>
|
||||
<description>
|
||||
Replays recent commit logs from Datastore to the SQL secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
-->
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/replicateToDatastore]]></url>
|
||||
<description>
|
||||
Replays recent transactions from SQL to the Datastore secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<!--
|
||||
The next two wipeout jobs are required when crash has production data.
|
||||
-->
|
||||
@@ -231,13 +162,4 @@
|
||||
<schedule>every saturday 03:07</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/wipeOutDatastore]]></url>
|
||||
<description>
|
||||
This job runs an action that deletes all data in Cloud Datastore.
|
||||
</description>
|
||||
<schedule>every saturday 03:07</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
</cronentries>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<sessions-enabled>true</sessions-enabled>
|
||||
<instance-class>B4_1G</instance-class>
|
||||
<manual-scaling>
|
||||
<instances>15</instances>
|
||||
<instances>12</instances>
|
||||
</manual-scaling>
|
||||
|
||||
<system-properties>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResources?fast=true]]></url>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResourcesPipeline?fast=true]]></url>
|
||||
<description>
|
||||
This job resaves all our resources, projected in time to "now".
|
||||
It is needed for "deleteOldCommitLogs" to work correctly.
|
||||
@@ -121,26 +121,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteOldCommitLogs]]></url>
|
||||
<description>
|
||||
This job deletes unreferenced commit logs from Datastore that are older than thirty days.
|
||||
Since references are only updated on save, if we want to delete "unneeded" commit logs, we
|
||||
also need "resaveAllEppResources" to run periodically.
|
||||
</description>
|
||||
<schedule>3rd monday of month 09:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/commitLogCheckpoint]]></url>
|
||||
<description>
|
||||
This job checkpoints the commit log buckets and exports the diff since last checkpoint to GCS.
|
||||
</description>
|
||||
<schedule>every 3 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/exportDomainLists&runInEmpty]]></url>
|
||||
<description>
|
||||
@@ -150,28 +130,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteContactsAndHosts]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that processes batch asynchronous deletions of
|
||||
contact and host resources by mapping over all EppResources and checking
|
||||
for any references to the contacts/hosts in pending deletion.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/refreshDnsOnHostRename]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that asynchronously handles DNS refreshes for
|
||||
host renames by mapping over all domains and creating DNS refresh tasks
|
||||
for any domains that reference a renamed host.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/expandRecurringBillingEvents]]></url>
|
||||
<description>
|
||||
@@ -202,20 +160,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=export-snapshot&endpoint=/_dr/task/backupDatastore&runInEmpty]]></url>
|
||||
<description>
|
||||
This job fires off a Datastore managed-export job that generates snapshot files in GCS.
|
||||
It also enqueues a new task to wait on the completion of that job and then load the resulting
|
||||
snapshot into bigquery.
|
||||
</description>
|
||||
<!--
|
||||
Keep google.registry.export.CheckBackupAction.MAXIMUM_BACKUP_RUNNING_TIME less than
|
||||
this interval. -->
|
||||
<schedule>every day 06:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=nordn&endpoint=/_dr/task/nordnUpload&forEachRealTld&lordn-phase=sunrise]]></url>
|
||||
<description>
|
||||
@@ -240,6 +184,16 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/deleteProberData&runInEmpty]]></url>
|
||||
<description>
|
||||
This job clears out data from probers and runs once a week.
|
||||
</description>
|
||||
<schedule>every monday 14:00</schedule>
|
||||
<timezone>UTC</timezone>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/exportReservedTerms&forEachRealTld]]></url>
|
||||
<description>
|
||||
@@ -301,7 +255,7 @@
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/generateInvoices&runInEmpty]]></url>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/generateInvoices?shouldPublish=true&runInEmpty]]></url>
|
||||
<description>
|
||||
Starts the beam/invoicing/InvoicingPipeline Dataflow template, which creates the overall invoice and
|
||||
detail report CSVs for last month, storing them in gs://[PROJECT-ID]-billing/invoices/yyyy-MM.
|
||||
@@ -330,24 +284,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=replay-commit-logs-to-sql&endpoint=/_dr/task/replayCommitLogsToSql&runInEmpty]]></url>
|
||||
<description>
|
||||
Replays recent commit logs from Datastore to the SQL secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/replicateToDatastore]]></url>
|
||||
<description>
|
||||
Replays recent transactions from SQL to the Datastore secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/wipeOutContactHistoryPii]]></url>
|
||||
<description>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<sessions-enabled>true</sessions-enabled>
|
||||
<instance-class>B4_1G</instance-class>
|
||||
<manual-scaling>
|
||||
<instances>20</instances>
|
||||
<instances>12</instances>
|
||||
</manual-scaling>
|
||||
|
||||
<system-properties>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResources?fast=true]]></url>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResourcesPipeline?fast=true]]></url>
|
||||
<description>
|
||||
This job resaves all our resources, projected in time to "now".
|
||||
It is needed for "deleteOldCommitLogs" to work correctly.
|
||||
@@ -41,39 +41,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteOldCommitLogs]]></url>
|
||||
<description>
|
||||
This job deletes unreferenced commit logs from Datastore that are older than thirty days.
|
||||
Since references are only updated on save, if we want to delete "unneeded" commit logs, we
|
||||
also need "resaveAllEppResources" to run periodically.
|
||||
</description>
|
||||
<schedule>3rd monday of month 09:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteContactsAndHosts]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that processes batch asynchronous deletions of
|
||||
contact and host resources by mapping over all EppResources and checking
|
||||
for any references to the contacts/hosts in pending deletion.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/refreshDnsOnHostRename]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that asynchronously handles DNS refreshes for
|
||||
host renames by mapping over all domains and creating DNS refresh tasks
|
||||
for any domains that reference a renamed host.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/syncGroupMembers&runInEmpty]]></url>
|
||||
<description>
|
||||
@@ -101,40 +68,4 @@
|
||||
<schedule>every saturday 03:07</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/wipeOutDatastore]]></url>
|
||||
<description>
|
||||
This job runs an action that deletes all data in Cloud Datastore.
|
||||
</description>
|
||||
<schedule>every saturday 03:07</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=replay-commit-logs-to-sql&endpoint=/_dr/task/replayCommitLogsToSql&runInEmpty]]></url>
|
||||
<description>
|
||||
Replays recent commit logs from Datastore to the SQL secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/replicateToDatastore]]></url>
|
||||
<description>
|
||||
Replays recent transactions from SQL to the Datastore secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/commitLogCheckpoint]]></url>
|
||||
<description>
|
||||
This job checkpoints the commit log buckets and exports the diff since last checkpoint to GCS.
|
||||
</description>
|
||||
<schedule>every 3 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
</cronentries>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<sessions-enabled>true</sessions-enabled>
|
||||
<instance-class>B4_1G</instance-class>
|
||||
<manual-scaling>
|
||||
<instances>10</instances>
|
||||
<instances>6</instances>
|
||||
</manual-scaling>
|
||||
|
||||
<system-properties>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResources?fast=true]]></url>
|
||||
<url><![CDATA[/_dr/task/resaveAllEppResourcesPipeline?fast=true]]></url>
|
||||
<description>
|
||||
This job resaves all our resources, projected in time to "now".
|
||||
It is needed for "deleteOldCommitLogs" to work correctly.
|
||||
@@ -96,26 +96,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteOldCommitLogs]]></url>
|
||||
<description>
|
||||
This job deletes unreferenced commit logs from Datastore that are older than thirty days.
|
||||
Since references are only updated on save, if we want to delete "unneeded" commit logs, we
|
||||
also need "resaveAllEppResources" to run periodically.
|
||||
</description>
|
||||
<schedule>3rd monday of month 09:00</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/commitLogCheckpoint]]></url>
|
||||
<description>
|
||||
This job checkpoints the commit log buckets and exports the diff since last checkpoint to GCS.
|
||||
</description>
|
||||
<schedule>every 3 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/exportDomainLists&runInEmpty]]></url>
|
||||
<description>
|
||||
@@ -125,28 +105,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/deleteContactsAndHosts]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that processes batch asynchronous deletions of
|
||||
contact and host resources by mapping over all EppResources and checking
|
||||
for any references to the contacts/hosts in pending deletion.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/refreshDnsOnHostRename]]></url>
|
||||
<description>
|
||||
This job runs a mapreduce that asynchronously handles DNS refreshes for
|
||||
host renames by mapping over all domains and creating DNS refresh tasks
|
||||
for any domains that reference a renamed host.
|
||||
</description>
|
||||
<schedule>every 5 minutes synchronized</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/expandRecurringBillingEvents]]></url>
|
||||
<description>
|
||||
@@ -169,16 +127,12 @@
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=export-snapshot&endpoint=/_dr/task/backupDatastore&runInEmpty]]></url>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=retryable-cron-tasks&endpoint=/_dr/task/deleteProberData&runInEmpty]]></url>
|
||||
<description>
|
||||
This job fires off a Datastore managed-export job that generates snapshot files in GCS.
|
||||
It also enqueues a new task to wait on the completion of that job and then load the resulting
|
||||
snapshot into bigquery.
|
||||
This job clears out data from probers and runs once a week.
|
||||
</description>
|
||||
<!--
|
||||
Keep google.registry.export.CheckBackupAction.MAXIMUM_BACKUP_RUNNING_TIME less than
|
||||
this interval. -->
|
||||
<schedule>every day 06:00</schedule>
|
||||
<schedule>every monday 14:00</schedule>
|
||||
<timezone>UTC</timezone>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
@@ -219,24 +173,6 @@
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/fanout?queue=replay-commit-logs-to-sql&endpoint=/_dr/task/replayCommitLogsToSql&runInEmpty]]></url>
|
||||
<description>
|
||||
Replays recent commit logs from Datastore to the SQL secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/cron/replicateToDatastore]]></url>
|
||||
<description>
|
||||
Replays recent transactions from SQL to the Datastore secondary backend.
|
||||
</description>
|
||||
<schedule>every 3 minutes</schedule>
|
||||
<target>backend</target>
|
||||
</cron>
|
||||
|
||||
<cron>
|
||||
<url><![CDATA[/_dr/task/wipeOutContactHistoryPii]]></url>
|
||||
<description>
|
||||
|
||||
@@ -120,7 +120,6 @@ class SyncRegistrarsSheet {
|
||||
builder.put("registrarName", convert(registrar.getRegistrarName()));
|
||||
builder.put("state", convert(registrar.getState()));
|
||||
builder.put("ianaIdentifier", convert(registrar.getIanaIdentifier()));
|
||||
builder.put("billingIdentifier", convert(registrar.getBillingIdentifier()));
|
||||
builder.put("billingAccountMap", convert(registrar.getBillingAccountMap()));
|
||||
builder.put("primaryContacts", convertContacts(contacts, byType(ADMIN)));
|
||||
builder.put("techContacts", convertContacts(contacts, byType(TECH)));
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
package google.registry.flows;
|
||||
|
||||
import static com.google.common.collect.Sets.intersection;
|
||||
import static google.registry.model.EppResourceUtils.getLinkedDomainKeys;
|
||||
import static google.registry.model.EppResourceUtils.isLinked;
|
||||
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
||||
import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
|
||||
@@ -54,8 +53,6 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/** Static utility functions for resource flows. */
|
||||
@@ -63,12 +60,6 @@ public final class ResourceFlowUtils {
|
||||
|
||||
private ResourceFlowUtils() {}
|
||||
|
||||
/**
|
||||
* In {@link #checkLinkedDomains(String, DateTime, Class, Function)}, check this (arbitrary)
|
||||
* number of query results.
|
||||
*/
|
||||
private static final int FAILFAST_CHECK_COUNT = 5;
|
||||
|
||||
/** Check that the given registrarId corresponds to the owner of given resource. */
|
||||
public static void verifyResourceOwnership(String myRegistrarId, EppResource resource)
|
||||
throws EppException {
|
||||
@@ -85,46 +76,18 @@ public final class ResourceFlowUtils {
|
||||
* consistent, so we only check a few domains to fail fast.
|
||||
*/
|
||||
public static <R extends EppResource> void checkLinkedDomains(
|
||||
final String targetId,
|
||||
final DateTime now,
|
||||
final Class<R> resourceClass,
|
||||
final Function<DomainBase, ImmutableSet<?>> getPotentialReferences)
|
||||
throws EppException {
|
||||
final String targetId, final DateTime now, final Class<R> resourceClass) throws EppException {
|
||||
EppException failfastException =
|
||||
tm().isOfy()
|
||||
? tm().doTransactionless(
|
||||
() -> {
|
||||
final ForeignKeyIndex<R> fki =
|
||||
ForeignKeyIndex.load(resourceClass, targetId, now);
|
||||
if (fki == null) {
|
||||
return new ResourceDoesNotExistException(resourceClass, targetId);
|
||||
}
|
||||
// Query for the first few linked domains, and if found, actually load them.
|
||||
// The query is eventually consistent and so might be very stale, but the
|
||||
// direct load will not be stale, just non-transactional. If we find at least
|
||||
// one actual reference then we can reliably fail. If we don't find any,
|
||||
// we can't trust the query and need to do the full mapreduce.
|
||||
Iterable<VKey<DomainBase>> keys =
|
||||
getLinkedDomainKeys(fki.getResourceKey(), now, FAILFAST_CHECK_COUNT);
|
||||
|
||||
VKey<R> resourceVKey = fki.getResourceKey();
|
||||
Predicate<DomainBase> predicate =
|
||||
domain -> getPotentialReferences.apply(domain).contains(resourceVKey);
|
||||
return tm().loadByKeys(keys).values().stream().anyMatch(predicate)
|
||||
? new ResourceToDeleteIsReferencedException()
|
||||
: null;
|
||||
})
|
||||
: tm().transact(
|
||||
() -> {
|
||||
final ForeignKeyIndex<R> fki =
|
||||
ForeignKeyIndex.load(resourceClass, targetId, now);
|
||||
if (fki == null) {
|
||||
return new ResourceDoesNotExistException(resourceClass, targetId);
|
||||
}
|
||||
return isLinked(fki.getResourceKey(), now)
|
||||
? new ResourceToDeleteIsReferencedException()
|
||||
: null;
|
||||
});
|
||||
tm().transact(
|
||||
() -> {
|
||||
final ForeignKeyIndex<R> fki = ForeignKeyIndex.load(resourceClass, targetId, now);
|
||||
if (fki == null) {
|
||||
return new ResourceDoesNotExistException(resourceClass, targetId);
|
||||
}
|
||||
return isLinked(fki.getResourceKey(), now)
|
||||
? new ResourceToDeleteIsReferencedException()
|
||||
: null;
|
||||
});
|
||||
if (failfastException != null) {
|
||||
throw failfastException;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||
import static google.registry.model.ResourceTransferUtils.denyPendingTransfer;
|
||||
import static google.registry.model.ResourceTransferUtils.handlePendingTransferOnDelete;
|
||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS;
|
||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||
import static google.registry.model.transfer.TransferStatus.SERVER_CANCELLED;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.assertAsyncActionsAreAllowed;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
@@ -39,13 +38,11 @@ import google.registry.flows.TransactionalFlow;
|
||||
import google.registry.flows.annotations.ReportingSpec;
|
||||
import google.registry.model.contact.ContactHistory;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.metadata.MetadataExtension;
|
||||
import google.registry.model.eppcommon.AuthInfo;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.eppcommon.Trid;
|
||||
import google.registry.model.eppoutput.EppResponse;
|
||||
import google.registry.model.eppoutput.Result.Code;
|
||||
import google.registry.model.reporting.HistoryEntry.Type;
|
||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||
import java.util.Optional;
|
||||
@@ -97,41 +94,26 @@ public final class ContactDeleteFlow implements TransactionalFlow {
|
||||
extensionManager.validate();
|
||||
assertAsyncActionsAreAllowed();
|
||||
DateTime now = tm().getTransactionTime();
|
||||
checkLinkedDomains(targetId, now, ContactResource.class, DomainBase::getReferencedContacts);
|
||||
checkLinkedDomains(targetId, now, ContactResource.class);
|
||||
ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now);
|
||||
verifyNoDisallowedStatuses(existingContact, DISALLOWED_STATUSES);
|
||||
verifyOptionalAuthInfo(authInfo, existingContact);
|
||||
if (!isSuperuser) {
|
||||
verifyResourceOwnership(registrarId, existingContact);
|
||||
}
|
||||
Type historyEntryType;
|
||||
Code resultCode;
|
||||
ContactResource newContact;
|
||||
if (tm().isOfy()) {
|
||||
asyncTaskEnqueuer.enqueueAsyncDelete(
|
||||
existingContact, tm().getTransactionTime(), registrarId, trid, isSuperuser);
|
||||
newContact = existingContact.asBuilder().addStatusValue(StatusValue.PENDING_DELETE).build();
|
||||
historyEntryType = Type.CONTACT_PENDING_DELETE;
|
||||
resultCode = SUCCESS_WITH_ACTION_PENDING;
|
||||
} else {
|
||||
// Handle pending transfers on contact deletion.
|
||||
newContact =
|
||||
existingContact.getStatusValues().contains(StatusValue.PENDING_TRANSFER)
|
||||
? denyPendingTransfer(existingContact, SERVER_CANCELLED, now, registrarId)
|
||||
: existingContact;
|
||||
// Wipe out PII on contact deletion.
|
||||
newContact =
|
||||
newContact.asBuilder().wipeOut().setStatusValues(null).setDeletionTime(now).build();
|
||||
historyEntryType = Type.CONTACT_DELETE;
|
||||
resultCode = SUCCESS;
|
||||
}
|
||||
// Handle pending transfers on contact deletion.
|
||||
ContactResource newContact =
|
||||
existingContact.getStatusValues().contains(StatusValue.PENDING_TRANSFER)
|
||||
? denyPendingTransfer(existingContact, SERVER_CANCELLED, now, registrarId)
|
||||
: existingContact;
|
||||
// Wipe out PII on contact deletion.
|
||||
newContact =
|
||||
newContact.asBuilder().wipeOut().setStatusValues(null).setDeletionTime(now).build();
|
||||
ContactHistory contactHistory =
|
||||
historyBuilder.setType(historyEntryType).setContact(newContact).build();
|
||||
if (!tm().isOfy()) {
|
||||
handlePendingTransferOnDelete(existingContact, newContact, now, contactHistory);
|
||||
}
|
||||
historyBuilder.setType(Type.CONTACT_DELETE).setContact(newContact).build();
|
||||
handlePendingTransferOnDelete(existingContact, newContact, now, contactHistory);
|
||||
tm().insert(contactHistory);
|
||||
tm().update(newContact);
|
||||
return responseBuilder.setResultFromCode(resultCode).build();
|
||||
return responseBuilder.setResultFromCode(SUCCESS).build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ package google.registry.flows.custom;
|
||||
import google.registry.flows.FlowMetadata;
|
||||
import google.registry.flows.SessionMetadata;
|
||||
import google.registry.model.eppinput.EppInput;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* An abstract base class for all flow custom logic that stores the flow's {@link EppInput} and
|
||||
@@ -24,26 +26,38 @@ import google.registry.model.eppinput.EppInput;
|
||||
*/
|
||||
public abstract class BaseFlowCustomLogic {
|
||||
|
||||
private final EppInput eppInput;
|
||||
private final SessionMetadata sessionMetadata;
|
||||
private final FlowMetadata flowMetadata;
|
||||
@Nullable private final EppInput eppInput;
|
||||
@Nullable private final SessionMetadata sessionMetadata;
|
||||
@Nullable private final FlowMetadata flowMetadata;
|
||||
|
||||
/**
|
||||
* Constructs a BaseFlowCustomLogic for the specified EPP flow state.
|
||||
*
|
||||
* <p>Note that it is possible for the EPP flow state to be absent, which happens when the custom
|
||||
* logic is running outside the context of an EPP flow (e.g. {@link DomainPricingCustomLogic} in
|
||||
* backend actions).
|
||||
*/
|
||||
protected BaseFlowCustomLogic(
|
||||
EppInput eppInput, SessionMetadata sessionMetadata, FlowMetadata flowMetadata) {
|
||||
@Nullable EppInput eppInput,
|
||||
@Nullable SessionMetadata sessionMetadata,
|
||||
@Nullable FlowMetadata flowMetadata) {
|
||||
this.eppInput = eppInput;
|
||||
this.sessionMetadata = sessionMetadata;
|
||||
this.flowMetadata = flowMetadata;
|
||||
}
|
||||
|
||||
protected EppInput getEppInput() {
|
||||
return eppInput;
|
||||
/** Returns the {@link EppInput}, which may be empty outside a flow context. */
|
||||
protected Optional<EppInput> getEppInput() {
|
||||
return Optional.ofNullable(eppInput);
|
||||
}
|
||||
|
||||
protected SessionMetadata getSessionMetadata() {
|
||||
return sessionMetadata;
|
||||
/** Returns the {@link SessionMetadata}, which may be empty outside a flow context. */
|
||||
protected Optional<SessionMetadata> getSessionMetadata() {
|
||||
return Optional.ofNullable(sessionMetadata);
|
||||
}
|
||||
|
||||
protected FlowMetadata getFlowMetadata() {
|
||||
return flowMetadata;
|
||||
/** Returns the {@link FlowMetadata}, which may be empty outside a flow context. */
|
||||
protected Optional<FlowMetadata> getFlowMetadata() {
|
||||
return Optional.ofNullable(flowMetadata);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import google.registry.config.RegistryConfig.ConfigModule;
|
||||
import google.registry.flows.FlowMetadata;
|
||||
import google.registry.flows.SessionMetadata;
|
||||
import google.registry.model.eppinput.EppInput;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* A no-op base custom logic factory.
|
||||
@@ -63,7 +64,10 @@ public class CustomLogicFactory {
|
||||
}
|
||||
|
||||
public DomainPricingCustomLogic forDomainPricing(
|
||||
EppInput eppInput, SessionMetadata sessionMetadata, FlowMetadata flowMetadata) {
|
||||
return new DomainPricingCustomLogic(eppInput, sessionMetadata, flowMetadata);
|
||||
Optional<EppInput> eppInput,
|
||||
Optional<SessionMetadata> sessionMetadata,
|
||||
Optional<FlowMetadata> flowMetadata) {
|
||||
return new DomainPricingCustomLogic(
|
||||
eppInput.orElse(null), sessionMetadata.orElse(null), flowMetadata.orElse(null));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,15 +14,17 @@
|
||||
|
||||
package google.registry.flows.custom;
|
||||
|
||||
import dagger.BindsOptionalOf;
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
import google.registry.flows.FlowMetadata;
|
||||
import google.registry.flows.SessionMetadata;
|
||||
import google.registry.model.eppinput.EppInput;
|
||||
import java.util.Optional;
|
||||
|
||||
/** Dagger module to provide instances of custom logic classes for EPP flows. */
|
||||
@Module
|
||||
public class CustomLogicModule {
|
||||
public abstract class CustomLogicModule {
|
||||
|
||||
@Provides
|
||||
static DomainCreateFlowCustomLogic provideDomainCreateFlowCustomLogic(
|
||||
@@ -81,9 +83,20 @@ public class CustomLogicModule {
|
||||
@Provides
|
||||
static DomainPricingCustomLogic provideDomainPricingCustomLogic(
|
||||
CustomLogicFactory factory,
|
||||
EppInput eppInput,
|
||||
SessionMetadata sessionMetadata,
|
||||
FlowMetadata flowMetadata) {
|
||||
Optional<EppInput> eppInput,
|
||||
Optional<SessionMetadata> sessionMetadata,
|
||||
Optional<FlowMetadata> flowMetadata) {
|
||||
// Note that, for DomainPricingCustomLogic, the EPP flow state won't be present outside the
|
||||
// context of an EPP flow.
|
||||
return factory.forDomainPricing(eppInput, sessionMetadata, flowMetadata);
|
||||
}
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract EppInput optionalEppInput();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract SessionMetadata optionalSessionMetadata();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract FlowMetadata optionalFlowMetadata();
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import google.registry.flows.domain.FeesAndCredits;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.eppinput.EppInput;
|
||||
import google.registry.model.tld.Registry;
|
||||
import javax.annotation.Nullable;
|
||||
import org.joda.time.DateTime;
|
||||
|
||||
/**
|
||||
@@ -33,8 +34,10 @@ import org.joda.time.DateTime;
|
||||
*/
|
||||
public class DomainPricingCustomLogic extends BaseFlowCustomLogic {
|
||||
|
||||
protected DomainPricingCustomLogic(
|
||||
EppInput eppInput, SessionMetadata sessionMetadata, FlowMetadata flowMetadata) {
|
||||
public DomainPricingCustomLogic(
|
||||
@Nullable EppInput eppInput,
|
||||
@Nullable SessionMetadata sessionMetadata,
|
||||
@Nullable FlowMetadata flowMetadata) {
|
||||
super(eppInput, sessionMetadata, flowMetadata);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import static com.google.common.collect.ImmutableMap.toImmutableMap;
|
||||
import static google.registry.flows.FlowUtils.validateRegistrarIsLoggedIn;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyTargetIdCount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkAllowedAccessToTld;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkHasBillingAccount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.getReservationTypes;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.handleFeeRequest;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.isAnchorTenant;
|
||||
@@ -100,6 +101,7 @@ import org.joda.time.DateTime;
|
||||
* @error {@link DomainFlowUtils.InvalidIdnDomainLabelException}
|
||||
* @error {@link DomainFlowUtils.InvalidPunycodeException}
|
||||
* @error {@link DomainFlowUtils.LeadingDashException}
|
||||
* @error {@link DomainFlowUtils.MissingBillingAccountMapException}
|
||||
* @error {@link DomainFlowUtils.NotAuthorizedForTldException}
|
||||
* @error {@link DomainFlowUtils.RestoresAreAlwaysForOneYearException}
|
||||
* @error {@link DomainFlowUtils.TldDoesNotExistException}
|
||||
@@ -153,6 +155,7 @@ public final class DomainCheckFlow implements Flow {
|
||||
boolean tldFirstTimeSeen = seenTlds.add(tld);
|
||||
if (tldFirstTimeSeen && !isSuperuser) {
|
||||
checkAllowedAccessToTld(registrarId, tld);
|
||||
checkHasBillingAccount(registrarId, tld);
|
||||
verifyNotInPredelegation(Registry.get(tld), now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ package google.registry.flows.domain;
|
||||
import static google.registry.flows.FlowUtils.validateRegistrarIsLoggedIn;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyTargetIdCount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkAllowedAccessToTld;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkHasBillingAccount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.validateDomainName;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.validateDomainNameWithIdnTables;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.verifyClaimsPeriodNotEnded;
|
||||
@@ -60,6 +61,7 @@ import org.joda.time.DateTime;
|
||||
* @error {@link google.registry.flows.FlowUtils.NotLoggedInException}
|
||||
* @error {@link DomainFlowUtils.BadCommandForRegistryPhaseException}
|
||||
* @error {@link DomainFlowUtils.ClaimsPeriodEndedException}
|
||||
* @error {@link DomainFlowUtils.MissingBillingAccountMapException}
|
||||
* @error {@link DomainFlowUtils.NotAuthorizedForTldException}
|
||||
* @error {@link DomainFlowUtils.TldDoesNotExistException}
|
||||
* @error {@link DomainClaimsCheckNotAllowedWithAllocationTokens}
|
||||
@@ -99,6 +101,7 @@ public final class DomainClaimsCheckFlow implements Flow {
|
||||
if (seenTlds.add(tld)) {
|
||||
if (!isSuperuser) {
|
||||
checkAllowedAccessToTld(registrarId, tld);
|
||||
checkHasBillingAccount(registrarId, tld);
|
||||
Registry registry = Registry.get(tld);
|
||||
DateTime now = clock.nowUtc();
|
||||
verifyNotInPredelegation(registry, now);
|
||||
|
||||
@@ -14,12 +14,14 @@
|
||||
|
||||
package google.registry.flows.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||
import static google.registry.flows.FlowUtils.persistEntityChanges;
|
||||
import static google.registry.flows.FlowUtils.validateRegistrarIsLoggedIn;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyResourceDoesNotExist;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.COLLISION_MESSAGE;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkAllowedAccessToTld;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkHasBillingAccount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.cloneAndLinkReferences;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.createFeeCreateResponse;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.getReservationTypes;
|
||||
@@ -53,6 +55,7 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
|
||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.net.InternetDomainName;
|
||||
@@ -79,6 +82,7 @@ import google.registry.model.billing.BillingEvent;
|
||||
import google.registry.model.billing.BillingEvent.Flag;
|
||||
import google.registry.model.billing.BillingEvent.Reason;
|
||||
import google.registry.model.billing.BillingEvent.Recurring;
|
||||
import google.registry.model.billing.BillingEvent.RenewalPriceBehavior;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.DomainCommand;
|
||||
import google.registry.model.domain.DomainCommand.Create;
|
||||
@@ -114,7 +118,9 @@ import google.registry.model.tld.Registry.TldType;
|
||||
import google.registry.model.tld.label.ReservationType;
|
||||
import google.registry.tmch.LordnTaskUtils;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
@@ -180,6 +186,7 @@ import org.joda.time.Duration;
|
||||
* @error {@link DomainFlowUtils.MalformedTcnIdException}
|
||||
* @error {@link DomainFlowUtils.MaxSigLifeNotSupportedException}
|
||||
* @error {@link DomainFlowUtils.MissingAdminContactException}
|
||||
* @error {@link DomainFlowUtils.MissingBillingAccountMapException}
|
||||
* @error {@link DomainFlowUtils.MissingClaimsNoticeException}
|
||||
* @error {@link DomainFlowUtils.MissingContactTypeException}
|
||||
* @error {@link DomainFlowUtils.MissingRegistrantException}
|
||||
@@ -265,6 +272,7 @@ public final class DomainCreateFlow implements TransactionalFlow {
|
||||
// registering premium domains.
|
||||
if (!isSuperuser) {
|
||||
checkAllowedAccessToTld(registrarId, registry.getTldStr());
|
||||
checkHasBillingAccount(registrarId, registry.getTldStr());
|
||||
boolean isValidReservedCreate = isValidReservedCreate(domainName, allocationToken);
|
||||
verifyIsGaOrIsSpecialCase(tldState, isAnchorTenant, isValidReservedCreate, hasSignedMarks);
|
||||
if (launchCreate.isPresent()) {
|
||||
@@ -324,7 +332,10 @@ public final class DomainCreateFlow implements TransactionalFlow {
|
||||
now);
|
||||
// Create a new autorenew billing event and poll message starting at the expiration time.
|
||||
BillingEvent.Recurring autorenewBillingEvent =
|
||||
createAutorenewBillingEvent(domainHistoryKey, registrationExpirationTime);
|
||||
createAutorenewBillingEvent(
|
||||
domainHistoryKey,
|
||||
registrationExpirationTime,
|
||||
getRenewalPriceInfo(isAnchorTenant, allocationToken, feesAndCredits));
|
||||
PollMessage.Autorenew autorenewPollMessage =
|
||||
createAutorenewPollMessage(domainHistoryKey, registrationExpirationTime);
|
||||
ImmutableSet.Builder<ImmutableObject> entitiesToSave = new ImmutableSet.Builder<>();
|
||||
@@ -543,7 +554,9 @@ public final class DomainCreateFlow implements TransactionalFlow {
|
||||
}
|
||||
|
||||
private Recurring createAutorenewBillingEvent(
|
||||
Key<DomainHistory> domainHistoryKey, DateTime registrationExpirationTime) {
|
||||
Key<DomainHistory> domainHistoryKey,
|
||||
DateTime registrationExpirationTime,
|
||||
RenewalPriceInfo renewalpriceInfo) {
|
||||
return new BillingEvent.Recurring.Builder()
|
||||
.setReason(Reason.RENEW)
|
||||
.setFlags(ImmutableSet.of(Flag.AUTO_RENEW))
|
||||
@@ -552,6 +565,8 @@ public final class DomainCreateFlow implements TransactionalFlow {
|
||||
.setEventTime(registrationExpirationTime)
|
||||
.setRecurrenceEndTime(END_OF_TIME)
|
||||
.setParent(domainHistoryKey)
|
||||
.setRenewalPriceBehavior(renewalpriceInfo.renewalPriceBehavior())
|
||||
.setRenewalPrice(renewalpriceInfo.renewalPrice())
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -608,6 +623,48 @@ public final class DomainCreateFlow implements TransactionalFlow {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines the {@link RenewalPriceBehavior} and the renewal price that needs be stored in the
|
||||
* {@link Recurring} billing events.
|
||||
*
|
||||
* <p>By default, the renewal price is calculated during the process of renewal. Renewal price
|
||||
* should be the createCost if and only if the renewal price behavior in the {@link
|
||||
* AllocationToken} is 'SPECIFIED'.
|
||||
*/
|
||||
static RenewalPriceInfo getRenewalPriceInfo(
|
||||
boolean isAnchorTenant,
|
||||
Optional<AllocationToken> allocationToken,
|
||||
FeesAndCredits feesAndCredits) {
|
||||
if (isAnchorTenant) {
|
||||
if (allocationToken.isPresent()) {
|
||||
checkArgument(
|
||||
allocationToken.get().getRenewalPriceBehavior() != RenewalPriceBehavior.SPECIFIED,
|
||||
"Renewal price behavior cannot be SPECIFIED for anchor tenant");
|
||||
}
|
||||
return RenewalPriceInfo.create(RenewalPriceBehavior.NONPREMIUM, null);
|
||||
} else if (allocationToken.isPresent()
|
||||
&& allocationToken.get().getRenewalPriceBehavior() == RenewalPriceBehavior.SPECIFIED) {
|
||||
return RenewalPriceInfo.create(
|
||||
RenewalPriceBehavior.SPECIFIED, feesAndCredits.getCreateCost());
|
||||
} else {
|
||||
return RenewalPriceInfo.create(RenewalPriceBehavior.DEFAULT, null);
|
||||
}
|
||||
}
|
||||
|
||||
/** A class to store renewal info used in {@link Recurring} billing events. */
|
||||
@AutoValue
|
||||
public abstract static class RenewalPriceInfo {
|
||||
static DomainCreateFlow.RenewalPriceInfo create(
|
||||
RenewalPriceBehavior renewalPriceBehavior, @Nullable Money renewalPrice) {
|
||||
return new AutoValue_DomainCreateFlow_RenewalPriceInfo(renewalPriceBehavior, renewalPrice);
|
||||
}
|
||||
|
||||
public abstract RenewalPriceBehavior renewalPriceBehavior();
|
||||
|
||||
@Nullable
|
||||
public abstract Money renewalPrice();
|
||||
}
|
||||
|
||||
private static ImmutableList<FeeTransformResponseExtension> createResponseExtensions(
|
||||
Optional<FeeCreateCommandExtension> feeCreate, FeesAndCredits feesAndCredits) {
|
||||
return feeCreate.isPresent()
|
||||
|
||||
@@ -26,7 +26,6 @@ import static com.google.common.collect.Sets.difference;
|
||||
import static com.google.common.collect.Sets.intersection;
|
||||
import static com.google.common.collect.Sets.union;
|
||||
import static google.registry.model.domain.DomainBase.MAX_REGISTRATION_YEARS;
|
||||
import static google.registry.model.ofy.ObjectifyService.auditedOfy;
|
||||
import static google.registry.model.tld.Registries.findTldForName;
|
||||
import static google.registry.model.tld.Registries.getTlds;
|
||||
import static google.registry.model.tld.Registry.TldState.GENERAL_AVAILABILITY;
|
||||
@@ -124,6 +123,7 @@ import google.registry.model.reporting.DomainTransactionRecord.TransactionReport
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.tld.Registry;
|
||||
import google.registry.model.tld.Registry.TldState;
|
||||
import google.registry.model.tld.Registry.TldType;
|
||||
import google.registry.model.tld.label.ReservationType;
|
||||
import google.registry.model.tld.label.ReservedList;
|
||||
import google.registry.model.tmch.ClaimsListDao;
|
||||
@@ -293,6 +293,21 @@ public class DomainFlowUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/** Check if the registrar has the correct billing account map configured. */
|
||||
public static void checkHasBillingAccount(String registrarId, String tld) throws EppException {
|
||||
Registry registry = Registry.get(tld);
|
||||
// Don't enforce the billing account check on test (i.e. prober/OT&E) TLDs.
|
||||
if (registry.getTldType() == TldType.TEST) {
|
||||
return;
|
||||
}
|
||||
if (!Registrar.loadByRegistrarIdCached(registrarId)
|
||||
.get()
|
||||
.getBillingAccountMap()
|
||||
.containsKey(registry.getCurrency())) {
|
||||
throw new DomainFlowUtils.MissingBillingAccountMapException(registry.getCurrency());
|
||||
}
|
||||
}
|
||||
|
||||
/** Check that the DS data that will be set on a domain is valid. */
|
||||
static void validateDsData(Set<DelegationSignerData> dsData) throws EppException {
|
||||
if (dsData != null) {
|
||||
@@ -664,7 +679,7 @@ public class DomainFlowUtils {
|
||||
break;
|
||||
case RENEW:
|
||||
builder.setAvailIfSupported(true);
|
||||
fees = pricingLogic.getRenewPrice(registry, domainNameString, now, years).getFees();
|
||||
fees = pricingLogic.getRenewPrice(registry, domainNameString, now, years, null).getFees();
|
||||
break;
|
||||
case RESTORE:
|
||||
// The minimum allowable period per the EPP spec is 1, so, strangely, 1 year still has to be
|
||||
@@ -1143,24 +1158,14 @@ public class DomainFlowUtils {
|
||||
|
||||
private static List<? extends HistoryEntry> findRecentHistoryEntries(
|
||||
DomainBase domainBase, DateTime now, Duration maxSearchPeriod) {
|
||||
if (tm().isOfy()) {
|
||||
return auditedOfy()
|
||||
.load()
|
||||
.type(HistoryEntry.class)
|
||||
.ancestor(domainBase)
|
||||
.filter("modificationTime >=", now.minus(maxSearchPeriod))
|
||||
.order("modificationTime")
|
||||
.list();
|
||||
} else {
|
||||
return jpaTm()
|
||||
.query(
|
||||
"FROM DomainHistory WHERE modificationTime >= :beginning AND domainRepoId = "
|
||||
+ ":repoId ORDER BY modificationTime ASC",
|
||||
DomainHistory.class)
|
||||
.setParameter("beginning", now.minus(maxSearchPeriod))
|
||||
.setParameter("repoId", domainBase.getRepoId())
|
||||
.getResultList();
|
||||
}
|
||||
return jpaTm()
|
||||
.query(
|
||||
"FROM DomainHistory WHERE modificationTime >= :beginning AND domainRepoId = "
|
||||
+ ":repoId ORDER BY modificationTime ASC",
|
||||
DomainHistory.class)
|
||||
.setParameter("beginning", now.minus(maxSearchPeriod))
|
||||
.setParameter("repoId", domainBase.getRepoId())
|
||||
.getResultList();
|
||||
}
|
||||
|
||||
/** Resource linked to this domain does not exist. */
|
||||
@@ -1501,6 +1506,13 @@ public class DomainFlowUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/** Registrar is missing the billing account map for this currency type. */
|
||||
public static class MissingBillingAccountMapException extends AuthorizationErrorException {
|
||||
public MissingBillingAccountMapException(CurrencyUnit currency) {
|
||||
super("Registrar is not fully onboarded for TLDs that bill in " + currency);
|
||||
}
|
||||
}
|
||||
|
||||
/** Registrant is not allow-listed for this TLD. */
|
||||
public static class RegistrantNotAllowedException extends StatusProhibitsOperationException {
|
||||
public RegistrantNotAllowedException(String contactId) {
|
||||
|
||||
@@ -102,11 +102,6 @@ public final class DomainInfoFlow implements Flow {
|
||||
verifyOptionalAuthInfo(authInfo, domain);
|
||||
flowCustomLogic.afterValidation(
|
||||
AfterValidationParameters.newBuilder().setDomain(domain).build());
|
||||
// In ofy, refetch all referenced resources.
|
||||
if (tm().isOfy()) {
|
||||
tm().loadByKeys(domain.getNameservers());
|
||||
tm().loadByKeys(domain.getReferencedContacts());
|
||||
}
|
||||
// Registrars can only see a few fields on unauthorized domains.
|
||||
// This is a policy decision that is left up to us by the rfcs.
|
||||
DomainInfoData.Builder infoBuilder =
|
||||
|
||||
@@ -14,28 +14,31 @@
|
||||
|
||||
package google.registry.flows.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.zeroInCurrency;
|
||||
import static google.registry.pricing.PricingEngineProxy.getPricesForDomainName;
|
||||
import static google.registry.util.DomainNameUtils.getTldFromDomainName;
|
||||
import static google.registry.util.PreconditionsUtils.checkArgumentPresent;
|
||||
|
||||
import com.google.common.net.InternetDomainName;
|
||||
import google.registry.flows.EppException;
|
||||
import google.registry.flows.EppException.CommandUseErrorException;
|
||||
import google.registry.flows.FlowScope;
|
||||
import google.registry.flows.custom.DomainPricingCustomLogic;
|
||||
import google.registry.flows.custom.DomainPricingCustomLogic.CreatePriceParameters;
|
||||
import google.registry.flows.custom.DomainPricingCustomLogic.RenewPriceParameters;
|
||||
import google.registry.flows.custom.DomainPricingCustomLogic.RestorePriceParameters;
|
||||
import google.registry.flows.custom.DomainPricingCustomLogic.TransferPriceParameters;
|
||||
import google.registry.flows.custom.DomainPricingCustomLogic.UpdatePriceParameters;
|
||||
import google.registry.model.billing.BillingEvent.Recurring;
|
||||
import google.registry.model.domain.fee.BaseFee;
|
||||
import google.registry.model.domain.fee.BaseFee.FeeType;
|
||||
import google.registry.model.domain.fee.Fee;
|
||||
import google.registry.model.domain.token.AllocationToken;
|
||||
import google.registry.model.pricing.PremiumPricingEngine.DomainPrices;
|
||||
import google.registry.model.tld.Registry;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import org.joda.money.CurrencyUnit;
|
||||
import org.joda.money.Money;
|
||||
@@ -46,7 +49,6 @@ import org.joda.time.DateTime;
|
||||
* providing a {@link DomainPricingCustomLogic} implementation that operates on cross-TLD or per-TLD
|
||||
* logic.
|
||||
*/
|
||||
@FlowScope
|
||||
public final class DomainPricingLogic {
|
||||
|
||||
@Inject DomainPricingCustomLogic customLogic;
|
||||
@@ -102,18 +104,63 @@ public final class DomainPricingLogic {
|
||||
.build());
|
||||
}
|
||||
|
||||
/** Returns a new renew price for the pricer. */
|
||||
@SuppressWarnings("unused")
|
||||
FeesAndCredits getRenewPrice(Registry registry, String domainName, DateTime dateTime, int years)
|
||||
/** Returns a new renewal cost for the pricer. */
|
||||
FeesAndCredits getRenewPrice(
|
||||
Registry registry,
|
||||
String domainName,
|
||||
DateTime dateTime,
|
||||
int years,
|
||||
@Nullable Recurring recurringBillingEvent)
|
||||
throws EppException {
|
||||
DomainPrices domainPrices = getPricesForDomainName(domainName, dateTime);
|
||||
BigDecimal renewCost = domainPrices.getRenewCost().multipliedBy(years).getAmount();
|
||||
checkArgument(years > 0, "Number of years must be positive");
|
||||
Money renewCost;
|
||||
boolean isRenewCostPremiumPrice;
|
||||
// recurring billing event is null if the domain is still available. Billing events are created
|
||||
// in the process of domain creation.
|
||||
if (recurringBillingEvent == null) {
|
||||
DomainPrices domainPrices = getPricesForDomainName(domainName, dateTime);
|
||||
renewCost = domainPrices.getRenewCost().multipliedBy(years);
|
||||
isRenewCostPremiumPrice = domainPrices.isPremium();
|
||||
} else {
|
||||
switch (recurringBillingEvent.getRenewalPriceBehavior()) {
|
||||
case DEFAULT:
|
||||
DomainPrices domainPrices = getPricesForDomainName(domainName, dateTime);
|
||||
renewCost = domainPrices.getRenewCost().multipliedBy(years);
|
||||
isRenewCostPremiumPrice = domainPrices.isPremium();
|
||||
break;
|
||||
// if the renewal price behavior is specified, then the renewal price should be the same
|
||||
// as the creation price, which is stored in the billing event as the renewal price
|
||||
case SPECIFIED:
|
||||
checkArgumentPresent(
|
||||
recurringBillingEvent.getRenewalPrice(),
|
||||
"Unexpected behavior: renewal price cannot be null when renewal behavior is"
|
||||
+ " SPECIFIED");
|
||||
renewCost = recurringBillingEvent.getRenewalPrice().get().multipliedBy(years);
|
||||
isRenewCostPremiumPrice = false;
|
||||
break;
|
||||
// if the renewal price behavior is nonpremium, it means that the domain should be renewed
|
||||
// at standard price of domains at the time, even if the domain is premium
|
||||
case NONPREMIUM:
|
||||
renewCost =
|
||||
Registry.get(getTldFromDomainName(domainName))
|
||||
.getStandardRenewCost(dateTime)
|
||||
.multipliedBy(years);
|
||||
isRenewCostPremiumPrice = false;
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException(
|
||||
String.format(
|
||||
"Unknown RenewalPriceBehavior enum value: %s",
|
||||
recurringBillingEvent.getRenewalPriceBehavior()));
|
||||
}
|
||||
}
|
||||
return customLogic.customizeRenewPrice(
|
||||
RenewPriceParameters.newBuilder()
|
||||
.setFeesAndCredits(
|
||||
new FeesAndCredits.Builder()
|
||||
.setCurrency(registry.getCurrency())
|
||||
.addFeeOrCredit(Fee.create(renewCost, FeeType.RENEW, domainPrices.isPremium()))
|
||||
.setCurrency(renewCost.getCurrencyUnit())
|
||||
.addFeeOrCredit(
|
||||
Fee.create(renewCost.getAmount(), FeeType.RENEW, isRenewCostPremiumPrice))
|
||||
.build())
|
||||
.setRegistry(registry)
|
||||
.setDomainName(InternetDomainName.from(domainName))
|
||||
|
||||
@@ -22,6 +22,7 @@ import static google.registry.flows.ResourceFlowUtils.verifyNoDisallowedStatuses
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkAllowedAccessToTld;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkHasBillingAccount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.newAutorenewBillingEvent;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.newAutorenewPollMessage;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.updateAutorenewRecurrenceEndTime;
|
||||
@@ -106,6 +107,7 @@ import org.joda.time.Duration;
|
||||
* @error {@link DomainFlowUtils.ExceedsMaxRegistrationYearsException}
|
||||
* @error {@link DomainFlowUtils.FeesMismatchException}
|
||||
* @error {@link DomainFlowUtils.FeesRequiredForPremiumNameException}
|
||||
* @error {@link DomainFlowUtils.MissingBillingAccountMapException}
|
||||
* @error {@link DomainFlowUtils.NotAuthorizedForTldException}
|
||||
* @error {@link DomainFlowUtils.RegistrarMustBeActiveForThisOperationException}
|
||||
* @error {@link DomainFlowUtils.UnsupportedFeeAttributeException}
|
||||
@@ -153,7 +155,8 @@ public final class DomainRenewFlow implements TransactionalFlow {
|
||||
Optional<FeeRenewCommandExtension> feeRenew =
|
||||
eppInput.getSingleExtension(FeeRenewCommandExtension.class);
|
||||
FeesAndCredits feesAndCredits =
|
||||
pricingLogic.getRenewPrice(Registry.get(existingDomain.getTld()), targetId, now, years);
|
||||
pricingLogic.getRenewPrice(
|
||||
Registry.get(existingDomain.getTld()), targetId, now, years, null);
|
||||
validateFeeChallenge(targetId, now, feeRenew, feesAndCredits);
|
||||
flowCustomLogic.afterValidation(
|
||||
AfterValidationParameters.newBuilder()
|
||||
@@ -263,6 +266,7 @@ public final class DomainRenewFlow implements TransactionalFlow {
|
||||
if (!isSuperuser) {
|
||||
verifyResourceOwnership(registrarId, existingDomain);
|
||||
checkAllowedAccessToTld(registrarId, existingDomain.getTld());
|
||||
checkHasBillingAccount(registrarId, existingDomain.getTld());
|
||||
}
|
||||
verifyUnitIsYears(command.getPeriod());
|
||||
// If the date they specify doesn't match the expiration, fail. (This is an idempotence check).
|
||||
|
||||
@@ -20,6 +20,7 @@ import static google.registry.flows.ResourceFlowUtils.loadAndVerifyExistence;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkAllowedAccessToTld;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkHasBillingAccount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.newAutorenewBillingEvent;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.newAutorenewPollMessage;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.validateFeeChallenge;
|
||||
@@ -104,6 +105,7 @@ import org.joda.time.DateTime;
|
||||
* @error {@link DomainFlowUtils.DomainReservedException}
|
||||
* @error {@link DomainFlowUtils.FeesMismatchException}
|
||||
* @error {@link DomainFlowUtils.FeesRequiredForPremiumNameException}
|
||||
* @error {@link DomainFlowUtils.MissingBillingAccountMapException}
|
||||
* @error {@link DomainFlowUtils.NotAuthorizedForTldException}
|
||||
* @error {@link DomainFlowUtils.PremiumNameBlockedException}
|
||||
* @error {@link DomainFlowUtils.RegistrarMustBeActiveForThisOperationException}
|
||||
@@ -216,6 +218,7 @@ public final class DomainRestoreRequestFlow implements TransactionalFlow {
|
||||
verifyNotReserved(InternetDomainName.from(targetId), false);
|
||||
verifyPremiumNameIsNotBlocked(targetId, now, registrarId);
|
||||
checkAllowedAccessToTld(registrarId, existingDomain.getTld());
|
||||
checkHasBillingAccount(registrarId, existingDomain.getTld());
|
||||
}
|
||||
// No other changes can be specified on a restore request.
|
||||
if (!command.noChangesPresent()) {
|
||||
|
||||
@@ -22,6 +22,7 @@ import static google.registry.flows.ResourceFlowUtils.verifyAuthInfo;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyAuthInfoPresentForResourceTransfer;
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyNoDisallowedStatuses;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkAllowedAccessToTld;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.checkHasBillingAccount;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.updateAutorenewRecurrenceEndTime;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.validateFeeChallenge;
|
||||
import static google.registry.flows.domain.DomainFlowUtils.verifyPremiumNameIsNotBlocked;
|
||||
@@ -111,6 +112,7 @@ import org.joda.time.DateTime;
|
||||
* @error {@link DomainFlowUtils.CurrencyValueScaleException}
|
||||
* @error {@link DomainFlowUtils.FeesMismatchException}
|
||||
* @error {@link DomainFlowUtils.FeesRequiredForPremiumNameException}
|
||||
* @error {@link DomainFlowUtils.MissingBillingAccountMapException}
|
||||
* @error {@link DomainFlowUtils.NotAuthorizedForTldException}
|
||||
* @error {@link DomainFlowUtils.PremiumNameBlockedException}
|
||||
* @error {@link DomainFlowUtils.RegistrarMustBeActiveForThisOperationException}
|
||||
@@ -273,6 +275,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
|
||||
verifyTransferPeriod(period, superuserExtension);
|
||||
if (!isSuperuser) {
|
||||
checkAllowedAccessToTld(gainingClientId, existingDomain.getTld());
|
||||
checkHasBillingAccount(gainingClientId, existingDomain.getTld());
|
||||
verifyPremiumNameIsNotBlocked(targetId, now, gainingClientId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedSet;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import com.google.common.net.InternetDomainName;
|
||||
import google.registry.dns.DnsQueue;
|
||||
import google.registry.flows.EppException;
|
||||
@@ -146,6 +147,8 @@ public final class DomainUpdateFlow implements TransactionalFlow {
|
||||
private static final ImmutableSet<StatusValue> UPDATE_DISALLOWED_STATUSES =
|
||||
ImmutableSet.of(StatusValue.PENDING_DELETE, StatusValue.SERVER_UPDATE_PROHIBITED);
|
||||
|
||||
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
|
||||
|
||||
@Inject ResourceCommand resourceCommand;
|
||||
@Inject ExtensionManager extensionManager;
|
||||
@Inject EppInput eppInput;
|
||||
|
||||
@@ -21,7 +21,6 @@ import static google.registry.flows.ResourceFlowUtils.verifyNoDisallowedStatuses
|
||||
import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||
import static google.registry.flows.host.HostFlowUtils.validateHostName;
|
||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS;
|
||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.assertAsyncActionsAreAllowed;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
|
||||
@@ -36,15 +35,12 @@ import google.registry.flows.FlowModule.TargetId;
|
||||
import google.registry.flows.TransactionalFlow;
|
||||
import google.registry.flows.annotations.ReportingSpec;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.metadata.MetadataExtension;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.eppcommon.Trid;
|
||||
import google.registry.model.eppoutput.EppResponse;
|
||||
import google.registry.model.eppoutput.Result;
|
||||
import google.registry.model.host.HostHistory;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.reporting.HistoryEntry.Type;
|
||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||
import javax.inject.Inject;
|
||||
@@ -100,7 +96,7 @@ public final class HostDeleteFlow implements TransactionalFlow {
|
||||
assertAsyncActionsAreAllowed();
|
||||
DateTime now = tm().getTransactionTime();
|
||||
validateHostName(targetId);
|
||||
checkLinkedDomains(targetId, now, HostResource.class, DomainBase::getNameservers);
|
||||
checkLinkedDomains(targetId, now, HostResource.class);
|
||||
HostResource existingHost = loadAndVerifyExistence(HostResource.class, targetId, now);
|
||||
verifyNoDisallowedStatuses(existingHost, DISALLOWED_STATUSES);
|
||||
if (!isSuperuser) {
|
||||
@@ -112,31 +108,19 @@ public final class HostDeleteFlow implements TransactionalFlow {
|
||||
: existingHost;
|
||||
verifyResourceOwnership(registrarId, owningResource);
|
||||
}
|
||||
HistoryEntry.Type historyEntryType;
|
||||
Result.Code resultCode;
|
||||
HostResource newHost;
|
||||
if (tm().isOfy()) {
|
||||
asyncTaskEnqueuer.enqueueAsyncDelete(
|
||||
existingHost, tm().getTransactionTime(), registrarId, trid, isSuperuser);
|
||||
newHost = existingHost.asBuilder().addStatusValue(StatusValue.PENDING_DELETE).build();
|
||||
historyEntryType = Type.HOST_PENDING_DELETE;
|
||||
resultCode = SUCCESS_WITH_ACTION_PENDING;
|
||||
} else {
|
||||
newHost = existingHost.asBuilder().setStatusValues(null).setDeletionTime(now).build();
|
||||
if (existingHost.isSubordinate()) {
|
||||
dnsQueue.addHostRefreshTask(existingHost.getHostName());
|
||||
tm().update(
|
||||
tm().loadByKey(existingHost.getSuperordinateDomain())
|
||||
.asBuilder()
|
||||
.removeSubordinateHost(existingHost.getHostName())
|
||||
.build());
|
||||
}
|
||||
historyEntryType = Type.HOST_DELETE;
|
||||
resultCode = SUCCESS;
|
||||
HostResource newHost =
|
||||
existingHost.asBuilder().setStatusValues(null).setDeletionTime(now).build();
|
||||
if (existingHost.isSubordinate()) {
|
||||
dnsQueue.addHostRefreshTask(existingHost.getHostName());
|
||||
tm().update(
|
||||
tm().loadByKey(existingHost.getSuperordinateDomain())
|
||||
.asBuilder()
|
||||
.removeSubordinateHost(existingHost.getHostName())
|
||||
.build());
|
||||
}
|
||||
historyBuilder.setType(historyEntryType).setHost(newHost);
|
||||
historyBuilder.setType(Type.HOST_DELETE).setHost(newHost);
|
||||
tm().insert(historyBuilder.build());
|
||||
tm().update(newHost);
|
||||
return responseBuilder.setResultFromCode(resultCode).build();
|
||||
return responseBuilder.setResultFromCode(SUCCESS).build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,19 +102,13 @@ public final class PollAckFlow implements TransactionalFlow {
|
||||
// This keeps track of whether we should include the current acked message in the updated
|
||||
// message count that's returned to the user. The only case where we do so is if an autorenew
|
||||
// poll message is acked, but its next event is already ready to be delivered.
|
||||
boolean includeAckedMessageInCount = ackPollMessage(pollMessage);
|
||||
ackPollMessage(pollMessage);
|
||||
|
||||
// We need to return the new queue length. If this was the last message in the queue being
|
||||
// acked, then we return a special status code indicating that. Note that the query will
|
||||
// include the message being acked.
|
||||
|
||||
int messageCount = tm().doTransactionless(() -> getPollMessageCount(registrarId, now));
|
||||
// Within the same transaction, Datastore will not reflect the updated count (potentially
|
||||
// reduced by one thanks to the acked poll message). SQL will, however, so we shouldn't reduce
|
||||
// the count in the SQL case.
|
||||
if (!includeAckedMessageInCount && tm().isOfy()) {
|
||||
messageCount--;
|
||||
}
|
||||
if (messageCount <= 0) {
|
||||
return responseBuilder.setResultFromCode(SUCCESS_WITH_NO_MESSAGES).build();
|
||||
}
|
||||
|
||||
@@ -47,13 +47,12 @@ public final class PollFlowUtils {
|
||||
* <p>The only case where we do so is if an autorenew poll message is acked, but its next event is
|
||||
* already ready to be delivered.
|
||||
*/
|
||||
public static boolean ackPollMessage(PollMessage pollMessage) {
|
||||
public static void ackPollMessage(PollMessage pollMessage) {
|
||||
checkArgument(
|
||||
isBeforeOrAt(pollMessage.getEventTime(), tm().getTransactionTime()),
|
||||
"Cannot ACK poll message with ID %s because its event time is in the future: %s",
|
||||
pollMessage.getId(),
|
||||
pollMessage.getEventTime());
|
||||
boolean includeAckedMessageInCount = false;
|
||||
if (pollMessage instanceof PollMessage.OneTime) {
|
||||
// One-time poll messages are deleted once acked.
|
||||
tm().delete(pollMessage.createVKey());
|
||||
@@ -68,14 +67,12 @@ public final class PollFlowUtils {
|
||||
// autorenew poll message has no more events to deliver and should be deleted.
|
||||
if (nextEventTime.isBefore(autorenewPollMessage.getAutorenewEndTime())) {
|
||||
tm().put(autorenewPollMessage.asBuilder().setEventTime(nextEventTime).build());
|
||||
includeAckedMessageInCount = isBeforeOrAt(nextEventTime, tm().getTransactionTime());
|
||||
} else {
|
||||
tm().delete(autorenewPollMessage.createVKey());
|
||||
}
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown poll message type: " + pollMessage.getClass());
|
||||
}
|
||||
return includeAckedMessageInCount;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -116,4 +116,9 @@ public class AppEngineEnvironment {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** Returns true if the current thread is in an App Engine Environment. */
|
||||
public static boolean isInAppEngineEnvironment() {
|
||||
return ApiProxy.getCurrentEnvironment() != null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,13 @@ import static com.google.common.base.Suppliers.memoizeWithExpiration;
|
||||
import static google.registry.config.RegistryConfig.getSingletonCacheRefreshDuration;
|
||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.CacheLoader;
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
import com.google.common.base.Supplier;
|
||||
import google.registry.model.annotations.DeleteAfterMigration;
|
||||
import java.time.Duration;
|
||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
/** Utility methods related to caching Datastore entities. */
|
||||
public class CacheUtils {
|
||||
@@ -28,8 +32,8 @@ public class CacheUtils {
|
||||
/**
|
||||
* Memoize a supplier, with a short expiration specified in the environment config.
|
||||
*
|
||||
* <p>Use this for things that might change while code is running. (For example, the various
|
||||
* lists downloaded from the TMCH get updated in Datastore and the caches need to be refreshed.)
|
||||
* <p>Use this for things that might change while code is running. (For example, the various lists
|
||||
* downloaded from the TMCH get updated in Datastore and the caches need to be refreshed.)
|
||||
*/
|
||||
public static <T> Supplier<T> memoizeWithShortExpiration(Supplier<T> original) {
|
||||
return tryMemoizeWithExpiration(getSingletonCacheRefreshDuration(), original);
|
||||
@@ -73,4 +77,29 @@ public class CacheUtils {
|
||||
}
|
||||
return caffeine;
|
||||
}
|
||||
|
||||
/**
|
||||
* A {@link CacheLoader} that automatically masquerade the background thread where the refresh
|
||||
* action runs in to be an GAE thread.
|
||||
*/
|
||||
@DeleteAfterMigration
|
||||
public abstract static class AppEngineEnvironmentCacheLoader<K, V> implements CacheLoader<K, V> {
|
||||
|
||||
private static final AppEngineEnvironment environment = new AppEngineEnvironment();
|
||||
|
||||
@Override
|
||||
public @Nullable V reload(@NonNull K key, @NonNull V oldValue) throws Exception {
|
||||
V value;
|
||||
boolean isMasqueraded = false;
|
||||
if (!AppEngineEnvironment.isInAppEngineEnvironment()) {
|
||||
environment.setEnvironmentForCurrentThread();
|
||||
isMasqueraded = true;
|
||||
}
|
||||
value = load(key);
|
||||
if (isMasqueraded) {
|
||||
environment.unsetEnvironmentForCurrentThread();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,17 +20,15 @@ import static com.google.common.collect.Sets.difference;
|
||||
import static com.google.common.collect.Sets.union;
|
||||
import static google.registry.config.RegistryConfig.getEppResourceCachingDuration;
|
||||
import static google.registry.config.RegistryConfig.getEppResourceMaxCachedEntries;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.ofyTm;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.replicaTm;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.CacheLoader;
|
||||
import com.github.benmanes.caffeine.cache.LoadingCache;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
@@ -38,17 +36,16 @@ import com.googlecode.objectify.Key;
|
||||
import com.googlecode.objectify.annotation.Id;
|
||||
import com.googlecode.objectify.annotation.Index;
|
||||
import google.registry.config.RegistryConfig;
|
||||
import google.registry.model.CacheUtils.AppEngineEnvironmentCacheLoader;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.index.EppResourceIndex;
|
||||
import google.registry.model.index.ForeignKeyIndex;
|
||||
import google.registry.model.ofy.CommitLogManifest;
|
||||
import google.registry.model.transfer.TransferData;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.util.NonFinalForTesting;
|
||||
import java.time.Duration;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import javax.persistence.Access;
|
||||
import javax.persistence.AccessType;
|
||||
import javax.persistence.AttributeOverride;
|
||||
@@ -57,7 +54,6 @@ import javax.persistence.Column;
|
||||
import javax.persistence.MappedSuperclass;
|
||||
import javax.persistence.Transient;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
||||
/** An EPP entity object (i.e. a domain, contact, or host). */
|
||||
@MappedSuperclass
|
||||
@@ -227,12 +223,6 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||
@Override
|
||||
public abstract Builder<?, ?> asBuilder();
|
||||
|
||||
/** Used when replaying from SQL to DS to populate the Datastore indexes. */
|
||||
protected void saveIndexesToDatastore() {
|
||||
ofyTm().putIgnoringReadOnlyWithBackup(ForeignKeyIndex.create(this, getDeletionTime()));
|
||||
ofyTm().putIgnoringReadOnlyWithBackup(EppResourceIndex.create(Key.create(this)));
|
||||
}
|
||||
|
||||
/** EppResources that are loaded via foreign keys should implement this marker interface. */
|
||||
public interface ForeignKeyedEppResource {}
|
||||
|
||||
@@ -387,7 +377,7 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||
}
|
||||
|
||||
static final CacheLoader<VKey<? extends EppResource>, EppResource> CACHE_LOADER =
|
||||
new CacheLoader<VKey<? extends EppResource>, EppResource>() {
|
||||
new AppEngineEnvironmentCacheLoader<VKey<? extends EppResource>, EppResource>() {
|
||||
|
||||
@Override
|
||||
public EppResource load(VKey<? extends EppResource> key) {
|
||||
@@ -416,8 +406,7 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||
|
||||
private static LoadingCache<VKey<? extends EppResource>, EppResource> createEppResourcesCache(
|
||||
Duration expiry) {
|
||||
return CacheBuilder.newBuilder()
|
||||
.expireAfterWrite(java.time.Duration.ofMillis(expiry.getMillis()))
|
||||
return CacheUtils.newCacheBuilder(expiry)
|
||||
.maximumSize(getEppResourceMaxCachedEntries())
|
||||
.build(CACHE_LOADER);
|
||||
}
|
||||
@@ -439,11 +428,7 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||
if (!RegistryConfig.isEppResourceCachingEnabled()) {
|
||||
return tm().loadByKeys(keys);
|
||||
}
|
||||
try {
|
||||
return cacheEppResources.getAll(keys);
|
||||
} catch (ExecutionException e) {
|
||||
throw new RuntimeException("Error loading cached EppResources", e.getCause());
|
||||
}
|
||||
return ImmutableMap.copyOf(cacheEppResources.getAll(keys));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -456,13 +441,9 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||
if (!RegistryConfig.isEppResourceCachingEnabled()) {
|
||||
return tm().loadByKey(key);
|
||||
}
|
||||
try {
|
||||
// Safe to cast because loading a Key<T> returns an entity of type T.
|
||||
@SuppressWarnings("unchecked")
|
||||
T resource = (T) cacheEppResources.get(key);
|
||||
return resource;
|
||||
} catch (ExecutionException e) {
|
||||
throw new RuntimeException("Error loading cached EppResources", e.getCause());
|
||||
}
|
||||
// Safe to cast because loading a Key<T> returns an entity of type T.
|
||||
@SuppressWarnings("unchecked")
|
||||
T resource = (T) cacheEppResources.get(key);
|
||||
return resource;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
package google.registry.model.contact;
|
||||
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
|
||||
import com.googlecode.objectify.Key;
|
||||
import com.googlecode.objectify.annotation.EntitySubclass;
|
||||
import google.registry.model.EppResource;
|
||||
@@ -136,14 +134,6 @@ public class ContactHistory extends HistoryEntry implements SqlEntity, UnsafeSer
|
||||
return Optional.of(asHistoryEntry());
|
||||
}
|
||||
|
||||
// Used to fill out the contactBase field during asynchronous replay
|
||||
@Override
|
||||
public void beforeSqlSaveOnReplay() {
|
||||
if (contactBase == null) {
|
||||
contactBase = jpaTm().getEntityManager().find(ContactResource.class, getContactRepoId());
|
||||
}
|
||||
}
|
||||
|
||||
/** Class to represent the composite primary key of {@link ContactHistory} entity. */
|
||||
public static class ContactHistoryId extends ImmutableObject implements Serializable {
|
||||
|
||||
|
||||
@@ -66,11 +66,6 @@ public class ContactResource extends ContactBase
|
||||
return ContactBase.cloneContactProjectedAtTime(this, now);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeDatastoreSaveOnReplay() {
|
||||
saveIndexesToDatastore();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder asBuilder() {
|
||||
return new Builder(clone(this));
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
package google.registry.model.domain;
|
||||
|
||||
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.EppResource;
|
||||
import google.registry.model.EppResource.ForeignKeyedEppResource;
|
||||
@@ -26,7 +24,6 @@ import google.registry.model.host.HostResource;
|
||||
import google.registry.model.replay.DatastoreAndSqlEntity;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.persistence.WithStringVKey;
|
||||
import google.registry.util.DomainNameUtils;
|
||||
import java.util.Set;
|
||||
import javax.persistence.Access;
|
||||
import javax.persistence.AccessType;
|
||||
@@ -173,20 +170,6 @@ public class DomainBase extends DomainContent
|
||||
return cloneDomainProjectedAtTime(this, now);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeSqlSaveOnReplay() {
|
||||
fullyQualifiedDomainName = DomainNameUtils.canonicalizeHostname(fullyQualifiedDomainName);
|
||||
dsData =
|
||||
dsData.stream()
|
||||
.filter(datum -> datum.getDigest() != null && datum.getDigest().length > 0)
|
||||
.collect(toImmutableSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeDatastoreSaveOnReplay() {
|
||||
saveIndexesToDatastore();
|
||||
}
|
||||
|
||||
public static VKey<DomainBase> createVKey(Key<DomainBase> key) {
|
||||
return VKey.create(DomainBase.class, key.getName(), key);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import static com.google.common.collect.Sets.difference;
|
||||
import static com.google.common.collect.Sets.intersection;
|
||||
import static google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime;
|
||||
import static google.registry.model.EppResourceUtils.setAutomaticTransferSuccessProperties;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||
import static google.registry.persistence.transaction.TransactionManagerUtil.transactIfJpaTm;
|
||||
import static google.registry.util.CollectionUtils.forceEmptyToNull;
|
||||
@@ -63,7 +62,6 @@ import google.registry.model.domain.secdns.DelegationSignerData;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.poll.PollMessage;
|
||||
import google.registry.model.replay.ReplaySpecializer;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.tld.Registry;
|
||||
import google.registry.model.transfer.DomainTransferData;
|
||||
@@ -403,23 +401,6 @@ public class DomainContent extends EppResource
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to delete grace periods and DelegationSignerData records prior to domain delete.
|
||||
*
|
||||
* <p>See {@link ReplaySpecializer}.
|
||||
*/
|
||||
public static void beforeSqlDelete(VKey<DomainBase> key) {
|
||||
// Delete all grace periods associated with the domain.
|
||||
jpaTm()
|
||||
.query("DELETE FROM GracePeriod WHERE domain_repo_id = :repo_id")
|
||||
.setParameter("repo_id", key.getSqlKey())
|
||||
.executeUpdate();
|
||||
jpaTm()
|
||||
.query("DELETE FROM DelegationSignerData WHERE domain_repo_id = :repo_id")
|
||||
.setParameter("repo_id", key.getSqlKey())
|
||||
.executeUpdate();
|
||||
}
|
||||
|
||||
public static <T> VKey<T> restoreOfyFrom(Key<DomainBase> domainKey, VKey<T> key, Long historyId) {
|
||||
if (historyId == null) {
|
||||
// This is a legacy key (or a null key, in which case this works too)
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
package google.registry.model.domain;
|
||||
|
||||
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
@@ -33,7 +32,6 @@ import google.registry.model.replay.SqlEntity;
|
||||
import google.registry.model.reporting.DomainTransactionRecord;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.util.DomainNameUtils;
|
||||
import java.io.Serializable;
|
||||
import java.util.HashSet;
|
||||
import java.util.Optional;
|
||||
@@ -303,17 +301,6 @@ public class DomainHistory extends HistoryEntry implements SqlEntity {
|
||||
return Optional.of(asHistoryEntry());
|
||||
}
|
||||
|
||||
// Used to fill out the domainContent field during asynchronous replay
|
||||
@Override
|
||||
public void beforeSqlSaveOnReplay() {
|
||||
if (domainContent == null) {
|
||||
domainContent = jpaTm().getEntityManager().find(DomainBase.class, getDomainRepoId());
|
||||
domainContent.fullyQualifiedDomainName =
|
||||
DomainNameUtils.canonicalizeHostname(domainContent.fullyQualifiedDomainName);
|
||||
fillAuxiliaryFieldsFromDomain(this);
|
||||
}
|
||||
}
|
||||
|
||||
private static void fillAuxiliaryFieldsFromDomain(DomainHistory domainHistory) {
|
||||
if (domainHistory.domainContent != null) {
|
||||
domainHistory.nsHosts = nullToEmptyImmutableCopy(domainHistory.domainContent.nsHosts);
|
||||
|
||||
@@ -24,6 +24,7 @@ import google.registry.model.EppResource;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.eppcommon.AuthInfo;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.eppinput.ResourceCommand.ResourceUpdate.AddRemove;
|
||||
import google.registry.util.TypeUtils.TypeInstantiator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -91,10 +92,11 @@ public interface ResourceCommand {
|
||||
* @param <C> the change type
|
||||
*/
|
||||
@XmlTransient
|
||||
abstract class ResourceUpdate
|
||||
<A extends ResourceUpdate.AddRemove,
|
||||
B extends EppResource.Builder<?, ?>,
|
||||
C extends ResourceCreateOrChange<B>> extends AbstractSingleResourceCommand {
|
||||
abstract class ResourceUpdate<
|
||||
A extends AddRemove,
|
||||
B extends EppResource.Builder<?, ?>,
|
||||
C extends ResourceCreateOrChange<B>>
|
||||
extends AbstractSingleResourceCommand {
|
||||
|
||||
/** Part of an update command that specifies set values to add or remove. */
|
||||
@XmlTransient
|
||||
@@ -113,7 +115,7 @@ public interface ResourceCommand {
|
||||
|
||||
protected abstract A getNullableInnerRemove();
|
||||
|
||||
// Don't use MoreObjects.firstNonNull in these method because it will result in an unneeded
|
||||
// Don't use MoreObjects.firstNonNull in these methods because it will result in an unneeded
|
||||
// reflective instantiation when the object isn't null.
|
||||
|
||||
public C getInnerChange() {
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
package google.registry.model.host;
|
||||
|
||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||
|
||||
import com.googlecode.objectify.Key;
|
||||
import com.googlecode.objectify.annotation.EntitySubclass;
|
||||
import google.registry.model.EppResource;
|
||||
@@ -26,7 +24,6 @@ import google.registry.model.replay.DatastoreEntity;
|
||||
import google.registry.model.replay.SqlEntity;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.persistence.VKey;
|
||||
import google.registry.util.DomainNameUtils;
|
||||
import java.io.Serializable;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
@@ -137,16 +134,6 @@ public class HostHistory extends HistoryEntry implements SqlEntity, UnsafeSerial
|
||||
return Optional.of(asHistoryEntry());
|
||||
}
|
||||
|
||||
// Used to fill out the hostBase field during asynchronous replay
|
||||
@Override
|
||||
public void beforeSqlSaveOnReplay() {
|
||||
if (hostBase == null) {
|
||||
hostBase = jpaTm().getEntityManager().find(HostResource.class, getHostRepoId());
|
||||
hostBase.fullyQualifiedHostName =
|
||||
DomainNameUtils.canonicalizeHostname(hostBase.fullyQualifiedHostName);
|
||||
}
|
||||
}
|
||||
|
||||
/** Class to represent the composite primary key of {@link HostHistory} entity. */
|
||||
public static class HostHistoryId extends ImmutableObject implements Serializable {
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user