From a8337a3881f8bc6f212dc25559ad33bd3d5806e7 Mon Sep 17 00:00:00 2001 From: Sam Gammon Date: Fri, 21 Feb 2020 18:25:01 -0800 Subject: [PATCH] Sample App: Todolist This changeset adds a new sample app, which ties together all the features thus far and adds some new ones to facilitate easy app development. I'm using this sample to help define the underlying framework structure, when used with Micronaut/Soy. The sample is built with unified modelling via Protobuf, and RPC dispatch via gRPC. The UI is built with Soy, with SSR support via Soy/Java, and re-hydrated CSR support via Soy/JS (and `idom`). The app's data backend is powered by Firestore, with objects mediated for serialization by the framework. This process is also driven by the protos. Auth is also powered by Firebase, which enables easy data permissions. Via the central API definition, the app can automatically generate an API console, docs, and Open API/Swagger configs. It is also dispatchable from nearly any platform (via either gRPC or REST). Endpoints served in this manner support either Protobuf on the wire, or JSON (when using REST). Styles are defined in SASS but processed by both GSS and PostCSS, which enables both (1) tight optimization on a per-browser basis, and (2) style modularity when serving. The server can also rewrite styles using a Soy/GSS rewrite map. The sample additionally demonstrates testing, with coverage (where supported by the framework, so far). Related and blocking issues: - [ ] Sample Apps (#26) - [ ] App Framework (#27) - [ ] MVP Functionality Matrix (#43) - [ ] Source-aware Server Targets - [ ] Modular JS serving, by entrypoint - [ ] Modular CSS serving, by entrypoint - [x] Early page render context/frame template - [x] Basic asset templates/common templates - [ ] Unable to natively compile complex Soy templates The following checklist tracks progress towards the above: - [ ] Data Adapters - [ ] Initial adapter: in-memory - [ ] First implementation: Firestore - [ ] RBE/RCE Fixes - [x] Remove Python (for now) - [ ] Restore Python support w/fix for CI - [ ] Basic gRPC Support - [x] Ability to build/inject/run a gRPC server - [ ] Some way to smoothly serve/proxy this - [ ] Some plan for Envoy support - [ ] TLS vs. ATLS? - [ ] Ability to generate a gRPC client - [ ] Frontend serving logic (more coming soon) - [ ] Basic *Todolist* app - [x] Unified Model: services and objects - [x] Object definitions - [x] Service definition (`Tasks`) - [x] Service configuration - [x] Auth (API keys, Firebase auth) - [x] Documentation config - [x] Quotas and properties - [ ] Server-side - [ ] `HomeController`: serve anonymous app frame - [ ] Basic implementation - [ ] Login UI kickoff (via Firebase Auth UI / MDL) - [ ] Anonymous app container - [ ] `AppController`: serve logged-in app frame - [ ] Basic implementation - [ ] Logout UI kickoff and handler - [ ] Auth/session lifecycle - [ ] Rejoiner support - [ ] GraphQL schema/support - [ ] Web app - [ ] gRPC invocation logic - [ ] Initial style structure - [ ] Java-based app implementation - [ ] Issues to file - [ ] Future: Telemetry - [ ] Future: iOS App - [ ] Future: Android App - [ ] Future: Chrome Extension --- .bazelproject | 2 +- .bazelrc | 3 +- .bazelversion | 2 +- .buildkite/pipeline.yml | 7 + .gcloudignore | 6 + .gitmodules | 3 + .ijwb/.bazelproject | 4 +- LICENSE.txt | 203 + LICENSES/grpc-gateway.txt | 27 + Makefile | 4 +- README.md | 7 +- WORKSPACE | 33 +- cloudbuild.yaml | 17 + defs/build.bzl | 32 +- defs/toolchain/backend.bzl | 2 + defs/toolchain/java/plugins/BUILD.bazel | 16 +- defs/toolchain/java/repos.bzl | 52 +- defs/toolchain/java/rules.bzl | 66 +- defs/toolchain/python/rules.bzl | 48 +- defs/toolchain/schema.bzl | 60 +- defs/toolchain/soy/rules.bzl | 39 +- defs/toolchain/templates.bzl | 2 + external/proto_common.bzl | 19 +- external/safe_html_types.bzl | 13 + {proto => gust}/BUILD.bazel | 0 gust/api/BUILD.bazel | 40 + gust/api/openapiv2.proto | 379 ++ gust/api/services.proto | 65 + gust/base/BUILD.bazel | 38 + gust/base/language.proto | 66 + gust/base/language.soy | 38 + {proto => gust}/core/BUILD.bazel | 6 +- .../core/datamodel.proto | 52 +- gust/dom/BUILD.bazel | 15 + gust/dom/assets.soy | 45 + gust/page/BUILD.bazel | 48 + gust/page/media.proto | 190 + gust/page/page.proto | 400 ++ gust/page/page.soy | 187 + gust/page/semantic.proto | 70 + java/gust/backend/Application.java | 15 +- java/gust/backend/BUILD.bazel | 5 +- java/gust/backend/TemplateProvider.java | 59 + java/gust/backend/TemplateProvider.kt | 34 - javatests/BUILD.bazel | 11 + javatests/gust/BUILD.bazel | 1 + javatests/gust/DualStackTest.java | 14 +- javatests/gust/backend/ApplicationTest.java | 18 + javatests/gust/backend/BUILD.bazel | 31 + .../gust/backend/TemplateProviderTest.java | 31 + maven_install.json | 5054 +++++++++++++++-- samples/todolist/.bazelrc | 82 + samples/todolist/.bazelversion | 1 + samples/todolist/BUILD.bazel | 3 + samples/todolist/WORKSPACE | 80 + samples/todolist/package.json | 8 + samples/todolist/src/BUILD.bazel | 106 + samples/todolist/src/api.yml | 324 ++ samples/todolist/src/application.yml | 130 + samples/todolist/src/home.soy | 20 + samples/todolist/src/logback.xml | 13 + samples/todolist/src/reflection.json | 38 + samples/todolist/src/server/HomeController.kt | 44 + samples/todolist/src/server/TasksService.kt | 48 + .../src/server/TodolistInterceptor.kt | 50 + samples/todolist/src/server/TodolistLogic.kt | 22 + samples/todolist/src/todolist.proto | 659 +++ vendor/google/safe-html-types | 1 + 68 files changed, 8644 insertions(+), 564 deletions(-) create mode 100644 .gcloudignore create mode 100644 LICENSE.txt create mode 100644 LICENSES/grpc-gateway.txt create mode 100644 cloudbuild.yaml create mode 100644 external/safe_html_types.bzl rename {proto => gust}/BUILD.bazel (100%) create mode 100644 gust/api/BUILD.bazel create mode 100644 gust/api/openapiv2.proto create mode 100644 gust/api/services.proto create mode 100644 gust/base/BUILD.bazel create mode 100644 gust/base/language.proto create mode 100644 gust/base/language.soy rename {proto => gust}/core/BUILD.bazel (78%) rename proto/core/Datamodel.proto => gust/core/datamodel.proto (89%) create mode 100644 gust/dom/BUILD.bazel create mode 100644 gust/dom/assets.soy create mode 100644 gust/page/BUILD.bazel create mode 100644 gust/page/media.proto create mode 100644 gust/page/page.proto create mode 100644 gust/page/page.soy create mode 100644 gust/page/semantic.proto create mode 100644 java/gust/backend/TemplateProvider.java delete mode 100644 java/gust/backend/TemplateProvider.kt create mode 100644 javatests/gust/backend/ApplicationTest.java create mode 100644 javatests/gust/backend/BUILD.bazel create mode 100644 javatests/gust/backend/TemplateProviderTest.java create mode 100644 samples/todolist/.bazelrc create mode 100644 samples/todolist/.bazelversion create mode 100644 samples/todolist/BUILD.bazel create mode 100644 samples/todolist/WORKSPACE create mode 100644 samples/todolist/package.json create mode 100644 samples/todolist/src/BUILD.bazel create mode 100644 samples/todolist/src/api.yml create mode 100644 samples/todolist/src/application.yml create mode 100644 samples/todolist/src/home.soy create mode 100644 samples/todolist/src/logback.xml create mode 100644 samples/todolist/src/reflection.json create mode 100644 samples/todolist/src/server/HomeController.kt create mode 100644 samples/todolist/src/server/TasksService.kt create mode 100644 samples/todolist/src/server/TodolistInterceptor.kt create mode 100644 samples/todolist/src/server/TodolistLogic.kt create mode 100644 samples/todolist/src/todolist.proto create mode 160000 vendor/google/safe-html-types diff --git a/.bazelproject b/.bazelproject index 6426b4dd4..44bbc514d 100644 --- a/.bazelproject +++ b/.bazelproject @@ -11,7 +11,7 @@ workspace_type: java java_language_level: 11 targets: - //proto/... + //gust/... //java/... //js/... //style/... diff --git a/.bazelrc b/.bazelrc index 27b7d0fcd..6e142c1c7 100644 --- a/.bazelrc +++ b/.bazelrc @@ -8,7 +8,6 @@ common --experimental_allow_incremental_repository_updates build --watchfs build --symlink_prefix=dist/ build --nolegacy_external_runfiles -build --disk_cache=~/.cache/bazel-disk-cache build --incompatible_strict_action_env build --javacopt="-encoding UTF-8" build --strict_java_deps=strict @@ -36,6 +35,7 @@ build:dev --experimental_persistent_javac build:dev --define=jdk=zulu build:dev --define=ZULUBASE=/Library/Java/JavaVirtualMachines/zulu-12.jdk/Contents/Home build:dev --javabase=//defs/toolchain/java:java_runtime +build:dev --disk_cache=~/.cache/bazel-disk-cache query --output=label_kind @@ -83,6 +83,7 @@ build:remote --google_default_credentials=true test --instrumentation_filter=//... test --instrument_test_targets +coverage --instrumentation_filter=//... coverage --instrument_test_targets try-import %workspace%/.bazelrc.user diff --git a/.bazelversion b/.bazelversion index 3e3c2f1e5..7ec1d6db4 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -2.1.1 +2.1.0 diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 741de88a0..6e99b7f9c 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -14,6 +14,9 @@ steps: - command: "make build CI=yes TARGETS='//samples/rest_mvc/java:MicronautMVCSample-native-bin' && make build CI=yes TARGETS='//samples/soy_ssr/src:MicronautSSRSample-native-bin'" label: ":java: Build: Native Binaries" depends_on: framework-build + key: native-build + soft_fail: + - exit_status: 2 - wait @@ -22,6 +25,9 @@ steps: - command: "make build samples CI=yes" label: ":gcloud: Publish: Images" + depends_on: native-build + soft_fail: + - exit_status: 2 - command: "echo 'registry=https://npm.pkg.github.com/sgammon' > .npmrc && npm publish" label: ":octocat: + :npm: Staging: NPM" @@ -53,4 +59,5 @@ steps: - command: "make release-images CI=yes" label: ":docker: Release: Docker" + depends_on: native-build if: build.tag != null diff --git a/.gcloudignore b/.gcloudignore new file mode 100644 index 000000000..475125a9c --- /dev/null +++ b/.gcloudignore @@ -0,0 +1,6 @@ +.git/modules +node_modules/ +dist/ +build/ +vendor/ +#!include:.gitignore diff --git a/.gitmodules b/.gitmodules index 71312d773..86ac6d8f6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -23,3 +23,6 @@ [submodule "api_common"] path = vendor/google/api-common url = git@github.com:googleapis/api-common-protos.git +[submodule "safe_html_types"] + path = vendor/google/safe-html-types + url = git@github.com:google/safe-html-types.git diff --git a/.ijwb/.bazelproject b/.ijwb/.bazelproject index 3abd03f99..4cc7ebfec 100644 --- a/.ijwb/.bazelproject +++ b/.ijwb/.bazelproject @@ -8,7 +8,7 @@ directories: external js java - proto + gust tests jstests javatests @@ -23,7 +23,7 @@ directories: targets: //samples/... - //proto/... + //gust/... //java/... //js/... //style/... diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 000000000..6b0b1270f --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + diff --git a/LICENSES/grpc-gateway.txt b/LICENSES/grpc-gateway.txt new file mode 100644 index 000000000..364516251 --- /dev/null +++ b/LICENSES/grpc-gateway.txt @@ -0,0 +1,27 @@ +Copyright (c) 2015, Gengo, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of Gengo, Inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile b/Makefile index b5d948e92..6c3a3328f 100644 --- a/Makefile +++ b/Makefile @@ -48,9 +48,9 @@ COVERAGE_ARGS ?= --function-coverage \ --rc genhtml_hi_limit=90 APP ?= -TARGETS ?= //java/... //proto/... //js/... //style/... +TARGETS ?= //java/... //gust/... //js/... //style/... //jstests/... TESTS ?= //tests/... -COVERABLE ?= //javatests/... //jstests/... +COVERABLE ?= //javatests:suite TAG ?= TEST_ARGS ?= --test_output=errors diff --git a/README.md b/README.md index c4c12f9ea..7376985d2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ -## `GUST` [![Build status](https://badge.buildkite.com/7a69b0fadb7d08b691e96177f589971a7646217b1a8b4a269e.svg)](https://buildkite.com/bloombox/gust) +## `@elide-tools/elide` [![Build status](https://badge.buildkite.com/7a69b0fadb7d08b691e96177f589971a7646217b1a8b4a269e.svg)](https://buildkite.com/bloomworks/elide) -** Hello, world! ** I'm a framework. + +### Licensing + +Below we specify licensing details for the Gust/Elide framework, including pointers to licenses for any dependent software. Gust/Elide itself is licensed under the Apache 2.0 License, which is enclosed in the `LICENSE.txt` file. Licenses for any dependent software (as required/applicable) are embedded in the `LICENSES/` directory, each within their own text file named for the software or framework. diff --git a/WORKSPACE b/WORKSPACE index 75f957ac8..d400bcd72 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -149,24 +149,31 @@ load("@io_bazel_stardoc//:setup.bzl", "stardoc_repositories") stardoc_repositories() ## Python -load("@rules_python//python:repositories.bzl", "py_repositories") -py_repositories() +#load("@rules_python//python:repositories.bzl", "py_repositories") +#py_repositories() + +#load("@rules_python//python:pip.bzl", "pip_repositories") +#pip_repositories() + +#load("@rules_python//python:pip.bzl", pip_import = "pip3_import") -load("@rules_python//python:pip.bzl", "pip_repositories") -pip_repositories() +#pip_import( +# name = "py", +# requirements = "//defs/toolchain/python:requirements_base.txt") -load("@rules_python//python:pip.bzl", pip_import = "pip3_import") +#pip_import( +# name = "werkzeug", +# requirements = "//defs/toolchain/python:requirements_werkzeug.txt") -pip_import( - name = "py", - requirements = "//defs/toolchain/python:requirements_base.txt") +#load("//defs/toolchain/python:repos.bzl", "gust_python_repositories") +#gust_python_repositories() -pip_import( - name = "werkzeug", - requirements = "//defs/toolchain/python:requirements_werkzeug.txt") +## gRPC Java +load("@io_grpc_java//:repositories.bzl", "grpc_java_repositories") +grpc_java_repositories() -load("//defs/toolchain/python:repos.bzl", "gust_python_repositories") -gust_python_repositories() +load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") +protobuf_deps() ## Java Containers load("@io_bazel_rules_docker//container:container.bzl", "container_pull") diff --git a/cloudbuild.yaml b/cloudbuild.yaml new file mode 100644 index 000000000..5928fb21a --- /dev/null +++ b/cloudbuild.yaml @@ -0,0 +1,17 @@ + +steps: +- name: 'l.gcr.io/google/bazel' + args: + - --bazelrc=.bazelrc + - test + - --config=remote + - --remote_instance_name=projects/bloom-sandbox/instances/default_instance + - -- + - //gust/... + - //js/... + - //java/... + - //style/... + +options: + machineType: "N1_HIGHCPU_32" + diff --git a/defs/build.bzl b/defs/build.bzl index f1f421720..b7c0e38d1 100644 --- a/defs/build.bzl +++ b/defs/build.bzl @@ -188,12 +188,28 @@ DEPS = { "overlay": "mdl.bzl", "seal": "f65b744aa0865bce2f9727b1b116fadf10639b63f4b511165a2ab65afa6d1046"}, + # Common Protocol Buffers "proto_common": { "type": "github", "repo": "googleapis/api-common-protos", - "target": "a1049653796e24778de3073bd04760588494aecd", + "target": "fd62e4d97ca6829b9166ae86bc6429574ff4e5db", "overlay": "proto_common.bzl", - "seal": "280bdadd0cc490ac601ba577694e290b2aa3bc5636dcb9f0d9eca27dc0f5791d"}, + "seal": "4a84c293b3758d2cd5b6da27ffb0166f6ce23b99f70ea14ef28cb77099744889"}, + + # Safe HTML Types + "safe_html_types": { + "type": "github", + "repo": "google/safe-html-types", + "target": "8507735457ea41a37dfa027fb176d49d5783c4ba", + "overlay": "safe_html_types.bzl", + "seal": "2356090e7632f49ea581bb6f8808fa038a7433d433f3e8d7045a36f81fb39d65"}, + + # gRPC: Java + "io_grpc_java": { + "type": "github", + "repo": "grpc/grpc-java", + "target": "a98db126e265259ea73c2156833cbf872aa86811", + "seal": "f83e71b2ab65c3c133d6ee6ac968efee21f5cb93a25825b50740538e50905b9b"}, # Google: Closure Stylesheets "com_google_closure_stylesheets": { @@ -218,6 +234,16 @@ DEPS = { ]), }, + # JavaX: Annotations API + "javax_annotation_api": { + "type": "java", + "licenses": ["notice"], # Apache 2.0 + "seal": None, + "targets": [ + "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", + ], + }, + # Google: Soy "com_google_template_soy": { "type": "java", @@ -233,7 +259,6 @@ DEPS = { "@com_google_inject_extensions_guice_assistedinject", "@com_google_inject_extensions_guice_multibindings", "@com_google_inject_guice", - "@com_google_protobuf//:protobuf_java", "@com_ibm_icu_icu4j", "@javax_inject", "@org_json", @@ -241,6 +266,7 @@ DEPS = { "@org_ow2_asm_analysis", "@org_ow2_asm_commons", "@org_ow2_asm_util", + "@com_google_protobuf//:protobuf_java", ], "inject": "\n".join([ ("java_binary(\n" + diff --git a/defs/toolchain/backend.bzl b/defs/toolchain/backend.bzl index 72b588849..2d20042dd 100644 --- a/defs/toolchain/backend.bzl +++ b/defs/toolchain/backend.bzl @@ -4,6 +4,7 @@ load( _jdk_binary = "jdk_binary", _jdk_library = "jdk_library", _micronaut_library = "micronaut_library", + _micronaut_service = "micronaut_service", _micronaut_controller = "micronaut_controller", _micronaut_application = "micronaut_application", _micronaut_native_configset = "micronaut_native_configset", @@ -41,6 +42,7 @@ jdk_binary = _jdk_binary jdk_library = _jdk_library micronaut_test = _micronaut_test micronaut_library = _micronaut_library +micronaut_service = _micronaut_service micronaut_controller = _micronaut_controller micronaut_application = _micronaut_application micronaut_native_configset = _micronaut_native_configset diff --git a/defs/toolchain/java/plugins/BUILD.bazel b/defs/toolchain/java/plugins/BUILD.bazel index 8394f4390..7c714d826 100644 --- a/defs/toolchain/java/plugins/BUILD.bazel +++ b/defs/toolchain/java/plugins/BUILD.bazel @@ -17,12 +17,14 @@ load( java_library( name = "micronaut-inject", exports = [ + "@javax_annotation_api", maven("io.micronaut:micronaut-core"), maven("io.micronaut:micronaut-inject"), maven("io.micronaut:micronaut-inject-java"), maven("io.micronaut:micronaut-validation"), ], runtime_deps = [ + "@javax_annotation_api", maven("io.micronaut:micronaut-core"), maven("io.micronaut:micronaut-inject"), maven("io.micronaut:micronaut-inject-java"), @@ -31,20 +33,6 @@ java_library( ] ) -java_library( - name = "dagger_compiler", - exports = ["//external:jar/com/google/dagger/dagger_compiler"], - runtime_deps = [ - ":dagger", - ":dagger_producers", - "//third_party/java/com/google/code/findbugs:jsr305", - "//third_party/java/com/google/googlejavaformat:google_java_format", - "//third_party/java/com/google/guava", - "//third_party/java/com/squareup:javapoet", - "//third_party/java/javax/inject:javax_inject", - ], -) - java_plugin( name = "micronaut-beans", generates_api = True, diff --git a/defs/toolchain/java/repos.bzl b/defs/toolchain/java/repos.bzl index a4ccb1733..b32cf1e5d 100644 --- a/defs/toolchain/java/repos.bzl +++ b/defs/toolchain/java/repos.bzl @@ -19,17 +19,19 @@ load( "GRAALVM_VERSION", ) +FETCH_SOURCES = True +STRICT_DEPENDENCIES = True ASM_VERSION = "7.0" SLF4J_VERSION = "1.7.26" -ANNOTATIONS_VERSION = "1.3.2" -SOY_VERSION = "2019-10-08" -GUAVA_VERSION = "28.2-jre" -FINDBUGS_VERSION = "3.0.2" PROTOBUF_VERSION = "3.11.4" +GRPC_JAVA_VERSION = "1.26.0" +OPENTRACING_VERSION = "0.2.1" + MICRONAUT_VERSION = "1.3.1" +MICRONAUT_GRPC_VERSION = "1.1.1" MICRONAUT_TEST_VERSION = "1.1.2" MICRONAUT_REDIS_VERSION = "1.2.0" MICRONAUT_SECURITY_VERSION = "1.3.0" @@ -45,12 +47,15 @@ REPOSITORIES = [ BUILD_ARTIFACTS = [ "org.ow2.asm:asm:%s" % ASM_VERSION, "org.slf4j:slf4j-api:%s" % SLF4J_VERSION, - "javax.annotation:javax.annotation-api:%s" % ANNOTATIONS_VERSION, ] MICRONAUT_BUILD_ARTIFACTS = [ - "com.google.guava:guava:%s" % GUAVA_VERSION, - "com.google.code.findbugs:jsr305:%s" % FINDBUGS_VERSION, + "io.grpc:grpc-core:%s" % GRPC_JAVA_VERSION, + "io.grpc:grpc-auth:%s" % GRPC_JAVA_VERSION, + "io.grpc:grpc-api:%s" % GRPC_JAVA_VERSION, + "io.grpc:grpc-stub:%s" % GRPC_JAVA_VERSION, + "io.grpc:grpc-context:%s" % GRPC_JAVA_VERSION, + "io.grpc:grpc-protobuf:%s" % GRPC_JAVA_VERSION, "com.google.protobuf:protobuf-java:%s" % PROTOBUF_VERSION, "io.micronaut:micronaut-aop:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-core:%s" % MICRONAUT_VERSION, @@ -64,13 +69,27 @@ MICRONAUT_BUILD_ARTIFACTS = [ "io.micronaut:micronaut-http-server-netty:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-graal:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-views:%s" % MICRONAUT_VERSION, + "io.micronaut:micronaut-views-soy:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-router:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-session:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-tracing:%s" % MICRONAUT_VERSION, "io.micronaut:micronaut-security:%s" % MICRONAUT_SECURITY_VERSION, "io.micronaut:micronaut-multitenancy:%s" % MICRONAUT_VERSION, + "io.micronaut.grpc:micronaut-grpc-runtime:%s" % MICRONAUT_GRPC_VERSION, + "io.micronaut.grpc:micronaut-grpc-annotation:%s" % MICRONAUT_GRPC_VERSION, + "io.micronaut.grpc:micronaut-protobuff-support:%s" % MICRONAUT_GRPC_VERSION, "io.micronaut.configuration:micronaut-redis-lettuce:%s" % MICRONAUT_REDIS_VERSION, - maven.artifact("com.google.template", "soy", SOY_VERSION, neverlink = True), + + maven.artifact("io.micronaut", "micronaut-views", MICRONAUT_VERSION, exclusions = [ + maven.exclusion( + artifact = "types", + group = "com.google.common.html.types", + ), + maven.exclusion( + artifact = "soy", + group = "com.google.template", + ), + ]), ] RUNTIME_ARTIFACTS = [ @@ -80,6 +99,7 @@ RUNTIME_ARTIFACTS = [ MICRONAUT_RUNTIME_ARTIFACTS = [ "io.micronaut:micronaut-runtime:%s" % MICRONAUT_VERSION, + "io.opentracing.contrib:opentracing-grpc:%s" % OPENTRACING_VERSION, ] TEST_ARTIFACTS = [ @@ -106,8 +126,24 @@ def _gust_java_deps(micronaut = True): maven_install( artifacts = artifacts, repositories = REPOSITORIES, + fetch_sources = FETCH_SOURCES, maven_install_json = "@gust//:maven_install.json", generate_compat_repositories = True, + strict_visibility = STRICT_DEPENDENCIES, + excluded_artifacts = [ + "com.google.template:soy", + "com.google.common.html.types:types", + ], + override_targets = { + "com.google.guava:guava": "@com_google_guava", + "com.google.template:soy": "@com_google_template_soy", + "com.google.common.html.types:types": "@com_google_template_soy", + "com.google.code:gson": "@com_google_code_gson", + "com.google.code.findbugs:jsr305": "@com_google_code_findbugs_jsr305", + "com.google.closure:stylesheets": "@com_google_closure_stylesheets", + "javax.inject:javax.inject": "@javax_inject", + "javax.annotation:javax.annotation-api": "@javax_annotation_api", + }, ) diff --git a/defs/toolchain/java/rules.bzl b/defs/toolchain/java/rules.bzl index d16c8d829..390156fb8 100644 --- a/defs/toolchain/java/rules.bzl +++ b/defs/toolchain/java/rules.bzl @@ -39,6 +39,7 @@ load( load( "//defs/toolchain:schema.bzl", + "GRPCJAVA_POSTFIX_", "JAVAPROTO_POSTFIX_", "CLOSUREPROTO_POSTFIX_", ) @@ -56,12 +57,15 @@ load( INJECTED_MICRONAUT_DEPS = [ + "@javax_inject", + "@javax_annotation_api", "@gust//java:framework", "@gust//defs/toolchain/java/plugins:micronaut", - maven("com.google.guava:guava"), - maven("com.google.template:soy"), + "@com_google_guava", + "@com_google_template_soy", + "@com_google_common_html_types", + "@com_google_code_findbugs_jsr305", maven("com.google.protobuf:protobuf-java"), - maven("com.google.code.findbugs:jsr305"), maven("io.micronaut:micronaut-aop"), maven("io.micronaut:micronaut-core"), maven("io.micronaut:micronaut-http"), @@ -73,7 +77,24 @@ INJECTED_MICRONAUT_DEPS = [ maven("io.micronaut:micronaut-http-server-netty"), maven("io.micronaut:micronaut-graal"), maven("io.micronaut:micronaut-views"), + maven("io.micronaut:micronaut-views-soy"), maven("io.micronaut:micronaut-router"), + maven("io.micronaut:micronaut-tracing"), + maven("io.micronaut:micronaut-session"), + maven("io.micronaut:micronaut-security"), + maven("io.micronaut:micronaut-multitenancy"), +] + +INJECTED_MICRONAUT_GRPC_DEPS = [ + maven("io.grpc:grpc-core"), + maven("io.grpc:grpc-auth"), + maven("io.grpc:grpc-api"), + maven("io.grpc:grpc-stub"), + maven("io.grpc:grpc-context"), + maven("io.grpc:grpc-protobuf"), + maven("io.micronaut.grpc:micronaut-grpc-runtime"), + maven("io.micronaut.grpc:micronaut-grpc-annotation"), + maven("io.micronaut.grpc:micronaut-protobuff-support"), ] INJECTED_MICRONAUT_RUNTIME_DEPS = [ @@ -210,7 +231,6 @@ def _micronaut_controller(name, deps = [], protos = [], templates = [], - proto_deps = [], runtime_deps = [], data = [], **kwargs): @@ -223,6 +243,35 @@ def _micronaut_controller(name, srcs = srcs, proto_deps = protos, templates = templates, + deps = (deps or []), + runtime_deps = runtime_deps, + data = data, + **kwargs + ) + + + +def _micronaut_service(name, + srcs, + deps = [], + protos = [], + services = [], + templates = [], + runtime_deps = [], + data = [], + **kwargs): + + """ Wraps a Micronaut library with dependencies for services via gRPC. """ + + _micronaut_library( + name = name, + srcs = srcs, + proto_deps = protos + services, + templates = templates, + deps = (deps or []) + [ + ("%s-%s" % (svc, GRPCJAVA_POSTFIX_)) + for svc in services + ] + INJECTED_MICRONAUT_GRPC_DEPS, runtime_deps = runtime_deps, data = data, **kwargs @@ -262,6 +311,7 @@ def _micronaut_application(name, image_format = "OCI", srcs = [], controllers = [], + services = [], tag = None, deps = None, proto_deps = [], @@ -279,10 +329,10 @@ def _micronaut_application(name, computed_jvm_flags = _annotate_jvm_flags([i for i in jvm_flags], defs) if len(srcs) > 0: - computed_deps = _dedupe_deps((deps or []) + INJECTED_MICRONAUT_DEPS + controllers) + computed_deps = _dedupe_deps((deps or []) + INJECTED_MICRONAUT_DEPS + controllers + services) computed_image_deps = _dedupe_deps((deps or []) + INJECTED_MICRONAUT_DEPS) computed_image_layers = _dedupe_deps(( - INJECTED_MICRONAUT_RUNTIME_DEPS + [template_loader] + controllers)) + INJECTED_MICRONAUT_RUNTIME_DEPS + [template_loader] + controllers + services)) computed_runtime_deps = [template_loader] if inject_main: @@ -294,6 +344,7 @@ def _micronaut_application(name, computed_runtime_deps = _dedupe_deps( (deps or []) + INJECTED_MICRONAUT_DEPS + + services + controllers + [ maven("io.micronaut:micronaut-runtime"), ] + [template_loader] + [("%s-%s" % ( @@ -334,7 +385,7 @@ def _micronaut_application(name, resource_jars = [ ("%s-lib" % r) for r in native_configsets ], - resource_strip_prefix = "java/gust/", + resource_strip_prefix = "java/gust" in config and "java/gust/" or None, ) if native: @@ -431,6 +482,7 @@ ensure_types_ = _ensure_types jdk_binary = _jdk_binary jdk_library = _jdk_library micronaut_library = _micronaut_library +micronaut_service = _micronaut_service micronaut_controller = _micronaut_controller micronaut_application = _micronaut_application micronaut_native_configset = _micronaut_native_configset diff --git a/defs/toolchain/python/rules.bzl b/defs/toolchain/python/rules.bzl index f654e013b..1f8255aef 100644 --- a/defs/toolchain/python/rules.bzl +++ b/defs/toolchain/python/rules.bzl @@ -5,21 +5,21 @@ load( _py_library = "py_library", ) -load( - "@py//:requirements.bzl", - _requirement = "requirement", -) +#load( +# "@py//:requirements.bzl", +# _requirement = "requirement", +#) -load( - "@werkzeug//:requirements.bzl", - _werkzeug_requirement = "requirement", -) +#load( +# "@werkzeug//:requirements.bzl", +# _werkzeug_requirement = "requirement", +#) -WERKZEUG_DEPS = [ - _werkzeug_requirement("werkzeug"), - _requirement("protobuf"), -] +#WERKZEUG_DEPS = [ +# _werkzeug_requirement("werkzeug"), +# _requirement("protobuf"), +#] def _werkzeug_library(name, @@ -29,11 +29,11 @@ def _werkzeug_library(name, """ Python library, containing some piece of code, which is used in conjunction with a Werkzeug-based backend. """ - _py_library( - name = name, - srcs = srcs, - deps = (deps + WERKZEUG_DEPS), - ) +# _py_library( +# name = name, +# srcs = srcs, +# deps = (deps + WERKZEUG_DEPS), +# ) def _werkzeug_application(name, @@ -43,13 +43,13 @@ def _werkzeug_application(name, """ Wrap a Python library as a Werkzeug application entrypoint, with injected dependencies for Werkzeug, Redis, Soy, Protobuf, gRPC, and so on. """ - _py_binary( - name = name, - srcs = [entry_point], - main = entry_point, - deps = (deps + WERKZEUG_DEPS), - python_version = "PY3", - ) +# _py_binary( +# name = name, +# srcs = [entry_point], +# main = entry_point, +# deps = (deps + WERKZEUG_DEPS), +# python_version = "PY3", +# ) py_binary = _py_binary diff --git a/defs/toolchain/schema.bzl b/defs/toolchain/schema.bzl index 6151d23b8..86f98df97 100644 --- a/defs/toolchain/schema.bzl +++ b/defs/toolchain/schema.bzl @@ -10,8 +10,14 @@ load( _proto_library="proto_library" ) +load( + "@io_grpc_java//:java_grpc_library.bzl", + _java_grpc_library = "java_grpc_library" +) + JAVAPROTO_POSTFIX_ = "java_proto" CLOSUREPROTO_POSTFIX_ = "closure_proto" +GRPCJAVA_POSTFIX_ = "grpc_java" _PROTO_ROOT = "/proto" _native_proto = _proto_library @@ -20,11 +26,16 @@ _native_java_proto = native.java_proto_library INJECTED_PROTO_DEPS = [ - "//proto/core:Datamodel", + str(Label("@gust//gust/core:datamodel")), +] + +INJECTED_SERVICE_DEPS = [ + str(Label("@gust//gust/api:services")), + str(Label("@safe_html_types//:proto")), ] -def __declare_lang_protos(name, internal, kwargs): +def __declare_lang_protos(name, internal, service, kwargs): """ Declare Java and CC proto libraries. """ @@ -36,18 +47,19 @@ def __declare_lang_protos(name, internal, kwargs): ) -def __declare_native(name, internal, kwargs): +def __declare_native(name, internal, service, kwargs): """ Declare a target as a native proto library. """ kwargs["name"] = name if not internal: - kwargs["deps"] = kwargs.get("deps", []) + INJECTED_PROTO_DEPS + kwargs["deps"] = kwargs.get("deps", []) + INJECTED_PROTO_DEPS + ( + service and INJECTED_SERVICE_DEPS or []) _native_proto( **kwargs ) -def __declare_closure_proto(name, internal, kwargs): +def __declare_closure_proto(name, internal, service, kwargs): """ Declare a target as a Closure proto library. """ @@ -58,6 +70,7 @@ def __declare_closure_proto(name, internal, kwargs): **ckwargs ) + def _proto(name, _internal = False, **kwargs): @@ -73,9 +86,9 @@ def _proto(name, :returns: Nothing - defines rules instead. """ - __declare_native(name, _internal, kwargs) - __declare_closure_proto(name, _internal, kwargs) - __declare_lang_protos(name, _internal, kwargs) + __declare_native(name, _internal, False, kwargs) + __declare_closure_proto(name, _internal, False, kwargs) + __declare_lang_protos(name, _internal, False, kwargs) def _module(name, @@ -91,10 +104,35 @@ def _module(name, :returns: Nothing - defines rules instead. """ - __declare_native(name, _internal, kwargs) - __declare_closure_proto(name, _internal, kwargs) - __declare_lang_protos(name, _internal, kwargs) + __declare_native(name, _internal, False, kwargs) + __declare_closure_proto(name, _internal, False, kwargs) + __declare_lang_protos(name, _internal, False, kwargs) + + +def _service(name, + flavor = "normal", + **kwargs): + + """ + Define a service, contained in a Protobuf file, potentially with models to carry along as well. This injects + additional dependencies and prepares targets related to RPC services. + + :param name: Name of the target. + :param kwargs: Keyword arguments to pass along. + """ + + __declare_native(name, False, True, kwargs) + __declare_closure_proto(name, False, True, kwargs) + __declare_lang_protos(name, False, True, kwargs) + + _java_grpc_library( + name = "%s-%s" % (name, GRPCJAVA_POSTFIX_), + srcs = [":%s" % name], + deps = [":%s-%s" % (name, JAVAPROTO_POSTFIX_)], + flavor = flavor, + ) model = _proto +service = _service model_package = _module diff --git a/defs/toolchain/soy/rules.bzl b/defs/toolchain/soy/rules.bzl index 288f7f9ad..cb8d65c98 100644 --- a/defs/toolchain/soy/rules.bzl +++ b/defs/toolchain/soy/rules.bzl @@ -1,4 +1,3 @@ - load( "@io_bazel_rules_closure//closure/private/rules:soy_library.bzl", _soy_library = "soy_library", @@ -24,6 +23,14 @@ load( _PYTHON_TEMPLATES = "PYTHON_TEMPLATES", ) +INJECTED_SSR_SOY_DEPS = [ + "//gust/page:page_soy", +] + +INJECTED_SSR_PROTO_DEPS = [ + "//gust/page:page_proto", +] + def _template_library(name, srcs, @@ -36,6 +43,7 @@ def _template_library(name, js = _JS_TEMPLATES, java = _JAVA_TEMPLATES, python = _PYTHON_TEMPLATES, + java_package = None, precompile = True): """ Declare a universal, cross-platform template library, making use of the built-in @@ -73,7 +81,36 @@ def _template_library(name, [("%s-java_jcompiled" % p) for p in soy_deps]), proto_deps = [("%s-%s" % (p, CLOSUREPROTO_POSTFIX_)) for p in proto_deps], precompile = precompile, + java_package = java_package, ) +def _ssr_library(name, + srcs, + soy_deps = [], + js_deps = [], + py_deps = [], + java_deps = [], + proto_deps = [], + style_deps = [], + java = _JAVA_TEMPLATES, + python = _PYTHON_TEMPLATES, + java_package = None, + precompile = True, + **kwargs): + + """ Declare a template for use exclusively during SSR (Server-Side Rendering). This + also injects additional SSR-related dependencies automatically. """ + + _template_library( + name = name, + srcs = srcs, + soy_deps = (soy_deps or []) + INJECTED_SSR_SOY_DEPS, + proto_deps = (proto_deps or []) + INJECTED_SSR_PROTO_DEPS, + java_package = None, + js = False, + ) + + +ssr_library = _ssr_library template_library = _template_library diff --git a/defs/toolchain/templates.bzl b/defs/toolchain/templates.bzl index dad0d74c4..cd633a13e 100644 --- a/defs/toolchain/templates.bzl +++ b/defs/toolchain/templates.bzl @@ -1,8 +1,10 @@ load( "//defs/toolchain/soy:rules.bzl", + _ssr_library = "ssr_library", _template_library = "template_library", ) +ssr_library = _ssr_library template_library = _template_library diff --git a/external/proto_common.bzl b/external/proto_common.bzl index 889b2b72c..ddca044a1 100644 --- a/external/proto_common.bzl +++ b/external/proto_common.bzl @@ -1,4 +1,3 @@ - package( default_visibility = ["//visibility:public"], ) @@ -71,3 +70,21 @@ proto_library( name = "type_timeofday", srcs = ["google/type/timeofday.proto"], ) + +# RPC Types +proto_library( + name = "rpc_code", + srcs = ["google/rpc/code.proto"], +) + +proto_library( + name = "rpc_error_details", + srcs = ["google/rpc/error_details.proto"], + deps = ["@com_google_protobuf//:duration_proto"], +) + +proto_library( + name = "rpc_status", + srcs = ["google/rpc/status.proto"], + deps = ["@com_google_protobuf//:any_proto"], +) diff --git a/external/safe_html_types.bzl b/external/safe_html_types.bzl new file mode 100644 index 000000000..f7aba1a0e --- /dev/null +++ b/external/safe_html_types.bzl @@ -0,0 +1,13 @@ +package( + default_visibility = ["//visibility:public"], +) + +load("@rules_proto//proto:defs.bzl", "proto_library") + + +# Safe HTML Types +proto_library( + name = "proto", + srcs = ["proto/src/main/protobuf/webutil/html/types/html.proto"], + strip_import_prefix = "proto/src/main/protobuf", +) diff --git a/proto/BUILD.bazel b/gust/BUILD.bazel similarity index 100% rename from proto/BUILD.bazel rename to gust/BUILD.bazel diff --git a/gust/api/BUILD.bazel b/gust/api/BUILD.bazel new file mode 100644 index 000000000..08b5fb5ee --- /dev/null +++ b/gust/api/BUILD.bazel @@ -0,0 +1,40 @@ +package( + default_visibility = ["//visibility:public"], +) + +load( + "//defs/toolchain:schema.bzl", + "model", + "model_package", +) + +## API/Services +model( + name = "openapiv2", + srcs = ["openapiv2.proto"], + deps = [ + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:struct_proto", + ], + _internal = True, +) + +model( + name = "services", + srcs = ["services.proto"], + deps = [ + ":openapiv2", + "@com_google_protobuf//:descriptor_proto", + ], + _internal = True, +) + + +model_package( + name = "api", + deps = [ + ":openapiv2", + ":services", + ], + _internal = True, +) diff --git a/gust/api/openapiv2.proto b/gust/api/openapiv2.proto new file mode 100644 index 000000000..00530a4c3 --- /dev/null +++ b/gust/api/openapiv2.proto @@ -0,0 +1,379 @@ +/** + * Specifies annotation-consumed structures specifically dealing with OpenAPI v2/Swagger definitions. This source file + * was inlined from `grpc-gateway` and modified (see `LICENSES/grpc-gateway.txt`). + */ + +syntax = "proto3"; + +package api.services.openapiv2; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "OpenAPIv2"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::API"; +option java_package = "tools.elide.api"; +option csharp_namespace = "Elide.API"; +option go_package = "github.com/elide-tools/elide/api"; + +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; + + +// `Swagger` is a representation of OpenAPI v2 specification's Swagger object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#swaggerObject +message Swagger { + string swagger = 1; + Info info = 2; + string host = 3; + + // `base_path` is the common prefix path used on all API endpoints (ie. /api, /v1, etc.). By adding this, + // it allows you to remove this portion from the path endpoints in your Swagger file making them easier + // to read. Note that using `base_path` does not change the endpoint paths that are generated in the resulting + // Swagger file. If you wish to use `base_path` with relatively generated Swagger paths, the + // `base_path` prefix must be manually removed from your `google.api.http` paths and your code changed to + // serve the API from the `base_path`. + string base_path = 4; + enum SwaggerScheme { + UNKNOWN = 0; + HTTP = 1; + HTTPS = 2; + WS = 3; + WSS = 4; + } + repeated SwaggerScheme schemes = 5; + repeated string consumes = 6; + repeated string produces = 7; + // field 8 is reserved for 'paths'. + reserved 8; + // field 9 is reserved for 'definitions', which at this time are already + // exposed as and customizable as proto messages. + reserved 9; + map responses = 10; + SecurityDefinitions security_definitions = 11; + repeated SecurityRequirement security = 12; + // field 13 is reserved for 'tags', which are supposed to be exposed as and + // customizable as proto services. + // service objects into OpenAPI v2 Tag objects. + reserved 13; + ExternalDocumentation external_docs = 14; + map extensions = 15; +} + +// `Operation` is a representation of OpenAPI v2 specification's Operation object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#operationObject +message Operation { + repeated string tags = 1; + string summary = 2; + string description = 3; + ExternalDocumentation external_docs = 4; + string operation_id = 5; + repeated string consumes = 6; + repeated string produces = 7; + // field 8 is reserved for 'parameters'. + reserved 8; + map responses = 9; + repeated string schemes = 10; + bool deprecated = 11; + repeated SecurityRequirement security = 12; + map extensions = 13; +} + +// `Response` is a representation of OpenAPI v2 specification's Response object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#responseObject +// +message Response { + // `Description` is a short description of the response. + // GFM syntax can be used for rich text representation. + string description = 1; + // `Schema` optionally defines the structure of the response. + // If `Schema` is not provided, it means there is no content to the response. + Schema schema = 2; + // field 3 is reserved for 'headers'. + reserved 3; + // `Examples` gives per-mimetype response examples. + // See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#example-object + map examples = 4; + map extensions = 5; +} + +// `Info` is a representation of OpenAPI v2 specification's Info object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#infoObject +message Info { + string title = 1; + string description = 2; + string terms_of_service = 3; + Contact contact = 4; + License license = 5; + string version = 6; + map extensions = 7; +} + +// `Contact` is a representation of OpenAPI v2 specification's Contact object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#contactObject +message Contact { + string name = 1; + string url = 2; + string email = 3; +} + +// `License` is a representation of OpenAPI v2 specification's License object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#licenseObject +message License { + // Required. The license name used for the API. + string name = 1; + // A URL to the license used for the API. + string url = 2; +} + +// `ExternalDocumentation` is a representation of OpenAPI v2 specification's +// ExternalDocumentation object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#externalDocumentationObject +message ExternalDocumentation { + string description = 1; + string url = 2; +} + +// `Schema` is a representation of OpenAPI v2 specification's Schema object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject +message Schema { + JSONSchema json_schema = 1; + string discriminator = 2; + bool read_only = 3; + // field 4 is reserved for 'xml'. + reserved 4; + ExternalDocumentation external_docs = 5; + google.protobuf.Any example = 6; +} + +// `JSONSchema` represents properties from JSON Schema taken, and as used, in +// the OpenAPI v2 spec. +// +// This includes changes made by OpenAPI v2. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject +// +// See also: https://cswr.github.io/JsonSchema/spec/basic_types/, +// https://github.com/json-schema-org/json-schema-spec/blob/master/schema.json +message JSONSchema { + // field 1 is reserved for '$id', omitted from OpenAPI v2. + reserved 1; + // field 2 is reserved for '$schema', omitted from OpenAPI v2. + reserved 2; + // Ref is used to define an external reference to include in the message. + // This could be a fully qualified proto message reference, and that type must be imported + // into the protofile. If no message is identified, the Ref will be used verbatim in + // the output. + // For example: + // `ref: ".google.protobuf.Timestamp"`. + string ref = 3; + // field 4 is reserved for '$comment', omitted from OpenAPI v2. + reserved 4; + string title = 5; + string description = 6; + string default = 7; + bool read_only = 8; + // field 9 is reserved for 'examples', which is omitted from OpenAPI v2 in favor of 'example' field. + reserved 9; + double multiple_of = 10; + double maximum = 11; + bool exclusive_maximum = 12; + double minimum = 13; + bool exclusive_minimum = 14; + uint64 max_length = 15; + uint64 min_length = 16; + string pattern = 17; + // field 18 is reserved for 'additionalItems', omitted from OpenAPI v2. + reserved 18; + // field 19 is reserved for 'items', but in OpenAPI-specific way. + reserved 19; + uint64 max_items = 20; + uint64 min_items = 21; + bool unique_items = 22; + // field 23 is reserved for 'contains', omitted from OpenAPI v2. + reserved 23; + uint64 max_properties = 24; + uint64 min_properties = 25; + repeated string required = 26; + // field 27 is reserved for 'additionalProperties', but in OpenAPI-specific way. + reserved 27; + // field 28 is reserved for 'definitions', omitted from OpenAPI v2. + reserved 28; + // field 29 is reserved for 'properties', but in OpenAPI-specific way. + reserved 29; + // following fields are reserved, as the properties have been omitted from OpenAPI v2: + // patternProperties, dependencies, propertyNames, const + reserved 30 to 33; + // Items in 'array' must be unique. + repeated string array = 34; + + enum JSONSchemaSimpleTypes { + UNKNOWN = 0; + ARRAY = 1; + BOOLEAN = 2; + INTEGER = 3; + NULL = 4; + NUMBER = 5; + OBJECT = 6; + STRING = 7; + } + + repeated JSONSchemaSimpleTypes type = 35; + // following fields are reserved, as the properties have been omitted from OpenAPI v2: + // format, contentMediaType, contentEncoding, if, then, else + reserved 36 to 41; + // field 42 is reserved for 'allOf', but in OpenAPI-specific way. + reserved 42; + // following fields are reserved, as the properties have been omitted from OpenAPI v2: + // anyOf, oneOf, not + reserved 43 to 45; +} + +// `Tag` is a representation of OpenAPI v2 specification's Tag object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#tagObject +message Tag { + // field 1 is reserved for 'name'. In our generator, this is (to be) extracted + // from the name of proto service, and thus not exposed to the user, as + // changing tag object's name would break the link to the references to the + // tag in individual operation specifications. + // + // global Tag object, then use that name to reference the tag throughout the + // Swagger file. + reserved 1; + string description = 2; + ExternalDocumentation external_docs = 3; +} + +// `SecurityDefinitions` is a representation of OpenAPI v2 specification's +// Security Definitions object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityDefinitionsObject +// +// A declaration of the security schemes available to be used in the +// specification. This does not enforce the security schemes on the operations +// and only serves to provide the relevant details for each scheme. +message SecurityDefinitions { + // A single security scheme definition, mapping a "name" to the scheme it defines. + map security = 1; +} + +// `SecurityScheme` is a representation of OpenAPI v2 specification's +// Security Scheme object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securitySchemeObject +// +// Allows the definition of a security scheme that can be used by the +// operations. Supported schemes are basic authentication, an API key (either as +// a header or as a query parameter) and OAuth2's common flows (implicit, +// password, application and access code). +message SecurityScheme { + // Required. The type of the security scheme. Valid values are "basic", + // "apiKey" or "oauth2". + enum Type { + TYPE_INVALID = 0; + TYPE_BASIC = 1; + TYPE_API_KEY = 2; + TYPE_OAUTH2 = 3; + } + + // Required. The location of the API key. Valid values are "query" or "header". + enum In { + IN_INVALID = 0; + IN_QUERY = 1; + IN_HEADER = 2; + } + + // Required. The flow used by the OAuth2 security scheme. Valid values are + // "implicit", "password", "application" or "accessCode". + enum Flow { + FLOW_INVALID = 0; + FLOW_IMPLICIT = 1; + FLOW_PASSWORD = 2; + FLOW_APPLICATION = 3; + FLOW_ACCESS_CODE = 4; + } + + // Required. The type of the security scheme. Valid values are "basic", + // "apiKey" or "oauth2". + Type type = 1; + // A short description for security scheme. + string description = 2; + // Required. The name of the header or query parameter to be used. + // + // Valid for apiKey. + string name = 3; + // Required. The location of the API key. Valid values are "query" or "header". + // + // Valid for apiKey. + In in = 4; + // Required. The flow used by the OAuth2 security scheme. Valid values are + // "implicit", "password", "application" or "accessCode". + // + // Valid for oauth2. + Flow flow = 5; + // Required. The authorization URL to be used for this flow. This SHOULD be in + // the form of a URL. + // + // Valid for oauth2/implicit and oauth2/accessCode. + string authorization_url = 6; + // Required. The token URL to be used for this flow. This SHOULD be in the + // form of a URL. + // + // Valid for oauth2/password, oauth2/application and oauth2/accessCode. + string token_url = 7; + // Required. The available scopes for the OAuth2 security scheme. + // + // Valid for oauth2. + Scopes scopes = 8; + map extensions = 9; +} + +// `SecurityRequirement` is a representation of OpenAPI v2 specification's +// Security Requirement object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityRequirementObject +// +// Lists the required security schemes to execute this operation. The object can +// have multiple security schemes declared in it which are all required (that +// is, there is a logical AND between the schemes). +// +// The name used for each property MUST correspond to a security scheme +// declared in the Security Definitions. +message SecurityRequirement { + // If the security scheme is of type "oauth2", then the value is a list of + // scope names required for the execution. For other security scheme types, + // the array MUST be empty. + message SecurityRequirementValue { + repeated string scope = 1; + } + // Each name must correspond to a security scheme which is declared in + // the Security Definitions. If the security scheme is of type "oauth2", + // then the value is a list of scope names required for the execution. + // For other security scheme types, the array MUST be empty. + map security_requirement = 1; +} + +// `Scopes` is a representation of OpenAPI v2 specification's Scopes object. +// +// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#scopesObject +// +// Lists the available scopes for an OAuth2 security scheme. +message Scopes { + // Maps between a name of a scope to a short description of it (as the value + // of the property). + map scope = 1; +} diff --git a/gust/api/services.proto b/gust/api/services.proto new file mode 100644 index 000000000..c2c0f38f0 --- /dev/null +++ b/gust/api/services.proto @@ -0,0 +1,65 @@ +/** + * Specifies annotations that modify or otherwise deal with service definitions, which are used to generate APIs through + * tools like gRPC. This source file was inlined from `grpc-gateway` and modified (see `LICENSES/grpc-gateway.txt`). + */ +syntax = "proto3"; + +package api.services; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "Services"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::API"; +option java_package = "tools.elide.api"; +option csharp_namespace = "Elide.API"; +option go_package = "github.com/elide-tools/elide/api"; + +import "google/protobuf/descriptor.proto"; +import "gust/api/openapiv2.proto"; + + +extend google.protobuf.FileOptions { + // ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project. + // + // All IDs are the same, as assigned. It is okay that they are the same, as they extend + // different descriptor messages. + api.services.openapiv2.Swagger openapiv2_swagger = 1042; +} + +extend google.protobuf.MethodOptions { + // ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project. + // + // All IDs are the same, as assigned. It is okay that they are the same, as they extend + // different descriptor messages. + api.services.openapiv2.Operation openapiv2_operation = 1042; +} + +extend google.protobuf.MessageOptions { + // ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project. + // + // All IDs are the same, as assigned. It is okay that they are the same, as they extend + // different descriptor messages. + api.services.openapiv2.Schema openapiv2_schema = 1042; +} + +extend google.protobuf.ServiceOptions { + // ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project. + // + // All IDs are the same, as assigned. It is okay that they are the same, as they extend + // different descriptor messages. + api.services.openapiv2.Tag openapiv2_tag = 1042; +} + +extend google.protobuf.FieldOptions { + // ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project. + // + // All IDs are the same, as assigned. It is okay that they are the same, as they extend + // different descriptor messages. + api.services.openapiv2.JSONSchema openapiv2_field = 1042; +} diff --git a/gust/base/BUILD.bazel b/gust/base/BUILD.bazel new file mode 100644 index 000000000..16d58d430 --- /dev/null +++ b/gust/base/BUILD.bazel @@ -0,0 +1,38 @@ +package( + default_visibility = ["//visibility:public"], +) + +load( + "//defs/toolchain:schema.bzl", + "model", + "model_package", +) + +load( + "//defs/toolchain:templates.bzl", + "template_library", +) + +## Base Models +model( + name = "language_proto", + srcs = ["language.proto"], +) + + +model_package( + name = "base", + deps = [ + ":language_proto", + ], + _internal = True, +) + + +## Base Templates +template_library( + name = "language_soy", + srcs = ["language.soy"], + proto_deps = [":language_proto"], + java_package = "gust.core.language", +) diff --git a/gust/base/language.proto b/gust/base/language.proto new file mode 100644 index 000000000..1223f7b18 --- /dev/null +++ b/gust/base/language.proto @@ -0,0 +1,66 @@ +/** + * Defines basic framework structures related to modelling human language. These structures are renderable by the Soy + * templates stored alongside them, and are used for various things throughout the codebase. + */ +syntax = "proto3"; +package base; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "BaseLanguage"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::Base"; +option java_package = "tools.elide.base"; +option csharp_namespace = "Elide.Base"; +option go_package = "github.com/elide-tools/elide/base"; + + +// Specifies common/major languages present in software development or the open internet. This is not an exhaustive list +// and if you need to specify an entry that isn't present (without a code change), it is best to opt for the `iso_`- +// prefixed fields in `LanguageSpec`. +enum Language { + // Generic, unqualified reference to English. + ENGLISH = 0; + + // Traditional French. + FRENCH = 1; + + // Generic, unqualified reference to Spanish. + SPANISH = 2; + + // Generic, unqualified reference to Chinese. + CHINESE = 3; + + // Specific reference to Mandarin Chinese. + CHINESE_MANDARIN = 4; + + // Specific reference to Cantonese. + CHINESE_CANTONESE = 5; +} + +// Specifies a given language, along with a nationality for that language. +message LanguageSpec { + // Specifies a language either via the enumerated specifier, or the proper two-character ISO code for the language. + oneof selection { + // Enumerated language specifier. + Language language = 1; + + // Two-character ISO-standard language specifier (for example: "EN" for English, "FR" for French). Casing doesn't + // matter but upper-casing should be preferred for consistency. + string iso_language = 2; + } + + // Specifies an optional modifier for a given language `selection`. + oneof modifier { + // Two-character ISO-standard country code, used as a modifier for a language spec (i.e. the `us` in `en-us`). + string iso_country = 3; + + // Dialect to specify as part of this language spec, based on a simple two-character string. + string dialect = 4; + } +} diff --git a/gust/base/language.soy b/gust/base/language.soy new file mode 100644 index 000000000..4a8a8c9ec --- /dev/null +++ b/gust/base/language.soy @@ -0,0 +1,38 @@ + +{namespace gust.base} + + +/** + * Render a standard language specification into a text designation that includes both the language and the dialect. In + * many cases, the dialect is simply a country code. For example, a language specification with the main language set to + * `ENGLISH`, and a dialect of `US`, should produce `en-US`. + */ +{template .languageSpec kind="text"} + {@param spec: base.LanguageSpec} /** Specifies information about the language to render into string form. */ + + {let $resolvedLanguage kind="text"} + {switch $spec.language} + {case 0}en + {case 1}fr + {case 2}sp + {case 3}cn + {case 4}cn + {case 5}cn + {default}en + {/switch} + {/let} + {let $resolvedDialect kind="text"} + {if isNonnull($spec.dialect)} + {$spec.dialect} + {else} + US + {/if} + {/let} + {if isNonnull($resolvedLanguage)} + {if isNonnull($resolvedDialect)} + {$resolvedLanguage}-{$resolvedDialect} + {else} + {$resolvedLanguage} + {/if} + {/if} +{/template} diff --git a/proto/core/BUILD.bazel b/gust/core/BUILD.bazel similarity index 78% rename from proto/core/BUILD.bazel rename to gust/core/BUILD.bazel index 52f56ae3c..98fad0869 100644 --- a/proto/core/BUILD.bazel +++ b/gust/core/BUILD.bazel @@ -10,8 +10,8 @@ load( ## Core model( - name = "Datamodel", - srcs = ["Datamodel.proto"], + name = "datamodel", + srcs = ["datamodel.proto"], deps = ["@com_google_protobuf//:descriptor_proto"], _internal = True, ) @@ -19,6 +19,6 @@ model( model_package( name = "core", - deps = [":Datamodel"], + deps = [":datamodel"], _internal = True, ) diff --git a/proto/core/Datamodel.proto b/gust/core/datamodel.proto similarity index 89% rename from proto/core/Datamodel.proto rename to gust/core/datamodel.proto index 30f49fa43..9267989ec 100644 --- a/proto/core/Datamodel.proto +++ b/gust/core/datamodel.proto @@ -1,4 +1,3 @@ - /** * Specifies structures that relate to data modeling and the structure of the data. Enumerates collection mode and field * type, required status, and so on. Also includes field metadata (like summaries, descriptions, and so on). @@ -6,6 +5,20 @@ syntax = "proto3"; package core; +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "Datamodel"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::Core"; +option java_package = "tools.elide.core"; +option csharp_namespace = "Elide.Core"; +option go_package = "github.com/elide-tools/elide/core/datamodel;datamodel"; + import "google/protobuf/descriptor.proto"; @@ -75,11 +88,8 @@ enum FieldType { // Specifies the types an object may use when defining special objects. These types govern how an object is treated, // listed, and adapted throughout its lifecycle. enum DatapointType { - // The datamodel has no special type specified. - NO_TYPE = 0; - // The datamodel represents an object record. - OBJECT = 1; + OBJECT = 0; // The datamodel represents an event type. EVENT = 2; @@ -92,6 +102,17 @@ enum DatapointType { } +// Specifies a special role, if applicable, for a given enumerated type. Each selection governs some special behavior +// related to defined enums with APIs, databases, and so on. +enum EnumeratedType { + // Specifies a generic enumeration structure. + GENERIC_ENUMERATION = 0; + + // Specifies a structure which enumerates error states. + ERRORS = 1; +} + + // Options specified for a given datamodel point (which can be a message, a field, an enum, and so on), which describe // how the object or field may be validated in various circumstances, and how it should be handled with regard to // exposure visibility to invoking code. @@ -181,37 +202,34 @@ message FieldPersistenceOptions { // Field type, for special-case fields. FieldType type = 1; - // String description of this field included in schemas. - string description = 2; - // Summary for this field, which provides a narrative description. It should be suitable for use in external // circumstances, like documentation. - string summary = 3; + string summary = 2; // This item is a timestamp, and we would like it to be automatically updated each time the model that contains it is // modified in underlying storage. The field should be read-only. - bool stamp_update = 5; + bool stamp_update = 3; // This item is a timestamp, and we would like it to be automatically set when the model is created. After that point, // we would like this field to be read-only. - bool stamp_create = 6; + bool stamp_create = 4; // This field should not allow writes, but rather produce its value dynamically. Fields marked in this manner cannot // be set by external code at any point in time. - bool read_only = 7; + bool read_only = 5; // This field should allow writes when the model that contains it is written, but then, henceforth, the model should // not allow this field to be mutated. - bool immutable = 8; + bool immutable = 6; // This field should always be explicitly listed with a value, even if it is set to the default value. This function // is especially useful for enums with default values, when there is a desire to have consistent indexes. - bool explicit = 9; + bool explicit = 7; // Describes the visibility level of a given field in a tree of fields. This value applies recursively under message // fields on which it is applied. Depending on the visibility level active when data is deserialized or serialized, // certain data may be withheld corresponding to the invoking user or system's access level. - FieldVisibility visibility = 10; + FieldVisibility visibility = 8; } @@ -282,8 +300,10 @@ extend google.protobuf.EnumValueOptions { DatapointOptions value = 8007; } - extend google.protobuf.EnumOptions { + // Specifies a special role, if applicable, for a given enumerated type. + EnumeratedType enum_role = 9000; + // Settings that specify state for this enum value, including validation settings, as applicable. DatapointOptions enumeration = 9001; } diff --git a/gust/dom/BUILD.bazel b/gust/dom/BUILD.bazel new file mode 100644 index 000000000..d282d42d6 --- /dev/null +++ b/gust/dom/BUILD.bazel @@ -0,0 +1,15 @@ +package( + default_visibility = ["//visibility:public"], +) + +load( + "//defs/toolchain:templates.bzl", + "template_library", +) + + +template_library( + name = "assets_soy", + srcs = ["assets.soy"], + java_package = "gust.dom", +) diff --git a/gust/dom/assets.soy b/gust/dom/assets.soy new file mode 100644 index 000000000..b31389ece --- /dev/null +++ b/gust/dom/assets.soy @@ -0,0 +1,45 @@ + +{namespace gust.dom.assets} + + +/** + * Render a script asset link from a given `JavaScript` proto type. These style references are always made via URIs + * listed in HTML +{/template} + + +/** + * Render a stylesheet asset link from a given `Stylesheet` proto type. These style references are always made via URIs + * listed in HTML links. + */ +{template .stylesheet} + {@param sheet: trusted_resource_uri} /** URI at which to include the stylesheet. */ + {@param? media: string} /** Media attribute to specify for the stylesheet. */ + + {if isNonnull($sheet)} + + {/if} +{/template} diff --git a/gust/page/BUILD.bazel b/gust/page/BUILD.bazel new file mode 100644 index 000000000..c5244d689 --- /dev/null +++ b/gust/page/BUILD.bazel @@ -0,0 +1,48 @@ +package( + default_visibility = ["//visibility:public"], +) + +load( + "//defs/toolchain:schema.bzl", + "model", +) + +load( + "//defs/toolchain:templates.bzl", + "template_library", +) + + +## Page Models +model( + name = "media_proto", + srcs = ["media.proto"], +) + +model( + name = "semantic_proto", + srcs = ["semantic.proto"], + deps = [":media_proto"], +) + +model( + name = "page_proto", + srcs = ["page.proto"], + deps = [ + ":semantic_proto", + "//gust/base:language_proto", + "@safe_html_types//:proto", + ] +) + +## Page Templates +template_library( + name = "page_soy", + srcs = ["page.soy"], + java_package = "gust.page", + proto_deps = [":page_proto"], + soy_deps = [ + "//gust/base:language_soy", + "//gust/dom:assets_soy", + ] +) diff --git a/gust/page/media.proto b/gust/page/media.proto new file mode 100644 index 000000000..2cce0ea11 --- /dev/null +++ b/gust/page/media.proto @@ -0,0 +1,190 @@ +/** + * Structures that express and define page media assets, such as videos and images. Used by regular page context and + * also semantic metadata context. + */ +syntax = "proto3"; +package page; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "WebMedia"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::Page"; +option java_package = "tools.elide.page"; +option csharp_namespace = "Elide.Page"; +option go_package = "github.com/elide-tools/elide/page"; + + +// Enumerates known or supported video asset providers. +enum VideoProvider { + // Private hosting for a given video asset. + PRIVATE = 0; + + // YouTube hosting for a given video asset. + YOUTUBE = 1; + + // Vimeo hosting for a given video asset. + VIMEO = 2; +} + + +// Defines broad types of media that may be expressed. +enum MediaType { + // This media is an image asset of some kind. + IMAGE = 0; + + // This media is a video asset of some kind. + VIDEO = 1; + + // This media is an audio asset of some kind. + AUDIO = 2; + + // The media is a link to another asset or page of some kind. + LINK = 3; + + // The media is an arbitrary kind of digital document. + DOCUMENT = 4; +} + + +// Describes resolutions at which video assets may be made available. +enum VideoResolution { + // The video is available in low-res form. + LOW = 0; + + // The video is available in HD (720p/720i-1080p/1080i) form. + HD = 1; + + // The video is available in 4K Ultra HD (UHD). + UHD = 2; +} + + +// Defines the structure of attached content media, which is intended for emission in a given web page +// via some sort of render process, depending on the context in which this media is used. +message MediaAsset { + // Describes concrete information about a media link, attached to some web page or data point. + message Link { + // URI to consider for an attached media link. + string uri = 1; + + // Alternative text to display for this link, if applicable. + string alt = 2; + } + + // Describes concrete information about an image asset, attached to some web page or data point. + message Image { + // Describes information about an individual image asset, which is part of an attached image. + message ImageAsset { + // Specifies the intended resolution of this image asset. + float resolution = 1; + + // Specifies the kind of image attached as this asset. + string mime = 2; + + // Specifies the native width of this image asset. + uint64 width = 3; + + // Specifies the native height of this image asset. + uint64 height = 4; + + // Specifies the content, or content by reference, for this image. + oneof content { + // Raw Base64 content to be embedded directly in an image tag. + string b64 = 10; + + // URI to be used in reference to this image asset. + string uri = 20; + } + } + + // Concrete information regarding this image asset. + repeated ImageAsset asset = 1; + } + + // Describes concrete information about a video asset, attached to some web page or data point. + message Video { + // Describes information about an individual video asset, which is part of an attached video. + message VideoAsset { + // Resolutions at which a video might be available. + VideoResolution resolution = 1; + + // Image asset to be used as a thumbnail for this video asset. + Image thumb = 2; + + // URI where the video may be streamed or accessed. + string uri = 3; + } + + // Describes where the video may be streamed from, or accessed. + VideoProvider provider = 1; + + // Title to display for this video asset. + string title = 2; + + // Description for this video asset. + string description = 3; + + // Duration of the video asset, in milliseconds. + uint64 run_time = 4; + + // Describes the assets that back this video media. + repeated VideoAsset asset = 5; + } + + // Specifies information about a digital document of some kind, that is being referenced as an asset. + message Document { + // Enumerates common types of digital documents. + enum DocumentType { + // Default: generic document type. + GENERIC_DOCUMENT = 0; + + // Plain text document. + TEXT_PLAIN = 1; + + // Rich text document. + TEXT_RICH = 2; + + // Markdown-formatted document. + TEXT_MARKDOWN = 3; + + // HTML-formatted document. + TEXT_HTML = 4; + + // Comma Separated Values in text format. + TEXT_CSV = 5; + + // Portable Document Format. + PDF = 6; + + // Word (old format, extension `.doc`). + WORD_DOC = 7; + + // Word (new format, extension `.docx`). + WORD_DOCX = 8; + } + + // Specifies the type of document. + DocumentType type = 1; + } + + // Describes, in broad terms, the kind of media being attached. + MediaType kind = 1; + + // Specifies concrete information about the attached media asset. + oneof media { + // Describes concrete information about an attached media link. + Link link = 10; + + // Describes concrete information about an attached image. + Image image = 20; + + // Describes concrete information about an attached video. + Video video = 30; + } +} diff --git a/gust/page/page.proto b/gust/page/page.proto new file mode 100644 index 000000000..1d0223292 --- /dev/null +++ b/gust/page/page.proto @@ -0,0 +1,400 @@ +/** + * Defines structures related to "page context" - i.e. the typed base context for rendering pages server-side. These + * structures provide definitions for the page head, scripts appended to the body, and other page metadata. + */ +syntax = "proto3"; +package page; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "WebContext"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::Page"; +option java_package = "tools.elide.page"; +option csharp_namespace = "Elide.Page"; +option go_package = "github.com/elide-tools/elide/page"; + +import "webutil/html/types/html.proto"; + +import "gust/base/language.proto"; +import "gust/page/semantic.proto"; + + +// Defines the notion of a *Render Context* for server-side pages in Gust. This protocol message is filled out with data +// as configured by the developer (from `application.yml` and the active controller, as applicable) and provided as an +// injected value to all server-side render operations. +// +// When preparing context in Gust, adding a static script or stylesheet is done through `Context`. Setting page metadata +// like the title, keywords, and manifest - also all done through `Context`. This of course has the added benefit of +// being completely serializable, repeatable, and so on (i.e. all the benefits Protobuf brings). +// +// Major context modules include: +// - *Metadata*: Page-level metadata. +// - *OpenGraph*: Properties for OG tags. +// - *Twitter*: Properties for Twitter cards. +// - *AppManifest*: Information to link or derive a web application manifest. +// - *Styles*: Stylesheets and inline head-injected styles ("lifted styles"). +// - *Scripts*: Scripts to include, and inline head-injected logic ("lifted JS"). +message Context { + // Defines the structure of well-known page-level metadata, including the page title, description, + // keywords, and so on. + message Metadata { + // Tags for the Facebook Crawler. + message OpenGraph { + // Name of the website. + string site_name = 1; + + // Title of the page. + string title = 2; + + // Description of the page. + string description = 3; + + // The language the page is written in. + base.LanguageSpec locale = 4; + + // The type of page - i.e. article, website, video. + string type = 5; + + // Thumbnail to display when page is shared. + string image = 6; + + // Directs facebook to scrape another url instead of the url the page was served from. + string url = 7; + } + + // Tags for the Twitter Crawler. + message Twitter { + // Name of the website. + string site_name = 1; + + // Title of the page. + string title = 2; + + // Description of the page. + string description = 3; + + // The language the page is written in. + base.LanguageSpec locale = 4; + + // The type of card to display on Twitter. + string card = 5; + + // Thumbnail to display when page is shared. + string image = 6; + + // Directs facebook to scrape another url instead of the url the page was served from. + string url = 7; + } + + // Defines the HTML title for the page, emitted in the . + string title = 1; + + // Defines the meta description content for the page. + string description = 2; + + // Defines meta tag keywords, to be included in the page. + repeated string keyword = 3; + + // Defines semantic content structure and binding content. + page.SemanticMetadata semantic = 4; + + // Defines the viewport settings that should be used by the rendered page. + string viewport = 5; + + // Defines a link to a web application manifest, if applicable. + webutil.html.types.TrustedResourceUrlProto manifest = 6; + + // Defines a hex code to use as the primary theme color for the application. + string theme = 7; + + // Defines an icon to use in iOS circumstances, when used as an app shortcut. + string touch_icon = 8; + + // Defines an image to use in iOS circumstances, when launching as an app shortcut. + string startup_image = 9; + + // Defines a favicon image link to apply to the browser tab. + webutil.html.types.TrustedResourceUrlProto favicon = 10; + + // Defines the language we are rendering the page for. + base.LanguageSpec language = 11; + + // Identifier for Google Tag Manager. + string gtm_id = 12; + + // Facebook application identifier. + string fb_app_id = 13; + + // Describes OpenGraph data for a given page. + OpenGraph open_graph = 14; + + // Directive for indexers/robots. + string robots = 15; + + // Directive for color scheme compatibility. + string color_scheme = 16; + } + + // Specifies details about an application manifest, which should be or is linked to a given web + // page, that is being rendered by the render engine. + message AppManifest { + // Specifies the structure of an icon graphic linked to this web page via an application manifest. + // Icons can be specified in multiple formats and sizes. + message Icon { + // Specifies the URI for a given icon. + webutil.html.types.TrustedResourceUrlProto src = 1; + + // Specifies the sizes that a given icon is available in. + repeated uint32 size = 2; + + // Specifies the content type of a given icon. + string mime_type = 3; + } + + // Enumerates display modes which are available for selection in the web application manifest + // spec. Each display mode is described herein. + enum DisplayMode { + // Regular browser UI. Default value if left unspecified. + BROWSER = 0; + + // All of the available display area is used and no user agent chrome is shown. + FULLSCREEN = 1; + + // The application will look and feel like a standalone application. This can include the application + // having a different window, its own icon in the application launcher, etc. In this mode, the user + // agent will exclude UI elements for controlling navigation, but can include other UI elements such + // as a status bar. + STANDALONE = 2; + + // The application will look and feel like a standalone application, but will have a minimal set of UI + // elements for controlling navigation. The elements will vary by browser. + MINIMAL_UI = 3; + } + + // Describes available orientation modes, for specifying the default orientation mode for an application + // within a web app manifest. + enum OrientationMode { + // Unspecified, or default, orientation mode/settings. + UNSPECIFIED_ORIENTATION = 0; + + // Any orientation mode is supported. + ANY = 1; + + // Use the natural orientation mode for the device. + NATURAL = 2; + + // Use landscape mode by default. + LANDSCAPE = 3; + + // Use portrait mode by default. + PORTRAIT = 4; + } + + // Specifies details about a related application, which should be considered canonically the same + // as this application, but for a different platform. + message RelatedApplication { + // Enumerates known platforms where related applications might reside. + enum AppPlatform { + // Unspecified application platform. + UNSPECIFIED_APP_PLATFORM = 0; + + // Apple App Store. + APPSTORE = 1; + + // Google Play Store. + PLAYSTORE = 2; + + // Additional web application. + WEB = 3; + } + + // ID for this alternative application option. + string id = 1; + + // Platform that the related app is listed on. + AppPlatform platform = 2; + + // URI where the alternative application can be downloaded. + webutil.html.types.TrustedResourceUrlProto uri = 3; + } + + // Full name for this application. + string name = 1; + + // Short name for this application. + string short_name = 2; + + // Starting URL where this application can be entered. + string start_url = 3; + + // Defines the developers' preferred display mode for this application. + DisplayMode display = 4; + + // Defines the expected application background color. + string background_color = 5; + + // Specifies a narrative description about this application. + string description = 6; + + // Specifies the language direction - RTL or LTR, for this application. + string direction = 7; + + // Specifies the language this application is being served in. + base.LanguageSpec language = 8; + + // Specifies expected screen orientation for this application. + OrientationMode orientation = 9; + + // Defines the navigation scope for this web application's context. + string scope = 11; + + // Flag indicating whether we want to prefer native apps for the user's experience. + bool prefer_related_applications = 12; + + // Related native applications that should be considered along with this web application. + repeated RelatedApplication related_application = 13; + + // Application icons listed with this manifest. + repeated Icon app_icon = 14; + } + + // Defines page-level style settings (CSS), including external stylesheets, lifted CSS that should + // be rendered in the , and more. + message Styles { + // Defines the notion of an external stylesheet document, written in CSS, which should be included + // via reference rather than inline. + message Stylesheet { + // URI to a given stylesheet asset. + webutil.html.types.TrustedResourceUrlProto uri = 1; + + // Media setting to apply to the style sheet. + string media = 2; + } + + // CSS code that should be emitted early in the . + webutil.html.types.SafeStyleProto lifted = 1; + + // External CSS code to be included in tags. + repeated Stylesheet link = 2; + } + + // Specifies information about sets of fonts to include in the page via CSS declarations, or imports/link + // references. Fonts are considered part of the stylesheet set of a page. + message Fonts { + // Specifies types of references to font assets that are understood by the rendering system. + enum FontReferenceType { + // Specifies an internal font, or an explicit set of font assets. + INTERNAL = 0; + + // Specifies a font hosted on Google Fonts. + GOOGLE_FONTS = 1; + } + + // Specifies types of font formats supported for serving by the system. + enum FontFormat { + // Unspecified font format. + UNSPECIFIED_FORMAT = 0; + + // OpenType Format (OTF). + OPENTYPE = 1; + + // TrueType Format (TTF). + TRUETYPE = 2; + + // Scalable Vector Graphics (SVG). + VECTOR = 3; + + // Web Open Font Format (WOFF). + WEBFONT = 4; + + // Web Open Font Format 2 (WOFF2). + WEBFONT2 = 5; + + // Embedded OpenType (EOT). + EMBEDDED_OPENTYPE = 6; + } + + // Specifies information about an individual reference to a font file. + message FontReference { + // Specifies the type of reference being made. + FontReferenceType type = 1; + + // Specifies the format of the font reference being made. + FontFormat format = 2; + + // Name of the font reference. + string name = 3; + + // Weight of the font reference. + string weight = 4; + + // Variant of the font reference. + string variant = 5; + + // URI reference to this font asset. + webutil.html.types.TrustedResourceUrlProto uri = 6; + } + + // Specifies a package of fonts included for reference in a given web page. + message FontPackage { + // Specifies the CSS name used for this font package/family. + string name = 1; + + // References to individual constituent font assets. + repeated FontReference reference = 2; + } + + // Specifies packages of fonts included for reference. + repeated FontPackage package = 1; + } + + // Specifies information about JavaScript code that should be included with a given page render. Scripts + // included in this manner may be emitted inline or by reference (URI). + message Scripts { + // Defines the notion of an external script document, written in JavaScript, which should be included + // via reference rather than inline. + message JavaScript { + // URI to a given script asset. + webutil.html.types.TrustedResourceUrlProto uri = 1; + + // Whether to add the `module` flag to a script. + bool module = 2; + + // Whether to add the `defer` flag to a script. + bool defer = 3; + + // Whether to add the `async` flag to a script. + bool async = 4; + + // ID at which to attach the script tag. + string id = 5; + } + + // JavaScript code that should be emitted early in the . + webutil.html.types.SafeScriptProto lifted = 1; + + // External JavaScript code to be included in tags. + repeated JavaScript link = 2; + } + + // Metadata definitions for this web page render context. + Metadata meta = 1; + + // CSS definitions and lifted code for the page head. + Styles styles = 2; + + // Fonts to include/load on the page. + Fonts fonts = 3; + + // Scripts to include on the page or lift into the head. + Scripts scripts = 4; + + // Application manifest for a given page or web app. + AppManifest manifest = 7; +} diff --git a/gust/page/page.soy b/gust/page/page.soy new file mode 100644 index 000000000..d5dbecb05 --- /dev/null +++ b/gust/page/page.soy @@ -0,0 +1,187 @@ + +{namespace gust.page} + + +/** + * Content root template, which wraps all major visible page content in all cases. The content root is customizable + * in various ways, and linked to GSS stylesheets which apply the customizations. The content root changes based on the + * invoking browser - mobile or desktop. + */ +{template .contentRoot} + {@param? mobile: bool} /** Flag indicating that a mobile browser was detected. */ + {@param? content: html} /** HTML content to inject into the main body. */ + {@param? pageId: string} /** ID to apply to the whole page, optionally. */ + {@param? pageClass: string} /** Class name to apply to the whole page, optionally. */ + + {let $inner kind="html"} + {if isNonnull($content)} + {$content} + {else} +
+ {/if} + {/let} + + + {$inner} + +{/template} + + +/** + * Generic wrapping template for an HTML web page. This is generally used enclosed from a page template, so that the + * server may have a routine to render a page in full. Page frames are never rendered on the front-end, because the DOM + * already exists when rendering occurs. + */ +{template .wrap} + {@inject page: page.Context} /** Main page-level context, provided to include metadata and page assets. */ + {@param? pageId: string} /** CSS ID to apply to the whole page, optionally. */ + {@param? base: trusted_resource_uri} /** Optional page base to apply. */ + {@param? pageClass: string} /** Class name(s) to apply to the whole page, optionally. */ + {@param? bodyClass: string} /** Class name(s) to apply to the body element. */ + {@param? mobile: bool} /** Flag indicating that a mobile browser was detected. */ + {@param? liftedCSS: css} /** Lifted CSS to apply, if any. */ + {@param? liftedJS: js} /** Lifted JavaScrs)ipt to apply, if any. */ + {@param? content: html} /** Injected body content to apply. */ + {@param? preconnect: list<[domain: uri, crossorigin: bool]>} /** Pre-connect domains. */ + {@param? additionalHead: html} /** Additional HTML to apply to the head block. */ + {@param? ogTags: html} /** OpenGraph tags to include at the bottom of the head block. */ + {@param? jsonLD: js} /** JSON-LD (JSON Linked Data) description for the page, if any. */ + {@inject? contentSecurity: [header: string, policy: string]} /** Injected CSP to apply via meta tags. */ + + {let $languageSpec kind="text"} + {if isNonnull($page) and isNonnull($page.meta) and isNonnull($page.meta.language)} + {call gust.base.languageSpec} + {param spec: $page.meta.language /} + {/call} + {else}en-US{/if} + {/let} + + + + + + + {if isNonnull($base)} + + {/if} + + {if isNonnull($preconnect)} + {for $preconnectDirective in $preconnect} + + {/for} + {/if} + {if isNonnull($contentSecurity)} + + {/if} + {if isNonnull($liftedCSS)} + + {/if} + {if isNonnull($page) and isNonnull($page.styles) and isNonnull($page.styles.linkList)} + {for $styleDirective in $page.styles.linkList} + {call gust.dom.assets.stylesheet} + {param sheet: $styleDirective.uri /} + {param media: $styleDirective.media /} + {/call} + {/for} + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.viewport} + + {else} + + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.favicon} + + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.manifest} + + {/if} + {if isNonnull($liftedJS)} + + {/if} + {if isNonnull($page) and isNonnull($page.scripts) and $page.scripts.linkList} + {for $scriptDirective in $page.scripts.linkList} + {call gust.dom.assets.script} + {param script: $scriptDirective.uri /} + {param id: $scriptDirective.id /} + {param defer: $scriptDirective.defer /} + {param async: $scriptDirective.async /} + {param module: $scriptDirective.module /} + {/call} + {/for} + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.theme} + + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.touchIcon} + + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.startupImage} + + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.description} + + {/if} + {if isNonnull($page) and isNonnull($page.meta) and $page.meta.keywordList} + {let $metaKeywords kind="text"} + {for $keyword in $page.meta.keywordList} + {if not isFirst($keyword)}, {/if} + {$keyword} + {/for} + {/let} + + {/if} + {if $additionalHead}{$additionalHead}{/if} + {if isNonnull($page) and isNonnull($page.meta) and isNonnull($page.meta.title)} + {$page.meta.title} + {/if} + {if isNonnull($page) and isNonnull($page.meta) and isNonnull($page.meta.openGraph)} + {if $page.meta.openGraph.url} + + {/if} + {if $page.meta.openGraph.title} + + + {/if} + {if $page.meta.openGraph.description} + + + {/if} + {if $page.meta.openGraph.image} + + + {/if} + {if $languageSpec} + + {/if} + {if $page.meta.openGraph.type} + + + {/if} + + + {/if} + {if isNonnull($ogTags)} + {$ogTags} + {/if} + + + {call .contentRoot} + {param pageId: $pageId /} + {param mobile: $mobile /} + {param content: $content /} + {param pageClass: $pageClass /} + {/call} + {if $jsonLD} + + {/if} + + +{/template} diff --git a/gust/page/semantic.proto b/gust/page/semantic.proto new file mode 100644 index 000000000..9bbaebe1d --- /dev/null +++ b/gust/page/semantic.proto @@ -0,0 +1,70 @@ +/** + * Defines models related to semantic page metadata, which define such structure as the type/role of the page itself, + * the organization it belongs to, and so on. + */ +syntax = "proto3"; +package page; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "WebSemantics"; +option php_namespace = "Elide"; +option php_class_prefix = "ELD"; +option swift_prefix = "Elide"; +option objc_class_prefix = "ELD"; +option ruby_package = "Elide::Page"; +option java_package = "tools.elide.page"; +option csharp_namespace = "Elide.Page"; +option go_package = "github.com/elide-tools/elide/page"; + +import "gust/page/media.proto"; + + +// Enumerates known semantic types, which are further mapped to their implementation types in each +// semantic expression framework by implementing code. +enum Kind { + // Default content kind: generic web page or web application. + WEB_PAGE = 0; + + // Master products view: listing of multiple products. Produces impression events in analytics + // for each section or product displayed to the user. + MASTER = 1; + + // Detail product view: information about a single product or product group. Produces view events + // in analytics for each product or product group displayed to the user. + DETAIL = 2; +} + + +// Enumerates semantic metadata formats that are supported for rendering into the page. +enum Format { + // Specifies generic metadata tags as a metadata format. + GENERIC = 0; + + // Specifies OpenGraph tags as a metadata format. + OPENGRAPH = 1; + + // Specifies JSON-LD as a metadata format. + JSON_LD = 2; +} + +// Defines the structure of top-level metadata with regard to semantic content, attached to a given +// web page for emission in meta tags in various formats. +message SemanticMetadata { + // Defines the "kind" of content contained on a given page. + Kind kind = 1; + + // Formats to render semantic metadata in. + repeated Format format = 2; + + // Describes page-level semantic media. + repeated MediaAsset media = 3; + + // Payloads describing the semantic metadata attached. + oneof payload { + // Semantic metadata content. + string content = 4; + } +} diff --git a/java/gust/backend/Application.java b/java/gust/backend/Application.java index df0344f2a..c9ecfde9f 100644 --- a/java/gust/backend/Application.java +++ b/java/gust/backend/Application.java @@ -12,18 +12,21 @@ * Main application class, which bootstraps a backend Gust app via Micronaut, including any configured controllers, * services, or assets. This is where execution starts when running on a JVM. */ -public class Application { +@SuppressWarnings("WeakerAccess") +public final class Application { + private Application() { /* Disallow instantiation. */ } + /** Root configuration for a Micronaut app. */ - private static final String rootConfig = "/application.yml"; + public static final String rootConfig = "/application.yml"; /** Default configuration provided by Gust. */ - private static final String defaultConfig = "/gust" + rootConfig; + public static final String defaultConfig = "/gust" + rootConfig; /** Root logging configuration for a Micronaut app. */ - private static final String loggingConfig = "/logback.xml"; + public static final String loggingConfig = "/logback.xml"; /** Default configuration provided by Gust. */ - private static final String defaultLoggingConfig = "/gust" + loggingConfig; + public static final String defaultLoggingConfig = "/gust" + loggingConfig; /** * Attempt to load a given global config file, failing if we can't find it in the expected spot, or the backup spot, @@ -34,7 +37,7 @@ public class Application { * @param alt Alternate configuration file name. * @throws RuntimeException Wrapping an {@link IOException}, If the configuration can't be loaded. */ - private static void loadConfig(@Nonnull String role, @Nonnull String name, @Nullable String alt) { + public static void loadConfig(@Nonnull String role, @Nonnull String name, @Nullable String alt) { try (final InputStream configStream = Application.class.getResourceAsStream(name)) { if (configStream == null) { if (alt != null) { diff --git a/java/gust/backend/BUILD.bazel b/java/gust/backend/BUILD.bazel index 147fa9368..3b2455ef4 100644 --- a/java/gust/backend/BUILD.bazel +++ b/java/gust/backend/BUILD.bazel @@ -37,16 +37,17 @@ template_library( micronaut_library( name = "TemplateProvider", - srcs = ["TemplateProvider.kt"], + srcs = ["TemplateProvider.java"], templates = [":page"], + deps = [maven("io.micronaut:micronaut-views-soy")], ) jdk_library( name = "Application", srcs = ["Application.java"], deps = [ + "@com_google_code_findbugs_jsr305", maven("io.micronaut:micronaut-runtime"), - maven("com.google.code.findbugs:jsr305"), ], runtime_deps = [ maven("io.micronaut:micronaut-runtime"), diff --git a/java/gust/backend/TemplateProvider.java b/java/gust/backend/TemplateProvider.java new file mode 100644 index 000000000..e1d091356 --- /dev/null +++ b/java/gust/backend/TemplateProvider.java @@ -0,0 +1,59 @@ +package gust.backend; + +import com.google.template.soy.SoyFileSet; +import com.google.template.soy.jbcsrc.api.SoySauce; +import com.google.template.soy.jbcsrc.api.SoySauceBuilder; +import com.google.template.soy.shared.SoyCssRenamingMap; +import com.google.template.soy.shared.SoyIdRenamingMap; +import io.micronaut.views.soy.SoyFileSetProvider; +import io.micronaut.views.soy.SoyNamingMapProvider; + +import javax.annotation.Nullable; +import javax.inject.Singleton; + + +/** Default Soy template provider. */ +@Singleton +public class TemplateProvider implements SoyFileSetProvider, SoyNamingMapProvider { + private static final SoySauce compiledTemplates; + + static { + compiledTemplates = new SoySauceBuilder().build(); + } + + /** + * Provide a Soy file set for the embedded templates. + * + * @return Prepared Soy file set. + */ + @Nullable @Override public SoyFileSet provideSoyFileSet() { + return null; + } + + /** + * Provide the compiled Soy file set for embedded templates. + * + * @return Pre-compiled Soy templates. + */ + @Nullable @Override public SoySauce provideCompiledTemplates() { + return compiledTemplates; + } + + /** + * By default, return `null` for the Soy CSS renaming map. + * + * @return `null`, by default. + */ + @Nullable @Override public SoyCssRenamingMap cssRenamingMap() { + return null; + } + + /** + * By default, return `null` for the Soy ID renaming map. + * + * @return `null`, by default. + */ + @Nullable @Override public SoyIdRenamingMap idRenamingMap() { + return null; + } +} diff --git a/java/gust/backend/TemplateProvider.kt b/java/gust/backend/TemplateProvider.kt deleted file mode 100644 index f172033f9..000000000 --- a/java/gust/backend/TemplateProvider.kt +++ /dev/null @@ -1,34 +0,0 @@ -package gust.backend - -import com.google.template.soy.SoyFileSet -import com.google.template.soy.jbcsrc.api.SoySauce -import com.google.template.soy.jbcsrc.api.SoySauceBuilder -import io.micronaut.views.soy.SoyFileSetProvider -import io.micronaut.views.soy.SoyNamingMapProvider -import javax.inject.Singleton - - -/** Default Soy template provider. */ -@Singleton -open class TemplateProvider: SoyFileSetProvider, SoyNamingMapProvider { - /** Initialized compiled template set. */ - companion object { - @JvmStatic - private val compiledTemplates: SoySauce = SoySauceBuilder() - .build() - } - - /** - * Provide a Soy file set for the embedded templates. - * - * @return Prepared Soy file set. - */ - override fun provideSoyFileSet(): SoyFileSet? = null - - /** - * Provide the compiled Soy file set for embedded templates. - * - * @return Pre-compiled Soy templates. - */ - override fun provideCompiledTemplates(): SoySauce = compiledTemplates -} diff --git a/javatests/BUILD.bazel b/javatests/BUILD.bazel index 67cb1e21d..d45414f8b 100644 --- a/javatests/BUILD.bazel +++ b/javatests/BUILD.bazel @@ -1,3 +1,14 @@ package( default_visibility = ["//visibility:public"], ) + + +test_suite( + name = "suite", + testonly = True, + tests = [ + "//javatests/gust:DualStackTest", + "//javatests/gust/backend:ApplicationTest", + "//javatests/gust/backend:TemplateProviderTest", + ], +) diff --git a/javatests/gust/BUILD.bazel b/javatests/gust/BUILD.bazel index 5a30443d2..d39e64790 100644 --- a/javatests/gust/BUILD.bazel +++ b/javatests/gust/BUILD.bazel @@ -14,4 +14,5 @@ jdk_test( srcs = ["DualStackTest.java"], deps = ["//java/gust:Core"], test_class = "javatests.gust.DualStackTest", + testonly = True, ) diff --git a/javatests/gust/DualStackTest.java b/javatests/gust/DualStackTest.java index e68ac19ec..4ce05bcb4 100644 --- a/javatests/gust/DualStackTest.java +++ b/javatests/gust/DualStackTest.java @@ -7,12 +7,10 @@ import static org.junit.Assert.assertNotNull; -/** - * Tests that J2CL classes can be used Java-side. - */ -public class DualStackTest { - @Test - public void testDualStackObject() { +/** Tests that J2CL classes can be used Java-side. */ +public final class DualStackTest { + /** Test that {@link Core} can be used as a dual-stack object. */ + @Test public void testDualStackObject() { assertNotNull( "Core object should produce version", Core.getGustVersion()); @@ -22,6 +20,7 @@ public void testDualStackObject() { Core.getGustVersion()); } + /** Test that {@link Core#getEngine()} responds as expected. */ @Test public void testBackendExecutionEngine() { assertNotNull( @@ -34,6 +33,7 @@ public void testBackendExecutionEngine() { Core.getEngine()); } + /** Test that {@link Core#isDebugMode()} responds as expected. */ @Test public void testDebugModeNonnull() { assertNotNull( @@ -41,6 +41,7 @@ public void testDebugModeNonnull() { Core.isDebugMode()); } + /** Test that {@link Core#isDevMode()} responds as expected. */ @Test public void testDevModeNonnull() { assertNotNull( @@ -48,6 +49,7 @@ public void testDevModeNonnull() { Core.isDevMode()); } + /** Test that {@link Core#isProductionMode()} responds as expected. */ @Test public void testProdModeNonnull() { assertNotNull( diff --git a/javatests/gust/backend/ApplicationTest.java b/javatests/gust/backend/ApplicationTest.java new file mode 100644 index 000000000..e82713e4a --- /dev/null +++ b/javatests/gust/backend/ApplicationTest.java @@ -0,0 +1,18 @@ +package javatests.gust.backend; + +import gust.backend.Application; +import org.junit.Test; + + +/** Test the default Micronaut application runner class. */ +public final class ApplicationTest { + /** Try loading a known-bad application yaml. */ + @Test(expected = RuntimeException.class) public void testLoadApplicationYamlError() { + Application.loadConfig("app", "bad.yml", "bad.yml"); + } + + /** Try loading a known-good application yaml. */ + @Test public void testLoadApplicationYamlValid() { + Application.loadConfig("app", Application.rootConfig, Application.defaultConfig); + } +} diff --git a/javatests/gust/backend/BUILD.bazel b/javatests/gust/backend/BUILD.bazel new file mode 100644 index 000000000..2bd05e9a1 --- /dev/null +++ b/javatests/gust/backend/BUILD.bazel @@ -0,0 +1,31 @@ +package( + default_visibility = ["//visibility:public"], +) + + +load( + "//defs/toolchain/java:testing.bzl", + "jdk_test", +) + + +jdk_test( + name = "ApplicationTest", + srcs = ["ApplicationTest.java"], + deps = ["//java/gust/backend:Application"], + test_class = "javatests.gust.backend.ApplicationTest", + testonly = True, + classpath_resources = [ + "//java/gust:logback.xml", + "//java/gust:application.yml", + ], +) + + +jdk_test( + name = "TemplateProviderTest", + srcs = ["TemplateProviderTest.java"], + deps = ["//java/gust/backend:TemplateProvider"], + test_class = "javatests.gust.backend.TemplateProviderTest", + testonly = True, +) diff --git a/javatests/gust/backend/TemplateProviderTest.java b/javatests/gust/backend/TemplateProviderTest.java new file mode 100644 index 000000000..af8d5c884 --- /dev/null +++ b/javatests/gust/backend/TemplateProviderTest.java @@ -0,0 +1,31 @@ +package javatests.gust.backend; + +import org.junit.Test; + +import gust.backend.TemplateProvider; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + + +/** Tests the core backend {@link TemplateProvider}, which is responsible for loading Soy templates. */ +public final class TemplateProviderTest { + /** Test that the template provider can be constructed without error. */ + @Test public void templateProviderInit() { + new TemplateProvider(); + } + + /** Ensure that, by default, {@link TemplateProvider#provideSoyFileSet()} is
null
. */ + @Test public void soyFileSetDefaultNull() { + final TemplateProvider provider = new TemplateProvider(); + assertNull("`TemplateProvider.provideSoyFileSet` should return `null` by default", + provider.provideSoyFileSet()); + } + + /** Ensure that, by default, {@link TemplateProvider#provideCompiledTemplates()} is not
null
. */ + @Test public void soyCompiledTemplatesNotNull() { + final TemplateProvider provider = new TemplateProvider(); + assertNotNull("`TemplateProvider.provideCompiledTemplates` should never return `null`", + provider.provideCompiledTemplates()); + } +} diff --git a/maven_install.json b/maven_install.json index 40ebfc81a..1c11e0e99 100644 --- a/maven_install.json +++ b/maven_install.json @@ -1,46 +1,18 @@ { "dependency_tree": { - "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": 281535427, + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": 100953722, "conflict_resolution": { - "com.google.guava:guava:28.0-jre": "com.google.guava:guava:28.2-jre" + "com.google.guava:guava:28.0-jre": "com.google.guava:guava:28.1-android" }, "dependencies": [ { - "coord": "aopalliance:aopalliance:1.0", + "coord": "com.fasterxml.jackson.core:jackson-annotations:2.10.1", "dependencies": [], "directDependencies": [], "exclusions": [ - "com.google.guava:guava", - "com.google.guava:guava-testlib" - ], - "file": "v1/https/jcenter.bintray.com/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "mirror_urls": [ - "https://jcenter.bintray.com/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "https://maven.google.com/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" - ], - "sha256": "0addec670fedcd3f113c5c8091d783280d23f75e3acb841b61a9cdb079376a08", - "url": "https://jcenter.bintray.com/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" - }, - { - "coord": "args4j:args4j:2.0.23", - "dependencies": [], - "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/args4j/args4j/2.0.23/args4j-2.0.23.jar", - "mirror_urls": [ - "https://jcenter.bintray.com/args4j/args4j/2.0.23/args4j-2.0.23.jar", - "https://maven.google.com/args4j/args4j/2.0.23/args4j-2.0.23.jar", - "https://repo1.maven.org/maven2/args4j/args4j/2.0.23/args4j-2.0.23.jar", - "https://dl.bintray.com/micronaut/core-releases-local/args4j/args4j/2.0.23/args4j-2.0.23.jar" + "com.google.template:soy", + "com.google.common.html.types:types" ], - "sha256": "457557186c22180be7a8ae577e05a8084a864f7fd1fb53a3dbcbecb25fda3ce5", - "url": "https://jcenter.bintray.com/args4j/args4j/2.0.23/args4j-2.0.23.jar" - }, - { - "coord": "com.fasterxml.jackson.core:jackson-annotations:2.10.1", - "dependencies": [], - "directDependencies": [], "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1.jar", @@ -51,10 +23,32 @@ "sha256": "673f8ae16becea4fa937404b3a851417faf42df3bbc592028bbe2bfe0cc9d8cb", "url": "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1.jar" }, + { + "coord": "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1-sources.jar", + "https://maven.google.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1-sources.jar", + "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1-sources.jar" + ], + "sha256": "51edbe61480b811fc9ceaa158e233b88a193b58b69a4c9cfe7c8b2ef50f98b5d", + "url": "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-annotations/2.10.1/jackson-annotations-2.10.1-sources.jar" + }, { "coord": "com.fasterxml.jackson.core:jackson-core:2.10.1", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar", @@ -65,6 +59,24 @@ "sha256": "79bffbdcd349f69a5ac252e2b4096131704386af4fa14d95395ea9a0e423cf33", "url": "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar" }, + { + "coord": "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1-sources.jar", + "https://maven.google.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1-sources.jar", + "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1-sources.jar" + ], + "sha256": "001eeeb4ae3241e0e880ab2f9b867c33d560c73b34a5d69d9b216b8b04cfb9bd", + "url": "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1-sources.jar" + }, { "coord": "com.fasterxml.jackson.core:jackson-databind:2.10.1", "dependencies": [ @@ -75,6 +87,10 @@ "com.fasterxml.jackson.core:jackson-annotations:2.10.1", "com.fasterxml.jackson.core:jackson-core:2.10.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1.jar", @@ -85,6 +101,30 @@ "sha256": "2d23f47001492233565adf5a34f225f2ae89564cee08024873ec36b7842ede46", "url": "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1.jar" }, + { + "coord": "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "dependencies": [ + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1" + ], + "directDependencies": [ + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1-sources.jar", + "https://maven.google.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1-sources.jar", + "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1-sources.jar" + ], + "sha256": "43fb05e9652c4aef1e272b330649037e92d32b96af005a49e4b801a7f1585e15", + "url": "https://jcenter.bintray.com/com/fasterxml/jackson/core/jackson-databind/2.10.1/jackson-databind-2.10.1-sources.jar" + }, { "coord": "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.1", "dependencies": [ @@ -96,6 +136,10 @@ "com.fasterxml.jackson.core:jackson-core:2.10.1", "com.fasterxml.jackson.core:jackson-databind:2.10.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1.jar", @@ -106,6 +150,31 @@ "sha256": "05c45b1441e74ea5e4b0c7a20823d2c7cfded946108902b5691a129e78f60515", "url": "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1.jar" }, + { + "coord": "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "dependencies": [ + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1" + ], + "directDependencies": [ + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1-sources.jar", + "https://maven.google.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1-sources.jar", + "https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1-sources.jar" + ], + "sha256": "308dfb0d8cc24f29bab64cf689deace73c1b9df05ef7c456b0981c0da863e46a", + "url": "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.1/jackson-datatype-jdk8-2.10.1-sources.jar" + }, { "coord": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.1", "dependencies": [ @@ -118,6 +187,10 @@ "com.fasterxml.jackson.core:jackson-core:2.10.1", "com.fasterxml.jackson.core:jackson-databind:2.10.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1.jar", @@ -128,6 +201,32 @@ "sha256": "5e7d0363068e3d42ac7f6234c88ade8867174009866e6f00f496edb5b295b56f", "url": "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1.jar" }, + { + "coord": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "dependencies": [ + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1" + ], + "directDependencies": [ + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1-sources.jar", + "https://maven.google.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1-sources.jar", + "https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1-sources.jar" + ], + "sha256": "1ce1544e19e8a355609c9248d18dad1663b8acb48a29f36bf9fb47b0ff0e17f0", + "url": "https://jcenter.bintray.com/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.1/jackson-datatype-jsr310-2.10.1-sources.jar" + }, { "coord": "com.github.wumpz:diffutils:2.2", "dependencies": [ @@ -136,6 +235,10 @@ "directDependencies": [ "org.eclipse.jgit:org.eclipse.jgit:4.4.1.201607150455-r" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/github/wumpz/diffutils/2.2/diffutils-2.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/github/wumpz/diffutils/2.2/diffutils-2.2.jar", @@ -146,10 +249,148 @@ "sha256": "df78fbcb23b86cda037a4a28cb255c5dd9f2f110d977656902586d18c61cfeb4", "url": "https://jcenter.bintray.com/com/github/wumpz/diffutils/2.2/diffutils-2.2.jar" }, + { + "coord": "com.github.wumpz:diffutils:jar:sources:2.2", + "dependencies": [ + "org.eclipse.jgit:org.eclipse.jgit:jar:sources:4.4.1.201607150455-r" + ], + "directDependencies": [ + "org.eclipse.jgit:org.eclipse.jgit:jar:sources:4.4.1.201607150455-r" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/github/wumpz/diffutils/2.2/diffutils-2.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/github/wumpz/diffutils/2.2/diffutils-2.2-sources.jar", + "https://maven.google.com/com/github/wumpz/diffutils/2.2/diffutils-2.2-sources.jar", + "https://repo1.maven.org/maven2/com/github/wumpz/diffutils/2.2/diffutils-2.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/github/wumpz/diffutils/2.2/diffutils-2.2-sources.jar" + ], + "sha256": "82d73942952a78a0e31ef517a83296862adfb41e7b95b0b098d238ad11436abe", + "url": "https://jcenter.bintray.com/com/github/wumpz/diffutils/2.2/diffutils-2.2-sources.jar" + }, + { + "coord": "com.google.android:annotations:4.1.1.4", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", + "https://maven.google.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", + "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + ], + "sha256": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15", + "url": "https://jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" + }, + { + "coord": "com.google.android:annotations:jar:sources:4.1.1.4", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar", + "https://maven.google.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar", + "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar" + ], + "sha256": "e9b667aa958df78ea1ad115f7bbac18a5869c3128b1d5043feb360b0cfce9d40", + "url": "https://jcenter.bintray.com/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar" + }, + { + "coord": "com.google.api.grpc:proto-google-common-protos:1.12.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.protobuf:protobuf-java", + "com.google.api:api-common", + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar", + "https://maven.google.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar", + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar" + ], + "sha256": "bd60cd7a423b00fb824c27bdd0293aaf4781be1daba6ed256311103fb4b84108", + "url": "https://jcenter.bintray.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar" + }, + { + "coord": "com.google.api.grpc:proto-google-common-protos:jar:sources:1.12.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.protobuf:protobuf-java", + "com.google.api:api-common", + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar", + "https://maven.google.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar" + ], + "sha256": "936fdc055855a956ef82afb1b408bd0bd5ea5d040fe6f6fc25c4955879db649a", + "url": "https://jcenter.bintray.com/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar" + }, + { + "coord": "com.google.auth:google-auth-library-credentials:0.18.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0.jar", + "https://maven.google.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0.jar", + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0.jar" + ], + "sha256": "2377b149dbf63f000f96b66f5dc0f07b9da3928f5e3f31973f2d21fcb63ce6ff", + "url": "https://jcenter.bintray.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0.jar" + }, + { + "coord": "com.google.auth:google-auth-library-credentials:jar:sources:0.18.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0-sources.jar", + "https://maven.google.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0-sources.jar", + "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0-sources.jar" + ], + "sha256": "bd7b9d3297e4df3411edc59bbe418cc33f2a529ac4979c4f6fa59f1e662527f3", + "url": "https://jcenter.bintray.com/com/google/auth/google-auth-library-credentials/0.18.0/google-auth-library-credentials-0.18.0-sources.jar" + }, { "coord": "com.google.code.findbugs:jsr305:3.0.2", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar", @@ -161,63 +402,103 @@ "url": "https://jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" }, { - "coord": "com.google.code.gson:gson:2.7", + "coord": "com.google.code.findbugs:jsr305:jar:sources:3.0.2", "dependencies": [], "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/com/google/code/gson/gson/2.7/gson-2.7.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/code/gson/gson/2.7/gson-2.7.jar", - "https://maven.google.com/com/google/code/gson/gson/2.7/gson-2.7.jar", - "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/code/gson/gson/2.7/gson-2.7.jar" + "https://jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar", + "https://maven.google.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar", + "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar" ], - "sha256": "2d43eb5ea9e133d2ee2405cc14f5ee08951b8361302fdd93494a3a997b508d32", - "url": "https://jcenter.bintray.com/com/google/code/gson/gson/2.7/gson-2.7.jar" + "sha256": "1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b", + "url": "https://jcenter.bintray.com/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar" }, { - "coord": "com.google.common.html.types:types:1.0.6", - "dependencies": [ - "javax.annotation:jsr250-api:1.0", - "com.google.jsinterop:jsinterop-annotations:1.0.1" + "coord": "com.google.code.gson:gson:2.8.6", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "directDependencies": [ - "com.google.jsinterop:jsinterop-annotations:1.0.1", - "javax.annotation:jsr250-api:1.0" + "file": "v1/https/jcenter.bintray.com/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar", + "https://maven.google.com/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar", + "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar" ], + "sha256": "c8fb4839054d280b3033f800d1f5a97de2f028eb8ba2eb458ad287e536f3f25f", + "url": "https://jcenter.bintray.com/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar" + }, + { + "coord": "com.google.code.gson:gson:jar:sources:2.8.6", + "dependencies": [], + "directDependencies": [], "exclusions": [ - "com.google.errorprone:error_prone_annotations", - "com.google.guava:guava-testlib", - "com.google.guava:guava", - "com.google.protobuf:protobuf-java" + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/com/google/common/html/types/types/1.0.6/types-1.0.6.jar", + "file": "v1/https/jcenter.bintray.com/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/common/html/types/types/1.0.6/types-1.0.6.jar", - "https://maven.google.com/com/google/common/html/types/types/1.0.6/types-1.0.6.jar", - "https://repo1.maven.org/maven2/com/google/common/html/types/types/1.0.6/types-1.0.6.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/common/html/types/types/1.0.6/types-1.0.6.jar" + "https://jcenter.bintray.com/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar", + "https://maven.google.com/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar", + "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar" ], - "sha256": "991d7091237994131dc36f154e27ac18d66a5f203ccb0eb54997291350b5ba83", - "url": "https://jcenter.bintray.com/com/google/common/html/types/types/1.0.6/types-1.0.6.jar" + "sha256": "da4d787939dc8de214724a20d88614b70ef8c3a4931d9c694300b5d9098ed9bc", + "url": "https://jcenter.bintray.com/com/google/code/gson/gson/2.8.6/gson-2.8.6-sources.jar" }, { - "coord": "com.google.errorprone:error_prone_annotations:2.3.4", + "coord": "com.google.errorprone:error_prone_annotations:2.3.3", "dependencies": [], "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar", + "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar", + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar" + ], + "sha256": "ec59f1b702d9afc09e8c3929f5c42777dec623a6ea2731ac694332c7d7680f5a", + "url": "https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3.jar" + }, + { + "coord": "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar", - "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar", - "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar" + "https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar", + "https://maven.google.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar", + "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar" ], - "sha256": "baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c", - "url": "https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar" + "sha256": "f58446b80b5f1e98bcb74dae5c0710ed8e52baafe5a4bb315f769f306d85634a", + "url": "https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2.3.3/error_prone_annotations-2.3.3-sources.jar" }, { "coord": "com.google.guava:failureaccess:1.0.1", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar", @@ -229,37 +510,99 @@ "url": "https://jcenter.bintray.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" }, { - "coord": "com.google.guava:guava:28.2-jre", + "coord": "com.google.guava:failureaccess:jar:sources:1.0.1", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar", + "https://maven.google.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar", + "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar" + ], + "sha256": "092346eebbb1657b51aa7485a246bf602bb464cc0b0e2e1c7e7201fadce1e98f", + "url": "https://jcenter.bintray.com/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar" + }, + { + "coord": "com.google.guava:guava:28.1-android", "dependencies": [ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.errorprone:error_prone_annotations:2.3.4", - "org.checkerframework:checker-qual:2.10.0", - "com.google.guava:failureaccess:1.0.1" + "com.google.guava:failureaccess:1.0.1", + "org.checkerframework:checker-compat-qual:2.5.5" ], "directDependencies": [ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", "com.google.code.findbugs:jsr305:3.0.2", - "com.google.errorprone:error_prone_annotations:2.3.4", - "org.checkerframework:checker-qual:2.10.0", - "com.google.guava:failureaccess:1.0.1" + "com.google.guava:failureaccess:1.0.1", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/guava/guava/28.1-android/guava-28.1-android.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/guava/guava/28.1-android/guava-28.1-android.jar", + "https://maven.google.com/com/google/guava/guava/28.1-android/guava-28.1-android.jar", + "https://repo1.maven.org/maven2/com/google/guava/guava/28.1-android/guava-28.1-android.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/guava/guava/28.1-android/guava-28.1-android.jar" + ], + "sha256": "e112ce92c0f0733965eede73d94589c59a72128b06b08bba5ebe2f9ea672ef60", + "url": "https://jcenter.bintray.com/com/google/guava/guava/28.1-android/guava-28.1-android.jar" + }, + { + "coord": "com.google.guava:guava:jar:sources:28.1-android", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:failureaccess:jar:sources:1.0.1" ], - "file": "v1/https/jcenter.bintray.com/com/google/guava/guava/28.2-jre/guava-28.2-jre.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/guava/guava/28.2-jre/guava-28.2-jre.jar", - "https://maven.google.com/com/google/guava/guava/28.2-jre/guava-28.2-jre.jar", - "https://repo1.maven.org/maven2/com/google/guava/guava/28.2-jre/guava-28.2-jre.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/guava/guava/28.2-jre/guava-28.2-jre.jar" + "https://jcenter.bintray.com/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar", + "https://maven.google.com/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar", + "https://repo1.maven.org/maven2/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar" ], - "sha256": "fc3aa363ad87223d1fbea584eee015a862150f6d34c71f24dc74088a635f08ef", - "url": "https://jcenter.bintray.com/com/google/guava/guava/28.2-jre/guava-28.2-jre.jar" + "sha256": "7048029c5488142e8697eab2f7cd6ddcd1c5098843d6a6818e9c58db86b5549d", + "url": "https://jcenter.bintray.com/com/google/guava/guava/28.1-android/guava-28.1-android-sources.jar" }, { "coord": "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar", @@ -271,98 +614,117 @@ "url": "https://jcenter.bintray.com/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" }, { - "coord": "com.google.inject.extensions:guice-multibindings:4.1.0", - "dependencies": [ - "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", - "com.google.j2objc:j2objc-annotations:1.3", - "com.google.code.findbugs:jsr305:3.0.2", - "aopalliance:aopalliance:1.0", - "com.google.errorprone:error_prone_annotations:2.3.4", - "com.google.guava:guava:28.2-jre", - "org.checkerframework:checker-qual:2.10.0", - "com.google.inject:guice:4.1.0", - "com.google.guava:failureaccess:1.0.1", - "javax.inject:javax.inject:1" + "coord": "com.google.j2objc:j2objc-annotations:1.3", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "directDependencies": [ - "com.google.inject:guice:4.1.0" + "file": "v1/https/jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", + "https://maven.google.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", + "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + ], + "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b", + "url": "https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + }, + { + "coord": "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/com/google/inject/extensions/guice-multibindings/4.1.0/guice-multibindings-4.1.0.jar", + "file": "v1/https/jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/inject/extensions/guice-multibindings/4.1.0/guice-multibindings-4.1.0.jar", - "https://maven.google.com/com/google/inject/extensions/guice-multibindings/4.1.0/guice-multibindings-4.1.0.jar", - "https://repo1.maven.org/maven2/com/google/inject/extensions/guice-multibindings/4.1.0/guice-multibindings-4.1.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/inject/extensions/guice-multibindings/4.1.0/guice-multibindings-4.1.0.jar" + "https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar", + "https://maven.google.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar", + "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar" ], - "sha256": "592773a4c745cc87ba37fa0647fed8126c7e474349c603c9f229aa25d3ef5448", - "url": "https://jcenter.bintray.com/com/google/inject/extensions/guice-multibindings/4.1.0/guice-multibindings-4.1.0.jar" + "sha256": "ba4df669fec153fa4cd0ef8d02c6d3ef0702b7ac4cabe080facf3b6e490bb972", + "url": "https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar" }, { - "coord": "com.google.inject:guice:4.1.0", + "coord": "com.google.protobuf:protobuf-java-util:3.11.1", "dependencies": [ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", "com.google.code.findbugs:jsr305:3.0.2", - "aopalliance:aopalliance:1.0", - "com.google.errorprone:error_prone_annotations:2.3.4", - "com.google.guava:guava:28.2-jre", - "org.checkerframework:checker-qual:2.10.0", + "com.google.protobuf:protobuf-java:3.11.4", + "com.google.code.gson:gson:2.8.6", "com.google.guava:failureaccess:1.0.1", - "javax.inject:javax.inject:1" + "org.checkerframework:checker-compat-qual:2.5.5" ], "directDependencies": [ - "aopalliance:aopalliance:1.0", - "com.google.guava:guava:28.2-jre", - "javax.inject:javax.inject:1" + "com.google.code.gson:gson:2.8.6", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.guava:guava:28.1-android", + "com.google.protobuf:protobuf-java:3.11.4" ], - "file": "v1/https/jcenter.bintray.com/com/google/inject/guice/4.1.0/guice-4.1.0.jar", - "mirror_urls": [ - "https://jcenter.bintray.com/com/google/inject/guice/4.1.0/guice-4.1.0.jar", - "https://maven.google.com/com/google/inject/guice/4.1.0/guice-4.1.0.jar", - "https://repo1.maven.org/maven2/com/google/inject/guice/4.1.0/guice-4.1.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/inject/guice/4.1.0/guice-4.1.0.jar" + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "sha256": "9b9df27a5b8c7864112b4137fd92b36c3f1395bfe57be42fedf2f520ead1a93e", - "url": "https://jcenter.bintray.com/com/google/inject/guice/4.1.0/guice-4.1.0.jar" - }, - { - "coord": "com.google.j2objc:j2objc-annotations:1.3", - "dependencies": [], - "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", + "file": "v1/https/jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", - "https://maven.google.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", - "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + "https://jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1.jar", + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1.jar" ], - "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b", - "url": "https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" + "sha256": "dc7d8c502199c1309b284f9a8d0afff82356f0477d9a155ba4e50abb06e15313", + "url": "https://jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1.jar" }, { - "coord": "com.google.jsinterop:jsinterop-annotations:1.0.1", - "dependencies": [], - "directDependencies": [], + "coord": "com.google.protobuf:protobuf-java-util:jar:sources:3.11.1", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.protobuf:protobuf-java:jar:sources:3.11.4", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "com.google.code.gson:gson:jar:sources:2.8.6", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "com.google.code.gson:gson:jar:sources:2.8.6", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.protobuf:protobuf-java:jar:sources:3.11.4" + ], "exclusions": [ - "com.google.errorprone:error_prone_annotations", - "com.google.guava:guava-testlib", - "com.google.guava:guava", - "com.google.protobuf:protobuf-java" + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/com/google/jsinterop/jsinterop-annotations/1.0.1/jsinterop-annotations-1.0.1.jar", + "file": "v1/https/jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/google/jsinterop/jsinterop-annotations/1.0.1/jsinterop-annotations-1.0.1.jar", - "https://maven.google.com/com/google/jsinterop/jsinterop-annotations/1.0.1/jsinterop-annotations-1.0.1.jar", - "https://repo1.maven.org/maven2/com/google/jsinterop/jsinterop-annotations/1.0.1/jsinterop-annotations-1.0.1.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/jsinterop/jsinterop-annotations/1.0.1/jsinterop-annotations-1.0.1.jar" + "https://jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1-sources.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1-sources.jar", + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1-sources.jar" ], - "sha256": "b2cc45519d62a1144f8cd932fa0c2c30a944c3ae9f060934587a337d81b391c8", - "url": "https://jcenter.bintray.com/com/google/jsinterop/jsinterop-annotations/1.0.1/jsinterop-annotations-1.0.1.jar" + "sha256": "236b015889438e77ba203700675090753bdbf251e561984ebb94bc95f080590b", + "url": "https://jcenter.bintray.com/com/google/protobuf/protobuf-java-util/3.11.1/protobuf-java-util-3.11.1-sources.jar" }, { "coord": "com.google.protobuf:protobuf-java:3.11.4", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar", @@ -374,74 +736,22 @@ "url": "https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar" }, { - "coord": "com.google.template:soy:2019-10-08", - "dependencies": [ - "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", - "args4j:args4j:2.0.23", - "com.google.j2objc:j2objc-annotations:1.3", - "org.ow2.asm:asm-tree:7.0", - "com.google.common.html.types:types:1.0.6", - "com.google.code.findbugs:jsr305:3.0.2", - "org.ow2.asm:asm:7.0", - "org.json:json:20160212", - "com.google.protobuf:protobuf-java:3.11.4", - "aopalliance:aopalliance:1.0", - "com.google.code.gson:gson:2.7", - "com.google.inject.extensions:guice-multibindings:4.1.0", - "org.ow2.asm:asm-commons:7.0", - "com.google.errorprone:error_prone_annotations:2.3.4", - "org.ow2.asm:asm-util:7.0", - "com.google.guava:guava:28.2-jre", - "org.checkerframework:checker-qual:2.10.0", - "com.google.inject:guice:4.1.0", - "com.google.guava:failureaccess:1.0.1", - "javax.inject:javax.inject:1", - "com.google.jsinterop:jsinterop-annotations:1.0.1", - "javax.annotation:jsr250-api:1.0", - "org.ow2.asm:asm-analysis:7.0", - "com.ibm.icu:icu4j:57.1" - ], - "directDependencies": [ - "args4j:args4j:2.0.23", - "com.google.common.html.types:types:1.0.6", - "com.google.code.findbugs:jsr305:3.0.2", - "org.ow2.asm:asm:7.0", - "org.json:json:20160212", - "com.google.protobuf:protobuf-java:3.11.4", - "com.google.code.gson:gson:2.7", - "com.google.inject.extensions:guice-multibindings:4.1.0", - "org.ow2.asm:asm-commons:7.0", - "com.google.errorprone:error_prone_annotations:2.3.4", - "org.ow2.asm:asm-util:7.0", - "com.google.guava:guava:28.2-jre", - "com.google.inject:guice:4.1.0", - "javax.inject:javax.inject:1", - "org.ow2.asm:asm-analysis:7.0", - "com.ibm.icu:icu4j:57.1" - ], - "file": "v1/https/jcenter.bintray.com/com/google/template/soy/2019-10-08/soy-2019-10-08.jar", - "mirror_urls": [ - "https://jcenter.bintray.com/com/google/template/soy/2019-10-08/soy-2019-10-08.jar", - "https://maven.google.com/com/google/template/soy/2019-10-08/soy-2019-10-08.jar", - "https://repo1.maven.org/maven2/com/google/template/soy/2019-10-08/soy-2019-10-08.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/google/template/soy/2019-10-08/soy-2019-10-08.jar" - ], - "sha256": "ab5b7d5f22c7cae335d914cb9dcea60133a38f6a35d435d372711da40ee9bde1", - "url": "https://jcenter.bintray.com/com/google/template/soy/2019-10-08/soy-2019-10-08.jar" - }, - { - "coord": "com.ibm.icu:icu4j:57.1", + "coord": "com.google.protobuf:protobuf-java:jar:sources:3.11.4", "dependencies": [], "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/com/ibm/icu/icu4j/57.1/icu4j-57.1.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/com/ibm/icu/icu4j/57.1/icu4j-57.1.jar", - "https://maven.google.com/com/ibm/icu/icu4j/57.1/icu4j-57.1.jar", - "https://repo1.maven.org/maven2/com/ibm/icu/icu4j/57.1/icu4j-57.1.jar", - "https://dl.bintray.com/micronaut/core-releases-local/com/ibm/icu/icu4j/57.1/icu4j-57.1.jar" + "https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4-sources.jar", + "https://maven.google.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4-sources.jar", + "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4-sources.jar" ], - "sha256": "759d89ed2f8c6a6b627ab954be5913fbdc464f62254a513294e52260f28591ee", - "url": "https://jcenter.bintray.com/com/ibm/icu/icu4j/57.1/icu4j-57.1.jar" + "sha256": "bc220c90651f509fba201f857715fbc4bd3a15580506ab96413f2bc1728ec4a8", + "url": "https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4-sources.jar" }, { "coord": "com.squareup.okhttp3:okhttp:3.11.0", @@ -451,6 +761,10 @@ "directDependencies": [ "com.squareup.okio:okio:1.14.0" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0.jar", @@ -462,10 +776,36 @@ "url": "https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0.jar" }, { - "coord": "com.squareup.okio:okio:1.14.0", - "dependencies": [], - "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar", + "coord": "com.squareup.okhttp3:okhttp:jar:sources:3.11.0", + "dependencies": [ + "com.squareup.okio:okio:jar:sources:1.14.0" + ], + "directDependencies": [ + "com.squareup.okio:okio:jar:sources:1.14.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0-sources.jar", + "https://maven.google.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0-sources.jar", + "https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0-sources.jar" + ], + "sha256": "2dade1d534496d68302adba898eafd7b019cd60c91afb763a50f5bde02ca3f68", + "url": "https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.11.0/okhttp-3.11.0-sources.jar" + }, + { + "coord": "com.squareup.okio:okio:1.14.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar", "https://maven.google.com/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar", @@ -475,10 +815,32 @@ "sha256": "4633c331f50642ebe795dc089d6a5928aff43071c9d17e7840a009eea2fe95a3", "url": "https://jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar" }, + { + "coord": "com.squareup.okio:okio:jar:sources:1.14.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar", + "https://maven.google.com/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar", + "https://repo1.maven.org/maven2/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar" + ], + "sha256": "ccc34a4ef40021db61ce5c3ee796cca1a3fcc869ea292bb1ce4b5e7708034158", + "url": "https://jcenter.bintray.com/com/squareup/okio/okio/1.14.0/okio-1.14.0-sources.jar" + }, { "coord": "com.univocity:univocity-parsers:2.7.6", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6.jar", "mirror_urls": [ "https://jcenter.bintray.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6.jar", @@ -489,6 +851,24 @@ "sha256": "5c3d77078594e9ad34f69ce1eb8ca81a07e6a6cb9bfc3e1eeb8d9cb8d1be487c", "url": "https://jcenter.bintray.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6.jar" }, + { + "coord": "com.univocity:univocity-parsers:jar:sources:2.7.6", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6-sources.jar", + "https://maven.google.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6-sources.jar", + "https://repo1.maven.org/maven2/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6-sources.jar" + ], + "sha256": "b6b4272875cd5c348aeb05613fba0b82032d179291d1d6efbe713ea8754bd3a0", + "url": "https://jcenter.bintray.com/com/univocity/univocity-parsers/2.7.6/univocity-parsers-2.7.6-sources.jar" + }, { "coord": "io.arrow-kt:arrow-annotations:0.8.2", "dependencies": [ @@ -501,6 +881,10 @@ "io.kindedj:kindedj:1.1.0", "org.jetbrains.kotlin:kotlin-stdlib:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2.jar", @@ -511,6 +895,32 @@ "sha256": "475c15a5a12c5daccb61716356f0c1bd8fcd6812fb44b728c14ae9c267d5ae82", "url": "https://jcenter.bintray.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2.jar" }, + { + "coord": "io.arrow-kt:arrow-annotations:jar:sources:0.8.2", + "dependencies": [ + "io.kindedj:kindedj:jar:sources:1.1.0", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "directDependencies": [ + "io.kindedj:kindedj:jar:sources:1.1.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2-sources.jar", + "https://maven.google.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2-sources.jar", + "https://repo1.maven.org/maven2/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2-sources.jar" + ], + "sha256": "2639dce494fc7f2890ce0a3c9c5111d2c50d6c9c395a0b3188ddcbc3cde95fbc", + "url": "https://jcenter.bintray.com/io/arrow-kt/arrow-annotations/0.8.2/arrow-annotations-0.8.2-sources.jar" + }, { "coord": "io.arrow-kt:arrow-core:0.8.2", "dependencies": [ @@ -525,6 +935,10 @@ "io.arrow-kt:arrow-annotations:0.8.2", "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2.jar", @@ -535,10 +949,42 @@ "sha256": "75f4819d01de37b82de4523468ca9bde84583a566d6364ef93dbdc060e07d418", "url": "https://jcenter.bintray.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2.jar" }, + { + "coord": "io.arrow-kt:arrow-core:jar:sources:0.8.2", + "dependencies": [ + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "io.arrow-kt:arrow-annotations:jar:sources:0.8.2", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "io.kindedj:kindedj:jar:sources:1.1.0" + ], + "directDependencies": [ + "io.arrow-kt:arrow-annotations:jar:sources:0.8.2", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2-sources.jar", + "https://maven.google.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2-sources.jar", + "https://repo1.maven.org/maven2/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2-sources.jar" + ], + "sha256": "0e0a826156a8bc031c5ab7bc0ae6737669cc6ac120f4f4d6dc164b9ede57319f", + "url": "https://jcenter.bintray.com/io/arrow-kt/arrow-core/0.8.2/arrow-core-0.8.2-sources.jar" + }, { "coord": "io.github.classgraph:classgraph:4.6.18", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18.jar", @@ -549,10 +995,586 @@ "sha256": "baa3fbcb3808ce83ccfb2546cfd6d75845b72436385f851ac90c102b8e0ecb8a", "url": "https://jcenter.bintray.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18.jar" }, + { + "coord": "io.github.classgraph:classgraph:jar:sources:4.6.18", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18-sources.jar", + "https://maven.google.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18-sources.jar", + "https://repo1.maven.org/maven2/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18-sources.jar" + ], + "sha256": "60d5401711ba0bcc6ea2ee2176711f0b4940125cdea2686c3677107828552251", + "url": "https://jcenter.bintray.com/io/github/classgraph/classgraph/4.6.18/classgraph-4.6.18-sources.jar" + }, + { + "coord": "io.grpc:grpc-api:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "io.grpc:grpc-context:1.26.0", + "com.google.guava:failureaccess:1.0.1", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "io.grpc:grpc-context:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0.jar" + ], + "sha256": "cd585bb053defe7721a0b78e8f3e23f0d7d6fb947c9941c53a1c859b0c52ea13", + "url": "https://jcenter.bintray.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-api:jar:sources:1.26.0", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.grpc:grpc-context:jar:sources:1.26.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.grpc:grpc-context:jar:sources:1.26.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "com.google.guava:guava:jar:sources:28.1-android" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0-sources.jar" + ], + "sha256": "c5499550d3111015be2136ed55ff915482bf37620b6ebdb236d549952096d3c5", + "url": "https://jcenter.bintray.com/io/grpc/grpc-api/1.26.0/grpc-api-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-auth:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "io.grpc:grpc-context:1.26.0", + "com.google.guava:failureaccess:1.0.1", + "com.google.auth:google-auth-library-credentials:0.18.0", + "io.grpc:grpc-api:1.26.0", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "com.google.auth:google-auth-library-credentials:0.18.0", + "io.grpc:grpc-api:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0.jar" + ], + "sha256": "d35024306a6e72364d5170a1a4da4d82e87ddb6271bba80a7c749780b85be86f", + "url": "https://jcenter.bintray.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-auth:jar:sources:1.26.0", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.grpc:grpc-context:jar:sources:1.26.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.grpc:grpc-api:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1", + "com.google.auth:google-auth-library-credentials:jar:sources:0.18.0" + ], + "directDependencies": [ + "com.google.auth:google-auth-library-credentials:jar:sources:0.18.0", + "io.grpc:grpc-api:jar:sources:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0-sources.jar" + ], + "sha256": "b1c9b2bd3ee3c9b81a4d2324d797b684701ef1249bbccbd80f9879bd2720338e", + "url": "https://jcenter.bintray.com/io/grpc/grpc-auth/1.26.0/grpc-auth-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-context:1.26.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0.jar" + ], + "sha256": "16388315b48a3aee21e0530ae7a31441288226dd0878e7abdca2e09aa8a60404", + "url": "https://jcenter.bintray.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-context:jar:sources:1.26.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0-sources.jar" + ], + "sha256": "14d6440ce2236bcfe89ad87f868e7299caad7754b5e5ca57e1b31bff16e53388", + "url": "https://jcenter.bintray.com/io/grpc/grpc-context/1.26.0/grpc-context-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-core:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "com.google.android:annotations:4.1.1.4", + "io.grpc:grpc-context:1.26.0", + "io.opencensus:opencensus-api:0.24.0", + "com.google.code.gson:gson:2.8.6", + "com.google.guava:failureaccess:1.0.1", + "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0", + "io.grpc:grpc-api:1.26.0", + "io.perfmark:perfmark-api:0.19.0", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "com.google.android:annotations:4.1.1.4", + "io.opencensus:opencensus-api:0.24.0", + "com.google.code.gson:gson:2.8.6", + "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0", + "io.grpc:grpc-api:1.26.0", + "io.perfmark:perfmark-api:0.19.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0.jar" + ], + "sha256": "7e4f83e4e8d963c0556bafaea9faf562aab8861f3e5644e53e294c85edef6a2d", + "url": "https://jcenter.bintray.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-core:jar:sources:1.26.0", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.android:annotations:jar:sources:4.1.1.4", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.perfmark:perfmark-api:jar:sources:0.19.0", + "io.opencensus:opencensus-contrib-grpc-metrics:jar:sources:0.24.0", + "io.grpc:grpc-context:jar:sources:1.26.0", + "io.opencensus:opencensus-api:jar:sources:0.24.0", + "com.google.code.gson:gson:jar:sources:2.8.6", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.grpc:grpc-api:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "com.google.android:annotations:jar:sources:4.1.1.4", + "io.perfmark:perfmark-api:jar:sources:0.19.0", + "io.opencensus:opencensus-contrib-grpc-metrics:jar:sources:0.24.0", + "io.opencensus:opencensus-api:jar:sources:0.24.0", + "com.google.code.gson:gson:jar:sources:2.8.6", + "io.grpc:grpc-api:jar:sources:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0-sources.jar" + ], + "sha256": "ed5e720dd039885752de82fa20f8861fd68cec22c8597e299894dbd8c0388d99", + "url": "https://jcenter.bintray.com/io/grpc/grpc-core/1.26.0/grpc-core-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-netty:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "io.netty:netty-handler-proxy:4.1.45.Final", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "com.google.android:annotations:4.1.1.4", + "io.grpc:grpc-context:1.26.0", + "io.netty:netty-codec-socks:4.1.45.Final", + "io.opencensus:opencensus-api:0.24.0", + "com.google.code.gson:gson:2.8.6", + "io.netty:netty-codec:4.1.45.Final", + "io.netty:netty-codec-http:4.1.45.Final", + "io.netty:netty-transport:4.1.45.Final", + "com.google.guava:failureaccess:1.0.1", + "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final", + "io.netty:netty-codec-http2:4.1.42.Final", + "io.grpc:grpc-core:1.26.0", + "io.grpc:grpc-api:1.26.0", + "io.perfmark:perfmark-api:0.19.0", + "io.netty:netty-buffer:4.1.45.Final", + "io.netty:netty-handler:4.1.45.Final", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "io.grpc:grpc-core:1.26.0", + "io.netty:netty-codec-http2:4.1.42.Final", + "io.netty:netty-handler-proxy:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0.jar" + ], + "sha256": "8149699b8f4a81f9709ece2b35210c187551da1cb5131efc7227b68822c10049", + "url": "https://jcenter.bintray.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-netty:jar:sources:1.26.0", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec-http2:jar:sources:4.1.42.Final", + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.android:annotations:jar:sources:4.1.1.4", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.perfmark:perfmark-api:jar:sources:0.19.0", + "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final", + "io.opencensus:opencensus-contrib-grpc-metrics:jar:sources:0.24.0", + "io.grpc:grpc-context:jar:sources:1.26.0", + "io.opencensus:opencensus-api:jar:sources:0.24.0", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "com.google.code.gson:gson:jar:sources:2.8.6", + "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.grpc:grpc-api:jar:sources:1.26.0", + "io.grpc:grpc-core:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "com.google.guava:failureaccess:jar:sources:1.0.1", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.grpc:grpc-core:jar:sources:1.26.0", + "io.netty:netty-codec-http2:jar:sources:4.1.42.Final", + "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0-sources.jar" + ], + "sha256": "f3bce95c67c06f8e22aa3ed068834d455d0b21df21a95caf4ffe04c586ac24d9", + "url": "https://jcenter.bintray.com/io/grpc/grpc-netty/1.26.0/grpc-netty-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-protobuf-lite:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "io.grpc:grpc-context:1.26.0", + "com.google.guava:failureaccess:1.0.1", + "io.grpc:grpc-api:1.26.0", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "com.google.guava:guava:28.1-android", + "io.grpc:grpc-api:1.26.0" + ], + "exclusions": [ + "com.google.protobuf:protobuf-javalite", + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0.jar" + ], + "sha256": "195ce913891e9522dbf00059fe72ea8ffeb0e1ad8328dd8197ef5c96d50655ec", + "url": "https://jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-protobuf-lite:jar:sources:1.26.0", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.grpc:grpc-context:jar:sources:1.26.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.grpc:grpc-api:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "com.google.guava:guava:jar:sources:28.1-android", + "io.grpc:grpc-api:jar:sources:1.26.0" + ], + "exclusions": [ + "com.google.protobuf:protobuf-javalite", + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0-sources.jar" + ], + "sha256": "9d948923266521bb62e6a6e297b1ad3d18add8a3af0f75bf511cb4210aa9c9cb", + "url": "https://jcenter.bintray.com/io/grpc/grpc-protobuf-lite/1.26.0/grpc-protobuf-lite-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-protobuf:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "io.grpc:grpc-context:1.26.0", + "com.google.protobuf:protobuf-java:3.11.4", + "com.google.api.grpc:proto-google-common-protos:1.12.0", + "com.google.guava:failureaccess:1.0.1", + "io.grpc:grpc-api:1.26.0", + "io.grpc:grpc-protobuf-lite:1.26.0", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "com.google.guava:guava:28.1-android", + "com.google.protobuf:protobuf-java:3.11.4", + "com.google.api.grpc:proto-google-common-protos:1.12.0", + "io.grpc:grpc-api:1.26.0", + "io.grpc:grpc-protobuf-lite:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0.jar" + ], + "sha256": "e8bf12fe69d51247b079817e82446b8d36f6ddc5fdd22bc30ef711e442e05c71", + "url": "https://jcenter.bintray.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-protobuf:jar:sources:1.26.0", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.grpc:grpc-protobuf-lite:jar:sources:1.26.0", + "com.google.protobuf:protobuf-java:jar:sources:3.11.4", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.grpc:grpc-context:jar:sources:1.26.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "com.google.api.grpc:proto-google-common-protos:jar:sources:1.12.0", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.grpc:grpc-api:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "io.grpc:grpc-protobuf-lite:jar:sources:1.26.0", + "com.google.protobuf:protobuf-java:jar:sources:3.11.4", + "com.google.api.grpc:proto-google-common-protos:jar:sources:1.12.0", + "io.grpc:grpc-api:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0-sources.jar" + ], + "sha256": "f6c42b0b933be42251d3ae75c776621cd789a6cffe2b76fa97966e98f10b69b6", + "url": "https://jcenter.bintray.com/io/grpc/grpc-protobuf/1.26.0/grpc-protobuf-1.26.0-sources.jar" + }, + { + "coord": "io.grpc:grpc-stub:1.26.0", + "dependencies": [ + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "io.grpc:grpc-context:1.26.0", + "com.google.guava:failureaccess:1.0.1", + "io.grpc:grpc-api:1.26.0", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "io.grpc:grpc-api:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0.jar", + "https://maven.google.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0.jar" + ], + "sha256": "b67cbb0a7e1a91e91c5dfb9fc3a0f889119f9132766d1f406f9df4c7c5411eb3", + "url": "https://jcenter.bintray.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0.jar" + }, + { + "coord": "io.grpc:grpc-stub:jar:sources:1.26.0", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.grpc:grpc-context:jar:sources:1.26.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.grpc:grpc-api:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1" + ], + "directDependencies": [ + "io.grpc:grpc-api:jar:sources:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0-sources.jar", + "https://maven.google.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0-sources.jar", + "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0-sources.jar" + ], + "sha256": "b37ce9c9020c0cdd30f2d8f1c9d32d31a957488ffe205fab55d3edf438f9f56a", + "url": "https://jcenter.bintray.com/io/grpc/grpc-stub/1.26.0/grpc-stub-1.26.0-sources.jar" + }, { "coord": "io.kindedj:kindedj:1.1.0", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0.jar", @@ -563,6 +1585,24 @@ "sha256": "c8786c94de34869f087d28b52777374cbb349d827673044c56c63678b448f3f8", "url": "https://jcenter.bintray.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0.jar" }, + { + "coord": "io.kindedj:kindedj:jar:sources:1.1.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0-sources.jar", + "https://maven.google.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0-sources.jar", + "https://repo1.maven.org/maven2/io/kindedj/kindedj/1.1.0/kindedj-1.1.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/kindedj/kindedj/1.1.0/kindedj-1.1.0-sources.jar" + ], + "sha256": "d2c5784e857f9c4538cc37c1ca8ed55c9411eec50d5bb7eb7613f96fba38085f", + "url": "https://jcenter.bintray.com/io/kindedj/kindedj/1.1.0/kindedj-1.1.0-sources.jar" + }, { "coord": "io.kotlintest:kotlintest-assertions:3.2.1", "dependencies": [ @@ -580,6 +1620,10 @@ "org.jetbrains.kotlin:kotlin-reflect:1.3.20", "org.jetbrains.kotlin:kotlin-stdlib:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1.jar", @@ -590,6 +1634,37 @@ "sha256": "61027acae04abcec8c1cacec425a8ae6d6e2f4f7282ae00fdd12b0d3a10d3ce3", "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1.jar" }, + { + "coord": "io.kotlintest:kotlintest-assertions:jar:sources:3.2.1", + "dependencies": [ + "com.github.wumpz:diffutils:jar:sources:2.2", + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "com.univocity:univocity-parsers:jar:sources:2.7.6", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "org.eclipse.jgit:org.eclipse.jgit:jar:sources:4.4.1.201607150455-r", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20" + ], + "directDependencies": [ + "com.github.wumpz:diffutils:jar:sources:2.2", + "com.univocity:univocity-parsers:jar:sources:2.7.6", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1-sources.jar", + "https://maven.google.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1-sources.jar", + "https://repo1.maven.org/maven2/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1-sources.jar" + ], + "sha256": "8389f529913114651f9f8ac772f03fd9a4a4e26db70365b79dda716d54133127", + "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-assertions/3.2.1/kotlintest-assertions-3.2.1-sources.jar" + }, { "coord": "io.kotlintest:kotlintest-core:3.2.1", "dependencies": [ @@ -607,6 +1682,10 @@ "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1.jar", @@ -617,6 +1696,37 @@ "sha256": "d52cfd0379d5a14e9899220ae6362fd6d4abb84eeddd7d4c9585ea1dc09610bb", "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1.jar" }, + { + "coord": "io.kotlintest:kotlintest-core:jar:sources:3.2.1", + "dependencies": [ + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1-sources.jar", + "https://maven.google.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1-sources.jar", + "https://repo1.maven.org/maven2/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1-sources.jar" + ], + "sha256": "5d4e40761bc458796371efe5cd12050e9b5a58e737e80b1ded6cc47c4efc092d", + "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-core/3.2.1/kotlintest-core-3.2.1-sources.jar" + }, { "coord": "io.kotlintest:kotlintest-runner-junit5:3.2.1", "dependencies": [ @@ -654,6 +1764,10 @@ "org.junit.platform:junit-platform-engine:1.3.2", "org.junit.platform:junit-platform-suite-api:1.3.2" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1.jar", @@ -661,8 +1775,59 @@ "https://repo1.maven.org/maven2/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1.jar", "https://dl.bintray.com/micronaut/core-releases-local/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1.jar" ], - "sha256": "f1ecd492cbf3b50bf045caa44760f18c9e740889644eb4bcbc01bf670c94dd3b", - "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1.jar" + "sha256": "f1ecd492cbf3b50bf045caa44760f18c9e740889644eb4bcbc01bf670c94dd3b", + "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1.jar" + }, + { + "coord": "io.kotlintest:kotlintest-runner-junit5:jar:sources:3.2.1", + "dependencies": [ + "com.github.wumpz:diffutils:jar:sources:2.2", + "org.jetbrains:annotations:jar:sources:13.0", + "io.kotlintest:kotlintest-assertions:jar:sources:3.2.1", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.junit.platform:junit-platform-engine:jar:sources:1.3.2", + "com.univocity:univocity-parsers:jar:sources:2.7.6", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "io.arrow-kt:arrow-annotations:jar:sources:0.8.2", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2", + "io.kotlintest:kotlintest-core:jar:sources:3.2.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "io.github.classgraph:classgraph:jar:sources:4.6.18", + "org.junit.platform:junit-platform-suite-api:jar:sources:1.3.2", + "org.eclipse.jgit:org.eclipse.jgit:jar:sources:4.4.1.201607150455-r", + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.junit.platform:junit-platform-launcher:jar:sources:1.3.2", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "io.arrow-kt:arrow-core:jar:sources:0.8.2", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0", + "io.kotlintest:kotlintest-runner-jvm:jar:sources:3.2.1", + "org.opentest4j:opentest4j:jar:sources:1.1.1", + "io.kindedj:kindedj:jar:sources:1.1.0" + ], + "directDependencies": [ + "io.kotlintest:kotlintest-assertions:jar:sources:3.2.1", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.junit.platform:junit-platform-engine:jar:sources:1.3.2", + "io.kotlintest:kotlintest-core:jar:sources:3.2.1", + "org.junit.platform:junit-platform-suite-api:jar:sources:1.3.2", + "org.junit.platform:junit-platform-launcher:jar:sources:1.3.2", + "io.kotlintest:kotlintest-runner-jvm:jar:sources:3.2.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1-sources.jar", + "https://maven.google.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1-sources.jar", + "https://repo1.maven.org/maven2/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1-sources.jar" + ], + "sha256": "987bd9bdec85cfeb32bbd33bcdd496cc4f55c1467fe7b200362850397775354f", + "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-junit5/3.2.1/kotlintest-runner-junit5-3.2.1-sources.jar" }, { "coord": "io.kotlintest:kotlintest-runner-jvm:3.2.1", @@ -689,6 +1854,10 @@ "org.jetbrains.kotlin:kotlin-stdlib:1.3.20", "io.arrow-kt:arrow-core:0.8.2" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1.jar", @@ -699,6 +1868,45 @@ "sha256": "e693988b1df96bc1b59c65ec3278bcdf07c203c7751d33be4753a2bf44128f39", "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1.jar" }, + { + "coord": "io.kotlintest:kotlintest-runner-jvm:jar:sources:3.2.1", + "dependencies": [ + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "io.arrow-kt:arrow-annotations:jar:sources:0.8.2", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.kotlintest:kotlintest-core:jar:sources:3.2.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "io.github.classgraph:classgraph:jar:sources:4.6.18", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "io.arrow-kt:arrow-core:jar:sources:0.8.2", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0", + "io.kindedj:kindedj:jar:sources:1.1.0" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.kotlintest:kotlintest-core:jar:sources:3.2.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "io.github.classgraph:classgraph:jar:sources:4.6.18", + "io.arrow-kt:arrow-core:jar:sources:0.8.2" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1-sources.jar", + "https://maven.google.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1-sources.jar", + "https://repo1.maven.org/maven2/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1-sources.jar" + ], + "sha256": "79d3db9bd1b5f62f1f06a89bbe6519d8ea04fccee09a272a4c07434a7d252977", + "url": "https://jcenter.bintray.com/io/kotlintest/kotlintest-runner-jvm/3.2.1/kotlintest-runner-jvm-3.2.1-sources.jar" + }, { "coord": "io.lettuce:lettuce-core:5.1.7.RELEASE", "dependencies": [ @@ -717,6 +1925,10 @@ "io.netty:netty-transport:4.1.45.Final", "io.projectreactor:reactor-core:3.2.8.RELEASE" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE.jar", @@ -727,6 +1939,38 @@ "sha256": "9e118d8a1e4c0e92e7da2fe6ad956d7cc88666a2a4aceef8a757262c3b1c229e", "url": "https://jcenter.bintray.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE.jar" }, + { + "coord": "io.lettuce:lettuce-core:jar:sources:5.1.7.RELEASE", + "dependencies": [ + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.projectreactor:reactor-core:jar:sources:3.2.8.RELEASE" + ], + "directDependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.projectreactor:reactor-core:jar:sources:3.2.8.RELEASE" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE-sources.jar", + "https://maven.google.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE-sources.jar", + "https://repo1.maven.org/maven2/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE-sources.jar" + ], + "sha256": "87668585edf28445aa821d3e91a99f7011712fa9d4fcde5c1ce2c07629a98c34", + "url": "https://jcenter.bintray.com/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE-sources.jar" + }, { "coord": "io.micronaut.configuration:micronaut-redis-lettuce:1.2.0", "dependencies": [ @@ -761,6 +2005,10 @@ "io.lettuce:lettuce-core:5.1.7.RELEASE", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0.jar", @@ -771,6 +2019,378 @@ "sha256": "7ca0ad437de4abf85be04ee21c9da2deda47961ef9e0a50d6887e2fc05dd2da8", "url": "https://jcenter.bintray.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0.jar" }, + { + "coord": "io.micronaut.configuration:micronaut-redis-lettuce:jar:sources:1.2.0", + "dependencies": [ + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.lettuce:lettuce-core:jar:sources:5.1.7.RELEASE", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.projectreactor:reactor-core:jar:sources:3.2.8.RELEASE", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.lettuce:lettuce-core:jar:sources:5.1.7.RELEASE", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0-sources.jar", + "https://maven.google.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0-sources.jar" + ], + "sha256": "a816fb9e5f79ce331c0dde83c821dc0bb394b94af5f27c45190f7c1866e18bf7", + "url": "https://jcenter.bintray.com/io/micronaut/configuration/micronaut-redis-lettuce/1.2.0/micronaut-redis-lettuce-1.2.0-sources.jar" + }, + { + "coord": "io.micronaut.grpc:micronaut-grpc-annotation:1.1.1", + "dependencies": [ + "org.reactivestreams:reactive-streams:1.0.3", + "com.google.code.findbugs:jsr305:3.0.2", + "org.slf4j:slf4j-api:1.7.26", + "org.yaml:snakeyaml:1.24", + "io.micronaut:micronaut-core:1.3.1", + "io.micronaut:micronaut-inject:1.3.1", + "javax.annotation:javax.annotation-api:1.3.2", + "javax.inject:javax.inject:1" + ], + "directDependencies": [ + "io.micronaut:micronaut-inject:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1.jar", + "https://maven.google.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1.jar", + "https://repo1.maven.org/maven2/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1.jar" + ], + "sha256": "41eb02465c10fcf0b775c65a751d48b98e5e814986379f8a266fd0dfb2cd6251", + "url": "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1.jar" + }, + { + "coord": "io.micronaut.grpc:micronaut-grpc-annotation:jar:sources:1.1.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-inject:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1-sources.jar", + "https://maven.google.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1-sources.jar" + ], + "sha256": "b355db7be8364e66c5fdec4116b06fe46d9c9fa052c4efa74c10469574def877", + "url": "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-annotation/1.1.1/micronaut-grpc-annotation-1.1.1-sources.jar" + }, + { + "coord": "io.micronaut.grpc:micronaut-grpc-runtime:1.1.1", + "dependencies": [ + "org.reactivestreams:reactive-streams:1.0.3", + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "io.netty:netty-handler-proxy:4.1.45.Final", + "io.grpc:grpc-stub:1.26.0", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2", + "com.google.android:annotations:4.1.1.4", + "io.grpc:grpc-context:1.26.0", + "org.slf4j:slf4j-api:1.7.26", + "io.netty:netty-codec-socks:4.1.45.Final", + "com.google.protobuf:protobuf-java:3.11.4", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.1", + "io.opencensus:opencensus-api:0.24.0", + "io.grpc:grpc-protobuf:1.26.0", + "com.google.code.gson:gson:2.8.6", + "com.google.api.grpc:proto-google-common-protos:1.12.0", + "io.micronaut:micronaut-aop:1.3.1", + "io.reactivex.rxjava2:rxjava:2.2.10", + "io.micronaut:micronaut-http:1.3.1", + "org.yaml:snakeyaml:1.24", + "com.fasterxml.jackson.core:jackson-core:2.10.1", + "io.grpc:grpc-netty:1.26.0", + "io.micronaut:micronaut-core:1.3.1", + "io.netty:netty-codec:4.1.45.Final", + "com.fasterxml.jackson.core:jackson-annotations:2.10.1", + "io.micronaut.grpc:micronaut-grpc-annotation:1.1.1", + "io.micronaut:micronaut-inject:1.3.1", + "io.netty:netty-codec-http:4.1.45.Final", + "javax.annotation:javax.annotation-api:1.3.2", + "io.netty:netty-transport:4.1.45.Final", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.1", + "com.google.guava:failureaccess:1.0.1", + "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final", + "javax.inject:javax.inject:1", + "io.netty:netty-codec-http2:4.1.42.Final", + "com.fasterxml.jackson.core:jackson-databind:2.10.1", + "io.grpc:grpc-core:1.26.0", + "io.grpc:grpc-api:1.26.0", + "io.perfmark:perfmark-api:0.19.0", + "io.netty:netty-buffer:4.1.45.Final", + "javax.validation:validation-api:2.0.1.Final", + "io.netty:netty-handler:4.1.45.Final", + "io.micronaut:micronaut-runtime:1.3.1", + "io.grpc:grpc-protobuf-lite:1.26.0", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "io.grpc:grpc-stub:1.26.0", + "io.grpc:grpc-protobuf:1.26.0", + "io.grpc:grpc-netty:1.26.0", + "io.micronaut.grpc:micronaut-grpc-annotation:1.1.1", + "io.micronaut:micronaut-inject:1.3.1", + "io.micronaut:micronaut-runtime:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1.jar", + "https://maven.google.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1.jar", + "https://repo1.maven.org/maven2/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1.jar" + ], + "sha256": "3c2cf0d185290029dae265882988fdadef934b6118d410ae0ebad9343c184f26", + "url": "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1.jar" + }, + { + "coord": "io.micronaut.grpc:micronaut-grpc-runtime:jar:sources:1.1.1", + "dependencies": [ + "io.micronaut.grpc:micronaut-grpc-annotation:jar:sources:1.1.1", + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec-http2:jar:sources:4.1.42.Final", + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.grpc:grpc-protobuf-lite:jar:sources:1.26.0", + "com.google.protobuf:protobuf-java:jar:sources:3.11.4", + "com.google.android:annotations:jar:sources:4.1.1.4", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.grpc:grpc-protobuf:jar:sources:1.26.0", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.perfmark:perfmark-api:jar:sources:0.19.0", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final", + "io.opencensus:opencensus-contrib-grpc-metrics:jar:sources:0.24.0", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.grpc:grpc-context:jar:sources:1.26.0", + "javax.inject:javax.inject:jar:sources:1", + "io.grpc:grpc-stub:jar:sources:1.26.0", + "io.opencensus:opencensus-api:jar:sources:0.24.0", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.google.code.gson:gson:jar:sources:2.8.6", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "com.google.api.grpc:proto-google-common-protos:jar:sources:1.12.0", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.grpc:grpc-api:jar:sources:1.26.0", + "io.grpc:grpc-core:jar:sources:1.26.0", + "com.google.guava:guava:jar:sources:28.1-android", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "com.google.guava:failureaccess:jar:sources:1.0.1", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.grpc:grpc-netty:jar:sources:1.26.0" + ], + "directDependencies": [ + "io.micronaut.grpc:micronaut-grpc-annotation:jar:sources:1.1.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.grpc:grpc-protobuf:jar:sources:1.26.0", + "io.grpc:grpc-stub:jar:sources:1.26.0", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.grpc:grpc-netty:jar:sources:1.26.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1-sources.jar", + "https://maven.google.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1-sources.jar" + ], + "sha256": "3b93c87c43e3bbf0d061ebcf69e8234db2b4f4361095b33942e386caac4ce862", + "url": "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-grpc-runtime/1.1.1/micronaut-grpc-runtime-1.1.1-sources.jar" + }, + { + "coord": "io.micronaut.grpc:micronaut-protobuff-support:1.1.1", + "dependencies": [ + "org.reactivestreams:reactive-streams:1.0.3", + "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", + "io.micronaut:micronaut-buffer-netty:1.3.1", + "com.google.code.findbugs:jsr305:3.0.2", + "org.slf4j:slf4j-api:1.7.26", + "io.micronaut:micronaut-http-netty:1.3.1", + "com.google.protobuf:protobuf-java:3.11.4", + "com.google.code.gson:gson:2.8.6", + "io.micronaut:micronaut-aop:1.3.1", + "io.reactivex.rxjava2:rxjava:2.2.10", + "com.google.protobuf:protobuf-java-util:3.11.1", + "io.micronaut:micronaut-http:1.3.1", + "org.yaml:snakeyaml:1.24", + "io.micronaut:micronaut-websocket:1.3.1", + "io.micronaut:micronaut-core:1.3.1", + "io.netty:netty-codec:4.1.45.Final", + "io.micronaut:micronaut-inject:1.3.1", + "io.netty:netty-codec-http:4.1.45.Final", + "javax.annotation:javax.annotation-api:1.3.2", + "io.netty:netty-transport:4.1.45.Final", + "com.google.guava:failureaccess:1.0.1", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final", + "javax.inject:javax.inject:1", + "io.netty:netty-buffer:4.1.45.Final", + "io.netty:netty-handler:4.1.45.Final", + "org.checkerframework:checker-compat-qual:2.5.5" + ], + "directDependencies": [ + "io.micronaut:micronaut-http-netty:1.3.1", + "com.google.protobuf:protobuf-java:3.11.4", + "com.google.protobuf:protobuf-java-util:3.11.1", + "io.micronaut:micronaut-http:1.3.1", + "io.micronaut:micronaut-inject:1.3.1", + "javax.annotation:javax.annotation-api:1.3.2" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1.jar", + "https://maven.google.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1.jar", + "https://repo1.maven.org/maven2/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1.jar" + ], + "sha256": "e968f8281bd2ec6846cab5c49bfe21615251019ea6d2b168cb43a9f30757040a", + "url": "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1.jar" + }, + { + "coord": "io.micronaut.grpc:micronaut-protobuff-support:jar:sources:1.1.1", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.protobuf:protobuf-java:jar:sources:3.11.4", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "com.google.protobuf:protobuf-java-util:jar:sources:3.11.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.google.code.gson:gson:jar:sources:2.8.6", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.yaml:snakeyaml:jar:sources:1.24", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "com.google.guava:guava:jar:sources:28.1-android", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "com.google.guava:failureaccess:jar:sources:1.0.1", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "com.google.protobuf:protobuf-java:jar:sources:3.11.4", + "com.google.protobuf:protobuf-java-util:jar:sources:3.11.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1-sources.jar", + "https://maven.google.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1-sources.jar" + ], + "sha256": "13d3e51db7e33fb8c8f534282a8222768fd03d53e2d5e085464f93d1d6a118eb", + "url": "https://jcenter.bintray.com/io/micronaut/grpc/micronaut-protobuff-support/1.1.1/micronaut-protobuff-support-1.1.1-sources.jar" + }, { "coord": "io.micronaut.test:micronaut-test-core:1.1.2", "dependencies": [ @@ -797,6 +2417,10 @@ "io.micronaut:micronaut-inject:1.3.1", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2.jar", @@ -807,6 +2431,46 @@ "sha256": "75839e1db044d8cbac47626371c3e30d3f247238c93a78ed864945c01c851cae", "url": "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2.jar" }, + { + "coord": "io.micronaut.test:micronaut-test-core:jar:sources:1.1.2", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2-sources.jar", + "https://maven.google.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2-sources.jar" + ], + "sha256": "b506578ea16186bd6528613b54d2e122c3735bf7e17ef5e83fd2ed433e7f9992", + "url": "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-core/1.1.2/micronaut-test-core-1.1.2-sources.jar" + }, { "coord": "io.micronaut.test:micronaut-test-kotlintest:1.1.2", "dependencies": [ @@ -863,6 +2527,10 @@ "io.kotlintest:kotlintest-runner-junit5:3.2.1", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2.jar", @@ -873,6 +2541,76 @@ "sha256": "32b05b9cf635b08272b585a21917c986ed06afe044c68367ed7dc654baf3a7e3", "url": "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2.jar" }, + { + "coord": "io.micronaut.test:micronaut-test-kotlintest:jar:sources:1.1.2", + "dependencies": [ + "com.github.wumpz:diffutils:jar:sources:2.2", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "org.jetbrains:annotations:jar:sources:13.0", + "io.kotlintest:kotlintest-assertions:jar:sources:3.2.1", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.junit.platform:junit-platform-engine:jar:sources:1.3.2", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "com.univocity:univocity-parsers:jar:sources:2.7.6", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "io.arrow-kt:arrow-annotations:jar:sources:0.8.2", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:sources:1.3.20", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2", + "io.kotlintest:kotlintest-core:jar:sources:3.2.1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "io.github.classgraph:classgraph:jar:sources:4.6.18", + "org.yaml:snakeyaml:jar:sources:1.24", + "org.junit.platform:junit-platform-suite-api:jar:sources:1.3.2", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "org.eclipse.jgit:org.eclipse.jgit:jar:sources:4.4.1.201607150455-r", + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.junit.platform:junit-platform-launcher:jar:sources:1.3.2", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "io.arrow-kt:arrow-core:jar:sources:0.8.2", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0", + "io.kotlintest:kotlintest-runner-jvm:jar:sources:3.2.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut.test:micronaut-test-core:jar:sources:1.1.2", + "io.kotlintest:kotlintest-runner-junit5:jar:sources:3.2.1", + "org.opentest4j:opentest4j:jar:sources:1.1.1", + "io.kindedj:kindedj:jar:sources:1.1.0" + ], + "directDependencies": [ + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:sources:1.3.20", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut.test:micronaut-test-core:jar:sources:1.1.2", + "io.kotlintest:kotlintest-runner-junit5:jar:sources:3.2.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2-sources.jar", + "https://maven.google.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2-sources.jar" + ], + "sha256": "168712a4a3033436883ddf99cb5b4455be9ba4c808db1f63059e19b517f1efc2", + "url": "https://jcenter.bintray.com/io/micronaut/test/micronaut-test-kotlintest/1.1.2/micronaut-test-kotlintest-1.1.2-sources.jar" + }, { "coord": "io.micronaut:micronaut-aop:1.3.1", "dependencies": [ @@ -890,6 +2628,10 @@ "io.micronaut:micronaut-inject:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1.jar", @@ -900,6 +2642,37 @@ "sha256": "e1b11374880c0683c21e9ba3d9001040526b6e533d2abf437888810e0774fb74", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1-sources.jar" + ], + "sha256": "e7ab938e1159ff7355dc8663bdfd81261c3ab39a9304b65bfb65e5f740be915b", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-aop/1.3.1/micronaut-aop-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-buffer-netty:1.3.1", "dependencies": [ @@ -920,6 +2693,10 @@ "io.netty:netty-buffer:4.1.45.Final", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1.jar", @@ -930,6 +2707,40 @@ "sha256": "f0224f49f243240ed6d049fff63de30354a6147e7cfe3c4bb0a0f1f7fd5dfc77", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1-sources.jar" + ], + "sha256": "0734429266c6f960ec86a1474b82c775e275c79bf195c83d665dfb17b4bf5014", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-buffer-netty/1.3.1/micronaut-buffer-netty-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-core:1.3.1", "dependencies": [ @@ -942,6 +2753,10 @@ "org.reactivestreams:reactive-streams:1.0.3", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1.jar", @@ -952,6 +2767,32 @@ "sha256": "1db5468f27cb108e944e510adc3cf260a130e724395f40c9d4f3ca65c3f6c335", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-core:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3" + ], + "directDependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1-sources.jar" + ], + "sha256": "2c390d08bc77efa76e1a95bc8eeef3e134551bf83b756ce1d318ca4ae9888aa8", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-core/1.3.1/micronaut-core-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-graal:1.3.1", "dependencies": [ @@ -972,6 +2813,10 @@ "io.micronaut:micronaut-inject:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1.jar", @@ -982,6 +2827,40 @@ "sha256": "251dd8ffa47deb3b9f8d67c9bcccd67e64ec0c47021c928dae5504e952e2c600", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-graal:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1-sources.jar" + ], + "sha256": "00408e2ef043d692b25e68ac07052c117bb6d377cafc082cc4ddb9430b933db7", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-graal/1.3.1/micronaut-graal-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-http-client:1.3.1", "dependencies": [ @@ -1024,6 +2903,10 @@ "io.micronaut:micronaut-websocket:1.3.1", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1.jar", @@ -1034,6 +2917,62 @@ "sha256": "a9dfda3094dabc79d7e46ebdccbaf72bb854312226448188f25d34bf7dc403fe", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-http-client:jar:sources:1.3.1", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1-sources.jar" + ], + "sha256": "fdae83df245a9ab0f623a34f5cca786d2083b9129e6465c4a06fcd94a0829d14", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-client/1.3.1/micronaut-http-client-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-http-netty:1.3.1", "dependencies": [ @@ -1067,6 +3006,10 @@ "io.netty:netty-codec-http:4.1.45.Final", "io.netty:netty-handler:4.1.45.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1.jar", @@ -1077,6 +3020,53 @@ "sha256": "0668ff47981ccd216f2cb36b913f1bfc08c5558b8671b941a0f4b770eace0631", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1-sources.jar" + ], + "sha256": "939e1add28cebd0d0f71212fe128230c863a1e91facb91212dc218fd1cdf8546", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-netty/1.3.1/micronaut-http-netty-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-http-server-netty:1.3.1", "dependencies": [ @@ -1118,6 +3108,10 @@ "io.micronaut:micronaut-core:1.3.1", "io.netty:netty-codec-http:4.1.45.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1.jar", @@ -1128,6 +3122,61 @@ "sha256": "49f0f008cbbc3f10b09e697841b47e7eacb02170fa7fadd980afc508753d11f3", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-http-server-netty:jar:sources:1.3.1", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1-sources.jar" + ], + "sha256": "2bd8319bb0b0bac91b71576ac78d9001a9ab978eee4d4d213b02af4ebe260938", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-server-netty/1.3.1/micronaut-http-server-netty-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-http-server:1.3.1", "dependencies": [ @@ -1158,6 +3207,10 @@ "io.micronaut:micronaut-websocket:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1.jar", @@ -1168,6 +3221,50 @@ "sha256": "ac5f074d4e8fa4c355111cc31e67a580cf940aae5c384ed4464b0aa5b523123c", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1-sources.jar" + ], + "sha256": "720dd0ab3ff5c8e00bce7d9fddfcb961a0bca366559b03e6a93400bfda325292", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http-server/1.3.1/micronaut-http-server-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-http:1.3.1", "dependencies": [ @@ -1184,6 +3281,10 @@ "io.micronaut:micronaut-inject:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1.jar", @@ -1194,6 +3295,36 @@ "sha256": "4cfeb327901568de96d0f2030aefdfb8d5fe58f3d58f84e1f224005675902096", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-http:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1-sources.jar" + ], + "sha256": "00c0ab3f9d3f48dd13ea41efadf423d4f6d23fefd5af62c09dd14c7e74f71dac", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-http/1.3.1/micronaut-http-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-inject-java:1.3.1", "dependencies": [ @@ -1212,6 +3343,10 @@ "io.micronaut:micronaut-inject:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1.jar", @@ -1222,6 +3357,38 @@ "sha256": "0d9e35824fd495434fe7986c43b642df77d779688f332d9458cec6464dc10dfa", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-inject-java:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1-sources.jar" + ], + "sha256": "bdf7686fd64cc82db3ab08e5a30ee4cc33b797adb11329177993a9e3a4b0b1bb", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-inject-java/1.3.1/micronaut-inject-java-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-inject:1.3.1", "dependencies": [ @@ -1240,6 +3407,10 @@ "javax.annotation:javax.annotation-api:1.3.2", "javax.inject:javax.inject:1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1.jar", @@ -1250,6 +3421,38 @@ "sha256": "81a19602f908f83a9c4a440722ccc95b0a041563405028c63b62cfbc79f14f26", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1-sources.jar" + ], + "sha256": "11e83eafbaef326fe7b37138cdfea318a09eb21c101476e8f9c83d8fd28ae31d", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-inject/1.3.1/micronaut-inject-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-management:1.3.0", "dependencies": [ @@ -1278,6 +3481,10 @@ "io.micronaut:micronaut-runtime:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0.jar", @@ -1288,6 +3495,48 @@ "sha256": "96b3daf77522e499cc2bb7a2509d8642bc6d32dd22e48a6f1ad5fd51bb44a9bd", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0.jar" }, + { + "coord": "io.micronaut:micronaut-management:jar:sources:1.3.0", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0-sources.jar" + ], + "sha256": "6f2e2de9a2214756307bc1e1a8378c3f0011f351c86107eba4c4c7ebb9fb29cf", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-management/1.3.0/micronaut-management-1.3.0-sources.jar" + }, { "coord": "io.micronaut:micronaut-multitenancy:1.3.1", "dependencies": [ @@ -1319,6 +3568,10 @@ "io.micronaut:micronaut-runtime:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1.jar", @@ -1329,6 +3582,51 @@ "sha256": "def8c54333143123817980fa1fc8e174edbbc97acc2a79106bd304ec630ac761", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-multitenancy:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1-sources.jar" + ], + "sha256": "b840de0ca6128e77965f15acb75dc58224a72ede03eaf1557418d41f8dd6f418", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-multitenancy/1.3.1/micronaut-multitenancy-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-router:1.3.1", "dependencies": [ @@ -1347,6 +3645,10 @@ "io.micronaut:micronaut-inject:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1.jar", @@ -1357,6 +3659,38 @@ "sha256": "0620dd1a213f9460d2d792abeacbfe4d83f6f87ce65743a3fb90586906bcbd49", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-router:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1-sources.jar" + ], + "sha256": "9bdef61e712b2bf97c4504ba32fa8337fe51a9458c170887eb563e37fd1a6add", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-router/1.3.1/micronaut-router-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-runtime:1.3.1", "dependencies": [ @@ -1389,6 +3723,10 @@ "com.fasterxml.jackson.core:jackson-databind:2.10.1", "javax.validation:validation-api:2.0.1.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1.jar", @@ -1399,6 +3737,52 @@ "sha256": "c6bcf268706fcf4fc6ab432d734c86a6cd63e10b1a504b060534e473f780fd10", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1-sources.jar" + ], + "sha256": "0d21e666e836a24a58f5ac89593012063728a975a925fb2c1782a4b07f652ac2", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-runtime/1.3.1/micronaut-runtime-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-security:1.3.0", "dependencies": [ @@ -1434,6 +3818,10 @@ "io.micronaut:micronaut-inject:1.3.1", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0.jar", @@ -1444,6 +3832,55 @@ "sha256": "a3e777cbdd8591145aa786889ca258140b3af45e43de90d63178251b1cb45a3b", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0.jar" }, + { + "coord": "io.micronaut:micronaut-security:jar:sources:1.3.0", + "dependencies": [ + "io.micronaut:micronaut-validation:jar:sources:1.3.1", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.micronaut:micronaut-management:jar:sources:1.3.0", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-validation:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-management:jar:sources:1.3.0", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0-sources.jar" + ], + "sha256": "6befd4baa4d0e86d9e43216b03fb03bb701fa0232fb2ea04ba87020018bc36c9", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-security/1.3.0/micronaut-security-1.3.0-sources.jar" + }, { "coord": "io.micronaut:micronaut-session:1.3.1", "dependencies": [ @@ -1471,6 +3908,10 @@ "io.micronaut:micronaut-runtime:1.3.1", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1.jar", @@ -1481,6 +3922,47 @@ "sha256": "d94f981fa3aeb23b6fec4f40bd960390f607a40d0621b8a1df3bd661f1407191", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-session:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1-sources.jar" + ], + "sha256": "7780be2f6ca9574e64c0e65a3c65e0c4ae3bf9d672a2c5bf66006662e7488d82", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-session/1.3.1/micronaut-session-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-tracing:1.3.1", "dependencies": [ @@ -1527,6 +4009,10 @@ "io.opentracing:opentracing-util:0.33.0", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1.jar", @@ -1537,6 +4023,66 @@ "sha256": "ba138e0ee625a79cd75711b0816c82f6a5d960e6e1e784d434055d98a6bbeb95", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-tracing:jar:sources:1.3.1", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "io.micronaut:micronaut-http-client:jar:sources:1.3.1", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "io.opentracing:opentracing-noop:jar:sources:0.33.0", + "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "io.opentracing:opentracing-api:jar:sources:0.33.0", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.opentracing:opentracing-util:jar:sources:0.33.0", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-netty:jar:sources:1.3.1", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-buffer-netty:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http-client:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.opentracing:opentracing-api:jar:sources:0.33.0", + "io.opentracing:opentracing-util:jar:sources:0.33.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1-sources.jar" + ], + "sha256": "4625577a8d459ce6aaff793e014c14d9ef4f5fe2a0413ebabfe107222a8aeeee", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-tracing/1.3.1/micronaut-tracing-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-validation:1.3.1", "dependencies": [ @@ -1557,6 +4103,10 @@ "javax.validation:validation-api:2.0.1.Final", "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1.jar", @@ -1567,6 +4117,40 @@ "sha256": "5884865230cc81886702ca87a3e8286205061dd4ce1318eb064067e753230f0f", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-validation:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1-sources.jar" + ], + "sha256": "2abbc6e53bd23cd1180657ea9ed9f61ed7495ebed72528a4a20c2884385c6114", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-validation/1.3.1/micronaut-validation-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views-core:1.3.1", "dependencies": [ @@ -1597,6 +4181,10 @@ "io.micronaut:micronaut-http-server:1.3.1", "io.micronaut:micronaut-runtime:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1.jar", @@ -1607,6 +4195,50 @@ "sha256": "49eecad81e88e5861559f6316d8a61c8e8bf0bac2136c0694a997a64a2d46683", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1-sources.jar" + ], + "sha256": "6b5bbbe93510f69e25eac9e0b094a53071b2fd19681f499fec79b784f2d06619", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-core/1.3.1/micronaut-views-core-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views-freemarker:1.3.1", "dependencies": [ @@ -1640,7 +4272,9 @@ "io.micronaut:micronaut-views-core:1.3.1" ], "exclusions": [ - "org.freemarker:freemarker" + "org.freemarker:freemarker", + "com.google.common.html.types:types", + "com.google.template:soy" ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1.jar", "mirror_urls": [ @@ -1652,6 +4286,53 @@ "sha256": "308e603a83532582af9de5693d7f4c1d1e9fb2d3abd67646b3e1593b89721799", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-views-freemarker:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1" + ], + "exclusions": [ + "org.freemarker:freemarker", + "com.google.common.html.types:types", + "com.google.template:soy" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1-sources.jar" + ], + "sha256": "383f6cd44a3f79c87216ade3fcec9feee43c61e8e731e9e54f078095a8f1741c", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-freemarker/1.3.1/micronaut-views-freemarker-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views-handlebars:1.3.1", "dependencies": [ @@ -1685,7 +4366,9 @@ "io.micronaut:micronaut-views-core:1.3.1" ], "exclusions": [ - "com.github.jknack:handlebars" + "com.github.jknack:handlebars", + "com.google.common.html.types:types", + "com.google.template:soy" ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1.jar", "mirror_urls": [ @@ -1697,6 +4380,53 @@ "sha256": "e06ea590ad8e4c3941b9be2ccd0c66e004729763f6c3125e6df89fd7d05357c5", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-views-handlebars:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1" + ], + "exclusions": [ + "com.github.jknack:handlebars", + "com.google.common.html.types:types", + "com.google.template:soy" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1-sources.jar" + ], + "sha256": "4d2209b940329bf13334a81ec66453a718acd34b498bb58fc86e637e2217ae5f", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-handlebars/1.3.1/micronaut-views-handlebars-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views-soy:1.3.1", "dependencies": [ @@ -1730,7 +4460,8 @@ "io.micronaut:micronaut-views-core:1.3.1" ], "exclusions": [ - "com.google.template:soy" + "com.google.template:soy", + "com.google.common.html.types:types" ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1.jar", "mirror_urls": [ @@ -1742,6 +4473,52 @@ "sha256": "9b11a156cda98c270c83316a4392a389effe4d23b3ed8810a03a2752dae26f80", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-views-soy:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1-sources.jar" + ], + "sha256": "0ab576b2232c754b8faaf0cd45ea9526e69e2b79cdf7e9b46523b1dc92f9134f", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-soy/1.3.1/micronaut-views-soy-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views-thymeleaf:1.3.1", "dependencies": [ @@ -1776,7 +4553,9 @@ "io.micronaut:micronaut-runtime:1.3.1" ], "exclusions": [ - "org.thymeleaf:thymeleaf" + "org.thymeleaf:thymeleaf", + "com.google.common.html.types:types", + "com.google.template:soy" ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1.jar", "mirror_urls": [ @@ -1788,6 +4567,54 @@ "sha256": "3e9269c413bb198490b683352404f87e999d43139b48cc39d7f2b27f93f9da09", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-views-thymeleaf:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1" + ], + "exclusions": [ + "org.thymeleaf:thymeleaf", + "com.google.common.html.types:types", + "com.google.template:soy" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1-sources.jar" + ], + "sha256": "c6d07a77296f23ae5e7e4452adeae3253fee56ad3d7e5b0df3b5dbf1be60d81f", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-thymeleaf/1.3.1/micronaut-views-thymeleaf-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views-velocity:1.3.1", "dependencies": [ @@ -1821,7 +4648,9 @@ "io.micronaut:micronaut-views-core:1.3.1" ], "exclusions": [ - "org.apache.velocity:velocity-engine-core" + "org.apache.velocity:velocity-engine-core", + "com.google.common.html.types:types", + "com.google.template:soy" ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1.jar", "mirror_urls": [ @@ -1833,6 +4662,53 @@ "sha256": "b410cd0c1eca32c920990e4a16d4371f56104ddca2aa05e33922bec76c3ca7a2", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-views-velocity:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1" + ], + "exclusions": [ + "org.apache.velocity:velocity-engine-core", + "com.google.common.html.types:types", + "com.google.template:soy" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1-sources.jar" + ], + "sha256": "be9ebf584b4c3086114ba6acb46f69a9f4361a5ae181255ca4734ff1a8bae557", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views-velocity/1.3.1/micronaut-views-velocity-1.3.1-sources.jar" + }, { "coord": "io.micronaut:micronaut-views:1.3.1", "dependencies": [ @@ -1872,15 +4748,72 @@ "io.micronaut:micronaut-views-core:1.3.1", "io.micronaut:micronaut-views-handlebars:1.3.1" ], - "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", + "exclusions": [ + "com.google.common.html.types:types", + "com.google.template:soy" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", + "https://maven.google.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar" + ], + "sha256": "abdc49d2aae7180129168abe7d9f5d9d6aa3cbca9d04da67fed6184befe4af80", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar" + }, + { + "coord": "io.micronaut:micronaut-views:jar:sources:1.3.1", + "dependencies": [ + "javax.validation:validation-api:jar:sources:2.0.1.Final", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-runtime:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-databind:jar:sources:2.10.1", + "io.micronaut:micronaut-views-thymeleaf:jar:sources:1.3.1", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "io.micronaut:micronaut-http-server:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.micronaut:micronaut-views-velocity:jar:sources:1.3.1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "io.micronaut:micronaut-views-handlebars:jar:sources:1.3.1", + "com.fasterxml.jackson.core:jackson-core:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:sources:2.10.1", + "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:sources:2.10.1", + "org.yaml:snakeyaml:jar:sources:1.24", + "com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.10.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "io.micronaut:micronaut-views-soy:jar:sources:1.3.1", + "io.micronaut:micronaut-router:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2", + "io.micronaut:micronaut-views-freemarker:jar:sources:1.3.1", + "io.micronaut:micronaut-websocket:jar:sources:1.3.1" + ], + "directDependencies": [ + "io.micronaut:micronaut-views-thymeleaf:jar:sources:1.3.1", + "io.micronaut:micronaut-views-velocity:jar:sources:1.3.1", + "io.micronaut:micronaut-views-handlebars:jar:sources:1.3.1", + "io.micronaut:micronaut-views-core:jar:sources:1.3.1", + "io.micronaut:micronaut-views-soy:jar:sources:1.3.1", + "io.micronaut:micronaut-views-freemarker:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.common.html.types:types", + "com.google.template:soy" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", - "https://maven.google.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", - "https://repo1.maven.org/maven2/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar", - "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar" + "https://jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1-sources.jar" ], - "sha256": "abdc49d2aae7180129168abe7d9f5d9d6aa3cbca9d04da67fed6184befe4af80", - "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1.jar" + "sha256": "32773b752a6d57edc9629bfe7bc674817b810995a473587fd707a1bc8f5064b3", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-views/1.3.1/micronaut-views-1.3.1-sources.jar" }, { "coord": "io.micronaut:micronaut-websocket:1.3.1", @@ -1904,6 +4837,10 @@ "io.micronaut:micronaut-http:1.3.1", "io.micronaut:micronaut-inject:1.3.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1.jar", @@ -1914,6 +4851,42 @@ "sha256": "939ec9e15a2c8df39ff75427ff6fafd2c38dfe674383251f0cfec50f8e4f614f", "url": "https://jcenter.bintray.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1.jar" }, + { + "coord": "io.micronaut:micronaut-websocket:jar:sources:1.3.1", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "io.micronaut:micronaut-core:jar:sources:1.3.1", + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "javax.inject:javax.inject:jar:sources:1", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "org.yaml:snakeyaml:jar:sources:1.24", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1", + "javax.annotation:javax.annotation-api:jar:sources:1.3.2" + ], + "directDependencies": [ + "io.micronaut:micronaut-aop:jar:sources:1.3.1", + "org.slf4j:slf4j-api:jar:sources:1.7.26", + "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "io.micronaut:micronaut-http:jar:sources:1.3.1", + "io.micronaut:micronaut-inject:jar:sources:1.3.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1-sources.jar", + "https://maven.google.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1-sources.jar", + "https://repo1.maven.org/maven2/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1-sources.jar" + ], + "sha256": "60c8b75981316688e22b07e64388a0e018b90db601b88408c45ec74f7531171d", + "url": "https://jcenter.bintray.com/io/micronaut/micronaut-websocket/1.3.1/micronaut-websocket-1.3.1-sources.jar" + }, { "coord": "io.netty:netty-buffer:4.1.45.Final", "dependencies": [ @@ -1922,6 +4895,10 @@ "directDependencies": [ "io.netty:netty-common:4.1.45.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final.jar", @@ -1932,6 +4909,64 @@ "sha256": "8437b43e03c272093066837567e1b89019ef291f06f5ace1051017981d98d59f", "url": "https://jcenter.bintray.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final.jar" }, + { + "coord": "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final-sources.jar" + ], + "sha256": "2d320d4867fbe99c059d14396858e5538b5afc68765eddc0b860b86023b5d06f", + "url": "https://jcenter.bintray.com/io/netty/netty-buffer/4.1.45.Final/netty-buffer-4.1.45.Final-sources.jar" + }, + { + "coord": "io.netty:netty-codec-http2:4.1.42.Final", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar", + "https://maven.google.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar", + "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar" + ], + "sha256": "8bac9625eb68635396eb0c13c9cc0b22bde7c83d0cd2dae3fe9b6f9cf929e372", + "url": "https://jcenter.bintray.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final.jar" + }, + { + "coord": "io.netty:netty-codec-http2:jar:sources:4.1.42.Final", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar", + "https://maven.google.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar" + ], + "sha256": "fdc2ad0f50802d8e4b5f5d09deab49a49eea8c031ce77d09b5a398a1daa1abfc", + "url": "https://jcenter.bintray.com/io/netty/netty-codec-http2/4.1.42.Final/netty-codec-http2-4.1.42.Final-sources.jar" + }, { "coord": "io.netty:netty-codec-http:4.1.45.Final", "dependencies": [ @@ -1949,6 +4984,10 @@ "io.netty:netty-buffer:4.1.45.Final", "io.netty:netty-handler:4.1.45.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final.jar", @@ -1959,6 +4998,37 @@ "sha256": "db8d8bf478bd3ad723c3d23fdf1cbf62ab9d419a8636e17add3f82f51f8e0bc1", "url": "https://jcenter.bintray.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final.jar" }, + { + "coord": "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final-sources.jar" + ], + "sha256": "63f36b84424585dd308f3f3bebadab04996c750ec6bed0fb2e880e0923bdaf5a", + "url": "https://jcenter.bintray.com/io/netty/netty-codec-http/4.1.45.Final/netty-codec-http-4.1.45.Final-sources.jar" + }, { "coord": "io.netty:netty-codec-socks:4.1.45.Final", "dependencies": [ @@ -1974,6 +5044,10 @@ "io.netty:netty-common:4.1.45.Final", "io.netty:netty-transport:4.1.45.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final.jar", @@ -1984,6 +5058,35 @@ "sha256": "f5aa6197d3df9009bbb889ada2b1ae09b23559ebe748030478652c05a5977a25", "url": "https://jcenter.bintray.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final.jar" }, + { + "coord": "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final-sources.jar" + ], + "sha256": "efa680916739a248d1df43636d5a2718342f6e3d793006e29dc3ed1500c9b0af", + "url": "https://jcenter.bintray.com/io/netty/netty-codec-socks/4.1.45.Final/netty-codec-socks-4.1.45.Final-sources.jar" + }, { "coord": "io.netty:netty-codec:4.1.45.Final", "dependencies": [ @@ -1997,6 +5100,10 @@ "io.netty:netty-common:4.1.45.Final", "io.netty:netty-transport:4.1.45.Final" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final.jar", @@ -2007,10 +5114,41 @@ "sha256": "47e211ad8c4c2b809b6e04541d6c8e3893dea63918dabe93fa5cf63914ffc9cc", "url": "https://jcenter.bintray.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final.jar" }, + { + "coord": "io.netty:netty-codec:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final-sources.jar" + ], + "sha256": "92137cece0efce77ab91062653deefa1a2ad69d6f7975f6eef312cb2630def96", + "url": "https://jcenter.bintray.com/io/netty/netty-codec/4.1.45.Final/netty-codec-4.1.45.Final-sources.jar" + }, { "coord": "io.netty:netty-common:4.1.45.Final", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final.jar", @@ -2021,105 +5159,396 @@ "sha256": "6f3c61684cf8c0f09df7ebb5a19df29d5d9fc175ce68ae237993b91366ccc43e", "url": "https://jcenter.bintray.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final.jar" }, + { + "coord": "io.netty:netty-common:jar:sources:4.1.45.Final", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final-sources.jar" + ], + "sha256": "0a0d876535cb5020b011bb8f31e4e07784eb63db21b197ea187fb2df7a4b0f45", + "url": "https://jcenter.bintray.com/io/netty/netty-common/4.1.45.Final/netty-common-4.1.45.Final-sources.jar" + }, { "coord": "io.netty:netty-handler-proxy:4.1.45.Final", "dependencies": [ - "io.netty:netty-codec-socks:4.1.45.Final", - "io.netty:netty-codec:4.1.45.Final", - "io.netty:netty-codec-http:4.1.45.Final", - "io.netty:netty-transport:4.1.45.Final", - "io.netty:netty-common:4.1.45.Final", - "io.netty:netty-resolver:4.1.45.Final", - "io.netty:netty-buffer:4.1.45.Final", - "io.netty:netty-handler:4.1.45.Final" + "io.netty:netty-codec-socks:4.1.45.Final", + "io.netty:netty-codec:4.1.45.Final", + "io.netty:netty-codec-http:4.1.45.Final", + "io.netty:netty-transport:4.1.45.Final", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final", + "io.netty:netty-buffer:4.1.45.Final", + "io.netty:netty-handler:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-codec-socks:4.1.45.Final", + "io.netty:netty-codec:4.1.45.Final", + "io.netty:netty-codec-http:4.1.45.Final", + "io.netty:netty-transport:4.1.45.Final", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-buffer:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", + "https://maven.google.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", + "https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar" + ], + "sha256": "410fc065171e26bb9a24ed5f7f88b3200e641cb65605ec11bc9c7625da28429a", + "url": "https://jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar" + }, + { + "coord": "io.netty:netty-handler-proxy:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-handler:jar:sources:4.1.45.Final", + "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-codec-http:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-codec-socks:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final-sources.jar" + ], + "sha256": "5e23325a6121b1116e52070ea8af9e98e5566c6afca67cec1ddd049daa00358b", + "url": "https://jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final-sources.jar" + }, + { + "coord": "io.netty:netty-handler:4.1.45.Final", + "dependencies": [ + "io.netty:netty-codec:4.1.45.Final", + "io.netty:netty-transport:4.1.45.Final", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final", + "io.netty:netty-buffer:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-buffer:4.1.45.Final", + "io.netty:netty-codec:4.1.45.Final", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-transport:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", + "https://maven.google.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", + "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar" + ], + "sha256": "2ad6785ba22fb522dba8128a0599b3f5ee47c210dddb8d8ec678f7765ac406f0", + "url": "https://jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar" + }, + { + "coord": "io.netty:netty-handler:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-transport:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-codec:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-transport:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final-sources.jar" + ], + "sha256": "862458d125708006c2ac28abf9e53f3c1db96ec1004a593deeeab1032f3e7ad1", + "url": "https://jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final-sources.jar" + }, + { + "coord": "io.netty:netty-resolver:4.1.45.Final", + "dependencies": [ + "io.netty:netty-common:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-common:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", + "https://maven.google.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", + "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar" + ], + "sha256": "1d762ecfa9da9241db339b611fad0529491bb0c3098c16e9c80d64f04d80323c", + "url": "https://jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar" + }, + { + "coord": "io.netty:netty-resolver:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final-sources.jar" + ], + "sha256": "edb6495748e5466a4b944bb13991f37bfc0534929c5b3cd3c80ead7f3a4cbc8e", + "url": "https://jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final-sources.jar" + }, + { + "coord": "io.netty:netty-transport:4.1.45.Final", + "dependencies": [ + "io.netty:netty-buffer:4.1.45.Final", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-buffer:4.1.45.Final", + "io.netty:netty-common:4.1.45.Final", + "io.netty:netty-resolver:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", + "https://maven.google.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", + "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar" + ], + "sha256": "ca38fc85e9e18c4921d9ce92830445efad05d0fb3e8dd6ba3536e0843cdf723b", + "url": "https://jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar" + }, + { + "coord": "io.netty:netty-transport:jar:sources:4.1.45.Final", + "dependencies": [ + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "directDependencies": [ + "io.netty:netty-buffer:jar:sources:4.1.45.Final", + "io.netty:netty-common:jar:sources:4.1.45.Final", + "io.netty:netty-resolver:jar:sources:4.1.45.Final" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final-sources.jar", + "https://maven.google.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final-sources.jar", + "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final-sources.jar" + ], + "sha256": "3afd9051b16f2f7ee1ce54e6e0ca3f735ab6547aa299aa4b18b331f6ea224ecf", + "url": "https://jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final-sources.jar" + }, + { + "coord": "io.opencensus:opencensus-api:0.24.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.guava:guava", + "com.google.template:soy", + "io.grpc:grpc-context", + "com.google.code.findbugs:jsr305", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar", + "https://maven.google.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar", + "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar" + ], + "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352", + "url": "https://jcenter.bintray.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar" + }, + { + "coord": "io.opencensus:opencensus-api:jar:sources:0.24.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.guava:guava", + "com.google.template:soy", + "io.grpc:grpc-context", + "com.google.code.findbugs:jsr305", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0-sources.jar", + "https://maven.google.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0-sources.jar", + "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0-sources.jar" + ], + "sha256": "01693c455b3748a494813ae612e1766c9e804d56561b759d8399270865427bf6", + "url": "https://jcenter.bintray.com/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0-sources.jar" + }, + { + "coord": "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0", + "dependencies": [ + "io.opencensus:opencensus-api:0.24.0" ], "directDependencies": [ - "io.netty:netty-codec-socks:4.1.45.Final", - "io.netty:netty-codec:4.1.45.Final", - "io.netty:netty-codec-http:4.1.45.Final", - "io.netty:netty-transport:4.1.45.Final", - "io.netty:netty-common:4.1.45.Final", - "io.netty:netty-buffer:4.1.45.Final" + "io.opencensus:opencensus-api:0.24.0" ], - "file": "v1/https/jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", + "exclusions": [ + "com.google.guava:guava", + "com.google.template:soy", + "io.grpc:grpc-context", + "com.google.code.findbugs:jsr305", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar", "mirror_urls": [ - "https://jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", - "https://maven.google.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", - "https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar", - "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar" + "https://jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar", + "https://maven.google.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar", + "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar" ], - "sha256": "410fc065171e26bb9a24ed5f7f88b3200e641cb65605ec11bc9c7625da28429a", - "url": "https://jcenter.bintray.com/io/netty/netty-handler-proxy/4.1.45.Final/netty-handler-proxy-4.1.45.Final.jar" + "sha256": "875582e093f11950ad3f4a50b5fee33a008023f7d1e47820a1bef05d23b9ed42", + "url": "https://jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar" }, { - "coord": "io.netty:netty-handler:4.1.45.Final", + "coord": "io.opencensus:opencensus-contrib-grpc-metrics:jar:sources:0.24.0", "dependencies": [ - "io.netty:netty-codec:4.1.45.Final", - "io.netty:netty-transport:4.1.45.Final", - "io.netty:netty-common:4.1.45.Final", - "io.netty:netty-resolver:4.1.45.Final", - "io.netty:netty-buffer:4.1.45.Final" + "io.opencensus:opencensus-api:jar:sources:0.24.0" ], "directDependencies": [ - "io.netty:netty-buffer:4.1.45.Final", - "io.netty:netty-codec:4.1.45.Final", - "io.netty:netty-common:4.1.45.Final", - "io.netty:netty-transport:4.1.45.Final" + "io.opencensus:opencensus-api:jar:sources:0.24.0" ], - "file": "v1/https/jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", + "exclusions": [ + "com.google.guava:guava", + "com.google.template:soy", + "io.grpc:grpc-context", + "com.google.code.findbugs:jsr305", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", - "https://maven.google.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", - "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar", - "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar" + "https://jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0-sources.jar", + "https://maven.google.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0-sources.jar", + "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0-sources.jar" ], - "sha256": "2ad6785ba22fb522dba8128a0599b3f5ee47c210dddb8d8ec678f7765ac406f0", - "url": "https://jcenter.bintray.com/io/netty/netty-handler/4.1.45.Final/netty-handler-4.1.45.Final.jar" + "sha256": "48c84a321af149c35a95b0d433a49c78e21674e10568fbc529675de0ee46fa96", + "url": "https://jcenter.bintray.com/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0-sources.jar" }, { - "coord": "io.netty:netty-resolver:4.1.45.Final", + "coord": "io.opentracing.contrib:opentracing-grpc:0.2.1", "dependencies": [ - "io.netty:netty-common:4.1.45.Final" + "io.opentracing:opentracing-util:0.33.0", + "io.opentracing:opentracing-noop:0.33.0", + "io.opentracing:opentracing-api:0.33.0" ], "directDependencies": [ - "io.netty:netty-common:4.1.45.Final" + "io.opentracing:opentracing-api:0.33.0", + "io.opentracing:opentracing-util:0.33.0" ], - "file": "v1/https/jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1.jar", "mirror_urls": [ - "https://jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", - "https://maven.google.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", - "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar", - "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar" + "https://jcenter.bintray.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1.jar", + "https://maven.google.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1.jar", + "https://repo1.maven.org/maven2/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1.jar" ], - "sha256": "1d762ecfa9da9241db339b611fad0529491bb0c3098c16e9c80d64f04d80323c", - "url": "https://jcenter.bintray.com/io/netty/netty-resolver/4.1.45.Final/netty-resolver-4.1.45.Final.jar" + "sha256": "4dc7fdbfcbb76892b92fc5c6f8f12f551833ae03e868463469787d34b54a3df2", + "url": "https://jcenter.bintray.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1.jar" }, { - "coord": "io.netty:netty-transport:4.1.45.Final", + "coord": "io.opentracing.contrib:opentracing-grpc:jar:sources:0.2.1", "dependencies": [ - "io.netty:netty-buffer:4.1.45.Final", - "io.netty:netty-common:4.1.45.Final", - "io.netty:netty-resolver:4.1.45.Final" + "io.opentracing:opentracing-util:jar:sources:0.33.0", + "io.opentracing:opentracing-api:jar:sources:0.33.0", + "io.opentracing:opentracing-noop:jar:sources:0.33.0" ], "directDependencies": [ - "io.netty:netty-buffer:4.1.45.Final", - "io.netty:netty-common:4.1.45.Final", - "io.netty:netty-resolver:4.1.45.Final" + "io.opentracing:opentracing-api:jar:sources:0.33.0", + "io.opentracing:opentracing-util:jar:sources:0.33.0" ], - "file": "v1/https/jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", - "https://maven.google.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", - "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar", - "https://dl.bintray.com/micronaut/core-releases-local/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar" + "https://jcenter.bintray.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1-sources.jar", + "https://maven.google.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1-sources.jar", + "https://repo1.maven.org/maven2/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1-sources.jar" ], - "sha256": "ca38fc85e9e18c4921d9ce92830445efad05d0fb3e8dd6ba3536e0843cdf723b", - "url": "https://jcenter.bintray.com/io/netty/netty-transport/4.1.45.Final/netty-transport-4.1.45.Final.jar" + "sha256": "72be4798894d247703363bf831da339689cf6620d49d4df6c3bc270835c35c97", + "url": "https://jcenter.bintray.com/io/opentracing/contrib/opentracing-grpc/0.2.1/opentracing-grpc-0.2.1-sources.jar" }, { "coord": "io.opentracing:opentracing-api:0.33.0", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0.jar", @@ -2130,6 +5559,24 @@ "sha256": "4534541b8e9f41a17bcdf1d09affe45b98c13574db6e529a93a58264b9472c7c", "url": "https://jcenter.bintray.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0.jar" }, + { + "coord": "io.opentracing:opentracing-api:jar:sources:0.33.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0-sources.jar", + "https://maven.google.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0-sources.jar", + "https://repo1.maven.org/maven2/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0-sources.jar" + ], + "sha256": "fcecb13dc6a852079886de440fd1d24c9bc19e862f653b207cba17e3b4050961", + "url": "https://jcenter.bintray.com/io/opentracing/opentracing-api/0.33.0/opentracing-api-0.33.0-sources.jar" + }, { "coord": "io.opentracing:opentracing-noop:0.33.0", "dependencies": [ @@ -2138,6 +5585,10 @@ "directDependencies": [ "io.opentracing:opentracing-api:0.33.0" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0.jar", @@ -2148,6 +5599,28 @@ "sha256": "8529f91e10047b2b94cb21b50086a3d3913fa4da43594eddbd9ecf5917efe040", "url": "https://jcenter.bintray.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0.jar" }, + { + "coord": "io.opentracing:opentracing-noop:jar:sources:0.33.0", + "dependencies": [ + "io.opentracing:opentracing-api:jar:sources:0.33.0" + ], + "directDependencies": [ + "io.opentracing:opentracing-api:jar:sources:0.33.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0-sources.jar", + "https://maven.google.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0-sources.jar", + "https://repo1.maven.org/maven2/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0-sources.jar" + ], + "sha256": "f92d87a877b4466a7e7913d3d8bb74902af0630924d6963609fca813e36dc505", + "url": "https://jcenter.bintray.com/io/opentracing/opentracing-noop/0.33.0/opentracing-noop-0.33.0-sources.jar" + }, { "coord": "io.opentracing:opentracing-util:0.33.0", "dependencies": [ @@ -2158,6 +5631,10 @@ "io.opentracing:opentracing-api:0.33.0", "io.opentracing:opentracing-noop:0.33.0" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0.jar", @@ -2168,6 +5645,78 @@ "sha256": "22c5dfbb9b0e2f08f7371bf3d68372c7604c804d3129499b43f37a8877c4379e", "url": "https://jcenter.bintray.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0.jar" }, + { + "coord": "io.opentracing:opentracing-util:jar:sources:0.33.0", + "dependencies": [ + "io.opentracing:opentracing-api:jar:sources:0.33.0", + "io.opentracing:opentracing-noop:jar:sources:0.33.0" + ], + "directDependencies": [ + "io.opentracing:opentracing-api:jar:sources:0.33.0", + "io.opentracing:opentracing-noop:jar:sources:0.33.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0-sources.jar", + "https://maven.google.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0-sources.jar", + "https://repo1.maven.org/maven2/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0-sources.jar" + ], + "sha256": "020f8456bd1c6569c68352562e88cb7af27877a9a9b277c62f36b63237434888", + "url": "https://jcenter.bintray.com/io/opentracing/opentracing-util/0.33.0/opentracing-util-0.33.0-sources.jar" + }, + { + "coord": "io.perfmark:perfmark-api:0.19.0", + "dependencies": [ + "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.code.findbugs:jsr305:3.0.2" + ], + "directDependencies": [ + "com.google.code.findbugs:jsr305:3.0.2", + "com.google.errorprone:error_prone_annotations:2.3.3" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar", + "https://maven.google.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar", + "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar" + ], + "sha256": "b734ba2149712409a44eabdb799f64768578fee0defe1418bb108fe32ea43e1a", + "url": "https://jcenter.bintray.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar" + }, + { + "coord": "io.perfmark:perfmark-api:jar:sources:0.19.0", + "dependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3" + ], + "directDependencies": [ + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar", + "https://maven.google.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar", + "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar" + ], + "sha256": "05cfbdd34e6fc1f10181c755cec67cf1ee517dfee615e25d1007a8aabd569dba", + "url": "https://jcenter.bintray.com/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0-sources.jar" + }, { "coord": "io.projectreactor:reactor-core:3.2.8.RELEASE", "dependencies": [ @@ -2176,6 +5725,10 @@ "directDependencies": [ "org.reactivestreams:reactive-streams:1.0.3" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE.jar", @@ -2186,6 +5739,28 @@ "sha256": "38557e1eb43fab75979a0daf442485a01fcc52d268f44ac67663ac243bfcfcf0", "url": "https://jcenter.bintray.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE.jar" }, + { + "coord": "io.projectreactor:reactor-core:jar:sources:3.2.8.RELEASE", + "dependencies": [ + "org.reactivestreams:reactive-streams:jar:sources:1.0.3" + ], + "directDependencies": [ + "org.reactivestreams:reactive-streams:jar:sources:1.0.3" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE-sources.jar", + "https://maven.google.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE-sources.jar", + "https://repo1.maven.org/maven2/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE-sources.jar" + ], + "sha256": "eeb7364216bec3a141b6ccd65a75787818128c72caa5cef9a9ca52575eb2ee29", + "url": "https://jcenter.bintray.com/io/projectreactor/reactor-core/3.2.8.RELEASE/reactor-core-3.2.8.RELEASE-sources.jar" + }, { "coord": "io.reactivex.rxjava2:rxjava:2.2.10", "dependencies": [ @@ -2194,6 +5769,10 @@ "directDependencies": [ "org.reactivestreams:reactive-streams:1.0.3" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10.jar", "mirror_urls": [ "https://jcenter.bintray.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10.jar", @@ -2204,10 +5783,36 @@ "sha256": "21b5cac673a156cd8d6cf9efe15ff267b6353eeb129678aa4b39542683ba0dc2", "url": "https://jcenter.bintray.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10.jar" }, + { + "coord": "io.reactivex.rxjava2:rxjava:jar:sources:2.2.10", + "dependencies": [ + "org.reactivestreams:reactive-streams:jar:sources:1.0.3" + ], + "directDependencies": [ + "org.reactivestreams:reactive-streams:jar:sources:1.0.3" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10-sources.jar", + "https://maven.google.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10-sources.jar", + "https://repo1.maven.org/maven2/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10-sources.jar" + ], + "sha256": "e40b3a9de037af1cfaaeb4e43a62e9e73472c45fcb1ec53ba116b0891ba90008", + "url": "https://jcenter.bintray.com/io/reactivex/rxjava2/rxjava/2.2.10/rxjava-2.2.10-sources.jar" + }, { "coord": "javax.annotation:javax.annotation-api:1.3.2", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar", @@ -2219,29 +5824,31 @@ "url": "https://jcenter.bintray.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" }, { - "coord": "javax.annotation:jsr250-api:1.0", + "coord": "javax.annotation:javax.annotation-api:jar:sources:1.3.2", "dependencies": [], "directDependencies": [], "exclusions": [ - "com.google.errorprone:error_prone_annotations", - "com.google.guava:guava-testlib", - "com.google.guava:guava", - "com.google.protobuf:protobuf-java" + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar", + "file": "v1/https/jcenter.bintray.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar", - "https://maven.google.com/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar", - "https://repo1.maven.org/maven2/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar" + "https://jcenter.bintray.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar", + "https://maven.google.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar", + "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar" ], - "sha256": "a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f", - "url": "https://jcenter.bintray.com/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar" + "sha256": "128971e52e0d84a66e3b6e049dab8ad7b2c58b7e1ad37fa2debd3d40c2947b95", + "url": "https://jcenter.bintray.com/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar" }, { "coord": "javax.inject:javax.inject:1", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1.jar", "mirror_urls": [ "https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1.jar", @@ -2252,10 +5859,32 @@ "sha256": "91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff", "url": "https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1.jar" }, + { + "coord": "javax.inject:javax.inject:jar:sources:1", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1-sources.jar", + "https://maven.google.com/javax/inject/javax.inject/1/javax.inject-1-sources.jar", + "https://repo1.maven.org/maven2/javax/inject/javax.inject/1/javax.inject-1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/javax/inject/javax.inject/1/javax.inject-1-sources.jar" + ], + "sha256": "c4b87ee2911c139c3daf498a781967f1eb2e75bc1a8529a2e7b328a15d0e433e", + "url": "https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1-sources.jar" + }, { "coord": "javax.validation:validation-api:2.0.1.Final", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar", "mirror_urls": [ "https://jcenter.bintray.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar", @@ -2266,10 +5895,32 @@ "sha256": "9873b46df1833c9ee8f5bc1ff6853375115dadd8897bcb5a0dffb5848835ee6c", "url": "https://jcenter.bintray.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar" }, + { + "coord": "javax.validation:validation-api:jar:sources:2.0.1.Final", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar", + "https://maven.google.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar", + "https://repo1.maven.org/maven2/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar" + ], + "sha256": "78fc8207d394c91e329be90fc051e98180bd2a35c14e0df73f66a653c7aea19f", + "url": "https://jcenter.bintray.com/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar" + }, { "coord": "net.bytebuddy:byte-buddy:1.8.15", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15.jar", "mirror_urls": [ "https://jcenter.bintray.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15.jar", @@ -2280,10 +5931,32 @@ "sha256": "af32e420b1252c1eedef6232bd46fadafc02e0c609e086efd57a64781107a039", "url": "https://jcenter.bintray.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15.jar" }, + { + "coord": "net.bytebuddy:byte-buddy:jar:sources:1.8.15", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15-sources.jar", + "https://maven.google.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15-sources.jar", + "https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15-sources.jar" + ], + "sha256": "c18794f50d1dfc8fb57bfd886b566b05697da396022bcd63b5463a454d33c899", + "url": "https://jcenter.bintray.com/net/bytebuddy/byte-buddy/1.8.15/byte-buddy-1.8.15-sources.jar" + }, { "coord": "org.apache.commons:commons-exec:1.3", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar", @@ -2294,10 +5967,32 @@ "sha256": "cb49812dc1bfb0ea4f20f398bcae1a88c6406e213e67f7524fb10d4f8ad9347b", "url": "https://jcenter.bintray.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar" }, + { + "coord": "org.apache.commons:commons-exec:jar:sources:1.3", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3-sources.jar", + "https://maven.google.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3-sources.jar", + "https://repo1.maven.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/apache/commons/commons-exec/1.3/commons-exec-1.3-sources.jar" + ], + "sha256": "c121d8e70010092bafc56f358e7259ac484653db595aafea1e67a040f51aea66", + "url": "https://jcenter.bintray.com/org/apache/commons/commons-exec/1.3/commons-exec-1.3-sources.jar" + }, { "coord": "org.apiguardian:apiguardian-api:1.0.0", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar", @@ -2309,40 +6004,142 @@ "url": "https://jcenter.bintray.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar" }, { - "coord": "org.checkerframework:checker-qual:2.10.0", + "coord": "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0-sources.jar", + "https://maven.google.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0-sources.jar", + "https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0-sources.jar" + ], + "sha256": "793b50c98fa62e6eec08cc8fa4364b95d4815c1b17ef17e5e9e59c457e54ce2e", + "url": "https://jcenter.bintray.com/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0-sources.jar" + }, + { + "coord": "org.checkerframework:checker-compat-qual:2.5.5", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar", + "https://maven.google.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar", + "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar" + ], + "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a", + "url": "https://jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar" + }, + { + "coord": "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar", + "https://maven.google.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar", + "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar" + ], + "sha256": "7c63a4a46b2ef903f941aeac63da87dd345be3243b472796aa945fa715bf3ca9", + "url": "https://jcenter.bintray.com/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5-sources.jar" + }, + { + "coord": "org.codehaus.mojo:animal-sniffer-annotations:1.18", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar", + "https://maven.google.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar", + "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar" + ], + "sha256": "47f05852b48ee9baefef80fa3d8cea60efa4753c0013121dd7fe5eef2e5c729d", + "url": "https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar" + }, + { + "coord": "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18-sources.jar", + "https://maven.google.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18-sources.jar", + "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18-sources.jar" + ], + "sha256": "ee078a91bf7136ee1961abd612b54d1cd9877352b960a7e1e7e3e4c17ceafcf1", + "url": "https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18-sources.jar" + }, + { + "coord": "org.eclipse.jgit:org.eclipse.jgit:4.4.1.201607150455-r", "dependencies": [], "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", + "exclusions": [ + "com.google.template:soy", + "com.jcraft:jsch", + "commons-logging:commons-logging", + "commons-codec:commons-codec", + "com.googlecode.javaewah:JavaEWAH", + "org.slf4j:slf4j-api", + "com.google.common.html.types:types", + "org.apache.httpcomponents:httpclient" + ], + "file": "v1/https/jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", "mirror_urls": [ - "https://jcenter.bintray.com/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", - "https://maven.google.com/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", - "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar" + "https://jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", + "https://maven.google.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", + "https://repo1.maven.org/maven2/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar" ], - "sha256": "d261fde25d590f6b69db7721d469ac1b0a19a17ccaaaa751c31f0d8b8260b894", - "url": "https://jcenter.bintray.com/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar" + "sha256": "0b2447b324e86351e35e08e091436194a846d469d79e97644398533c73d01fe0", + "url": "https://jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar" }, { - "coord": "org.eclipse.jgit:org.eclipse.jgit:4.4.1.201607150455-r", + "coord": "org.eclipse.jgit:org.eclipse.jgit:jar:sources:4.4.1.201607150455-r", "dependencies": [], "directDependencies": [], "exclusions": [ + "com.google.template:soy", "com.jcraft:jsch", "commons-logging:commons-logging", "commons-codec:commons-codec", "com.googlecode.javaewah:JavaEWAH", "org.slf4j:slf4j-api", + "com.google.common.html.types:types", "org.apache.httpcomponents:httpclient" ], - "file": "v1/https/jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", + "file": "v1/https/jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", - "https://maven.google.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", - "https://repo1.maven.org/maven2/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar" + "https://jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r-sources.jar", + "https://maven.google.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r-sources.jar", + "https://repo1.maven.org/maven2/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r-sources.jar" ], - "sha256": "0b2447b324e86351e35e08e091436194a846d469d79e97644398533c73d01fe0", - "url": "https://jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar" + "sha256": "c9ad79998548090d580bf8f659d7e6cbdc54676a7f3174a9f819cdede5e5eb34", + "url": "https://jcenter.bintray.com/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r-sources.jar" }, { "coord": "org.jetbrains.kotlin:kotlin-reflect:1.3.20", @@ -2354,6 +6151,10 @@ "directDependencies": [ "org.jetbrains.kotlin:kotlin-stdlib:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20.jar", @@ -2364,10 +6165,38 @@ "sha256": "ee1a926ed658e7de0e6df0242cd574b3b4e08e64fe7a68278226c6f2d3373238", "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20.jar" }, + { + "coord": "org.jetbrains.kotlin:kotlin-reflect:jar:sources:1.3.20", + "dependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20-sources.jar", + "https://maven.google.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20-sources.jar" + ], + "sha256": "28a8746fe08afde8e0ac2c561359c99f07b6d1aa4471266ecce1a28538447156", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.20/kotlin-reflect-1.3.20-sources.jar" + }, { "coord": "org.jetbrains.kotlin:kotlin-stdlib-common:1.3.20", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20.jar", @@ -2378,6 +6207,24 @@ "sha256": "06bdd8aeda347ef6ef3e4e9d88a01254ccdb70784b697495f6a421fd663ab649", "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20.jar" }, + { + "coord": "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20-sources.jar", + "https://maven.google.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20-sources.jar" + ], + "sha256": "186e6977750701be15fd16a92b9a349f1af90dc9ae80d566bb384f9e2326d78b", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.20/kotlin-stdlib-common-1.3.20-sources.jar" + }, { "coord": "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.20", "dependencies": [ @@ -2388,6 +6235,10 @@ "directDependencies": [ "org.jetbrains.kotlin:kotlin-stdlib:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20.jar", @@ -2398,6 +6249,30 @@ "sha256": "fd2af70bdd2bc024fb03cbed633ca143872ca36a6a16e218cc67c890b79fb31d", "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20.jar" }, + { + "coord": "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20", + "dependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20-sources.jar", + "https://maven.google.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20-sources.jar" + ], + "sha256": "e9c6f98f583b93dbc16124b7e603f30d2df640d093efa08c3bc770c8d6efc2d4", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.20/kotlin-stdlib-jdk7-1.3.20-sources.jar" + }, { "coord": "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.20", "dependencies": [ @@ -2410,6 +6285,10 @@ "org.jetbrains.kotlin:kotlin-stdlib:1.3.20", "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20.jar", @@ -2420,6 +6299,32 @@ "sha256": "6c0831e7e3acaa390bf22f79d81f32f212dc8fde19807a354a4ee4f668a0c478", "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20.jar" }, + { + "coord": "org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:sources:1.3.20", + "dependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20-sources.jar", + "https://maven.google.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20-sources.jar" + ], + "sha256": "26ce0a837aaa2f0e42a5837b9c4d4f5f51cb1ab56575c35fce20853a3244dbd4", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.20/kotlin-stdlib-jdk8-1.3.20-sources.jar" + }, { "coord": "org.jetbrains.kotlin:kotlin-stdlib:1.3.20", "dependencies": [ @@ -2430,6 +6335,10 @@ "org.jetbrains:annotations:13.0", "org.jetbrains.kotlin:kotlin-stdlib-common:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20.jar", @@ -2440,6 +6349,30 @@ "sha256": "601f910da968fb3da8ead7b64ed6bf5c9710d83cea37e4a631847e7d688e3361", "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20.jar" }, + { + "coord": "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "dependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains:annotations:jar:sources:13.0" + ], + "directDependencies": [ + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20-sources.jar", + "https://maven.google.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20-sources.jar" + ], + "sha256": "49170a707d6143938d20efdeed9cabb8bc82eef6267f0c19974f098357fcb2dd", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.20/kotlin-stdlib-1.3.20-sources.jar" + }, { "coord": "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.1.0", "dependencies": [ @@ -2448,6 +6381,10 @@ "directDependencies": [ "org.jetbrains.kotlin:kotlin-stdlib-common:1.3.20" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0.jar", @@ -2458,6 +6395,28 @@ "sha256": "07ba070fc23238b2d075174abe354f6f168a060d1b489a9d91e5503d05c9cd7f", "url": "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0.jar" }, + { + "coord": "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0", + "dependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0-sources.jar", + "https://maven.google.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0-sources.jar" + ], + "sha256": "3ecad04bf00c5e6ae195bd96e6cf298bea152d2d1757307ee633d861aa60d50b", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-common/1.1.0/kotlinx-coroutines-core-common-1.1.0-sources.jar" + }, { "coord": "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0", "dependencies": [ @@ -2470,6 +6429,10 @@ "org.jetbrains.kotlin:kotlin-stdlib:1.3.20", "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.1.0" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0.jar", @@ -2480,10 +6443,40 @@ "sha256": "020861ae1d5479c1cb1439a56be7d384401c58fddf53b91011fbf5959a318ba3", "url": "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0.jar" }, + { + "coord": "org.jetbrains.kotlinx:kotlinx-coroutines-core:jar:sources:1.1.0", + "dependencies": [ + "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0", + "org.jetbrains.kotlin:kotlin-stdlib-common:jar:sources:1.3.20", + "org.jetbrains:annotations:jar:sources:13.0", + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20" + ], + "directDependencies": [ + "org.jetbrains.kotlin:kotlin-stdlib:jar:sources:1.3.20", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:jar:sources:1.1.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0-sources.jar", + "https://maven.google.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0-sources.jar" + ], + "sha256": "4baf9cd142173b3c93c311a37d9561f859d72c862c4667a03fbfd2e65046fe52", + "url": "https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1.1.0/kotlinx-coroutines-core-1.1.0-sources.jar" + }, { "coord": "org.jetbrains:annotations:13.0", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0.jar", @@ -2495,18 +6488,22 @@ "url": "https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0.jar" }, { - "coord": "org.json:json:20160212", + "coord": "org.jetbrains:annotations:jar:sources:13.0", "dependencies": [], "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/org/json/json/20160212/json-20160212.jar", + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/org/json/json/20160212/json-20160212.jar", - "https://maven.google.com/org/json/json/20160212/json-20160212.jar", - "https://repo1.maven.org/maven2/org/json/json/20160212/json-20160212.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/json/json/20160212/json-20160212.jar" + "https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar", + "https://maven.google.com/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar", + "https://repo1.maven.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar" ], - "sha256": "0aaf0e7e286ece88fb60b9ba14dd45c05a48e55618876efb7d1b6f19c25e7a29", - "url": "https://jcenter.bintray.com/org/json/json/20160212/json-20160212.jar" + "sha256": "42a5e144b8e81d50d6913d1007b695e62e614705268d8cf9f13dbdc478c2c68e", + "url": "https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar" }, { "coord": "org.junit.platform:junit-platform-commons:1.3.2", @@ -2516,6 +6513,10 @@ "directDependencies": [ "org.apiguardian:apiguardian-api:1.0.0" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2.jar", @@ -2526,6 +6527,28 @@ "sha256": "34e2a20df030c377741f8dcdb2e94c82d3af3d554ac3d5e6c8053a320b4ae51a", "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2.jar" }, + { + "coord": "org.junit.platform:junit-platform-commons:jar:sources:1.3.2", + "dependencies": [ + "org.apiguardian:apiguardian-api:jar:sources:1.0.0" + ], + "directDependencies": [ + "org.apiguardian:apiguardian-api:jar:sources:1.0.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2-sources.jar", + "https://maven.google.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2-sources.jar", + "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2-sources.jar" + ], + "sha256": "736ac52545d849319d69ea066e2ca09410230e3ddf94a37dc8ffa870b4c8fbd0", + "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-commons/1.3.2/junit-platform-commons-1.3.2-sources.jar" + }, { "coord": "org.junit.platform:junit-platform-engine:1.3.2", "dependencies": [ @@ -2538,6 +6561,10 @@ "org.junit.platform:junit-platform-commons:1.3.2", "org.opentest4j:opentest4j:1.1.1" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2.jar", @@ -2548,6 +6575,32 @@ "sha256": "0d7575d6f7a589c19ddad90d44325f24ee6f2254765f728bc9cbb9428a294e85", "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2.jar" }, + { + "coord": "org.junit.platform:junit-platform-engine:jar:sources:1.3.2", + "dependencies": [ + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.opentest4j:opentest4j:jar:sources:1.1.1", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2" + ], + "directDependencies": [ + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2", + "org.opentest4j:opentest4j:jar:sources:1.1.1" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2-sources.jar", + "https://maven.google.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2-sources.jar", + "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2-sources.jar" + ], + "sha256": "b8e90692714987b429dfe5a637302394095daca88fec6d76a81c4156e045baa6", + "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-engine/1.3.2/junit-platform-engine-1.3.2-sources.jar" + }, { "coord": "org.junit.platform:junit-platform-launcher:1.3.2", "dependencies": [ @@ -2560,6 +6613,10 @@ "org.apiguardian:apiguardian-api:1.0.0", "org.junit.platform:junit-platform-engine:1.3.2" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2.jar", @@ -2570,6 +6627,32 @@ "sha256": "797a863f256602ca349b8e70f9ff2460e20aafbd57b75627f5ac82beb927085a", "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2.jar" }, + { + "coord": "org.junit.platform:junit-platform-launcher:jar:sources:1.3.2", + "dependencies": [ + "org.junit.platform:junit-platform-engine:jar:sources:1.3.2", + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.opentest4j:opentest4j:jar:sources:1.1.1", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2" + ], + "directDependencies": [ + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.junit.platform:junit-platform-engine:jar:sources:1.3.2" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2-sources.jar", + "https://maven.google.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2-sources.jar", + "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2-sources.jar" + ], + "sha256": "a139dc2ac08ef7640664f941b85b4bae00c4ce91072786c4fa8de922e5c482ea", + "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-launcher/1.3.2/junit-platform-launcher-1.3.2-sources.jar" + }, { "coord": "org.junit.platform:junit-platform-suite-api:1.3.2", "dependencies": [ @@ -2580,6 +6663,10 @@ "org.apiguardian:apiguardian-api:1.0.0", "org.junit.platform:junit-platform-commons:1.3.2" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2.jar", @@ -2591,104 +6678,73 @@ "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2.jar" }, { - "coord": "org.opentest4j:opentest4j:1.1.1", - "dependencies": [], - "directDependencies": [], - "file": "v1/https/jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", - "mirror_urls": [ - "https://jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", - "https://maven.google.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", - "https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar" - ], - "sha256": "f106351abd941110226745ed103c85863b3f04e9fa82ddea1084639ae0c5336c", - "url": "https://jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar" - }, - { - "coord": "org.ow2.asm:asm-analysis:7.0", + "coord": "org.junit.platform:junit-platform-suite-api:jar:sources:1.3.2", "dependencies": [ - "org.ow2.asm:asm-tree:7.0", - "org.ow2.asm:asm:7.0" + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2" ], "directDependencies": [ - "org.ow2.asm:asm-tree:7.0" - ], - "file": "v1/https/jcenter.bintray.com/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar", - "mirror_urls": [ - "https://jcenter.bintray.com/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar", - "https://maven.google.com/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar", - "https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar" - ], - "sha256": "e981f8f650c4d900bb033650b18e122fa6b161eadd5f88978d08751f72ee8474", - "url": "https://jcenter.bintray.com/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar" - }, - { - "coord": "org.ow2.asm:asm-commons:7.0", - "dependencies": [ - "org.ow2.asm:asm-analysis:7.0", - "org.ow2.asm:asm-tree:7.0", - "org.ow2.asm:asm:7.0" + "org.apiguardian:apiguardian-api:jar:sources:1.0.0", + "org.junit.platform:junit-platform-commons:jar:sources:1.3.2" ], - "directDependencies": [ - "org.ow2.asm:asm:7.0", - "org.ow2.asm:asm-analysis:7.0", - "org.ow2.asm:asm-tree:7.0" + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar", + "file": "v1/https/jcenter.bintray.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar", - "https://maven.google.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar", - "https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar" + "https://jcenter.bintray.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2-sources.jar", + "https://maven.google.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2-sources.jar", + "https://repo1.maven.org/maven2/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2-sources.jar" ], - "sha256": "fed348ef05958e3e846a3ac074a12af5f7936ef3d21ce44a62c4fa08a771927d", - "url": "https://jcenter.bintray.com/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar" + "sha256": "c87f72b7d107fb1a170cbc696888e46d29602ad1a690134017e7dcaf087a8af6", + "url": "https://jcenter.bintray.com/org/junit/platform/junit-platform-suite-api/1.3.2/junit-platform-suite-api-1.3.2-sources.jar" }, { - "coord": "org.ow2.asm:asm-tree:7.0", - "dependencies": [ - "org.ow2.asm:asm:7.0" - ], - "directDependencies": [ - "org.ow2.asm:asm:7.0" + "coord": "org.opentest4j:opentest4j:1.1.1", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar", + "file": "v1/https/jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", "mirror_urls": [ - "https://jcenter.bintray.com/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar", - "https://maven.google.com/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar", - "https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar" + "https://jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", + "https://maven.google.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", + "https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar" ], - "sha256": "cfd7a0874f9de36a999c127feeadfbfe6e04d4a71ee954d7af3d853f0be48a6c", - "url": "https://jcenter.bintray.com/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar" + "sha256": "f106351abd941110226745ed103c85863b3f04e9fa82ddea1084639ae0c5336c", + "url": "https://jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar" }, { - "coord": "org.ow2.asm:asm-util:7.0", - "dependencies": [ - "org.ow2.asm:asm-analysis:7.0", - "org.ow2.asm:asm-tree:7.0", - "org.ow2.asm:asm:7.0" - ], - "directDependencies": [ - "org.ow2.asm:asm:7.0", - "org.ow2.asm:asm-analysis:7.0", - "org.ow2.asm:asm-tree:7.0" + "coord": "org.opentest4j:opentest4j:jar:sources:1.1.1", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" ], - "file": "v1/https/jcenter.bintray.com/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar", + "file": "v1/https/jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1-sources.jar", "mirror_urls": [ - "https://jcenter.bintray.com/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar", - "https://maven.google.com/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar", - "https://repo1.maven.org/maven2/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar", - "https://dl.bintray.com/micronaut/core-releases-local/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar" + "https://jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1-sources.jar", + "https://maven.google.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1-sources.jar", + "https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1-sources.jar" ], - "sha256": "75fbbca440ef463f41c2b0ab1a80abe67e910ac486da60a7863cbcb5bae7e145", - "url": "https://jcenter.bintray.com/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar" + "sha256": "4808ddcb3a88de1210bef0a9c49645a36a61edeac65545f1560a6ad8081e8dd4", + "url": "https://jcenter.bintray.com/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1-sources.jar" }, { "coord": "org.ow2.asm:asm:7.0", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/ow2/asm/asm/7.0/asm-7.0.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/ow2/asm/asm/7.0/asm-7.0.jar", @@ -2699,10 +6755,32 @@ "sha256": "b88ef66468b3c978ad0c97fd6e90979e56155b4ac69089ba7a44e9aa7ffe9acf", "url": "https://jcenter.bintray.com/org/ow2/asm/asm/7.0/asm-7.0.jar" }, + { + "coord": "org.ow2.asm:asm:jar:sources:7.0", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/ow2/asm/asm/7.0/asm-7.0-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/ow2/asm/asm/7.0/asm-7.0-sources.jar", + "https://maven.google.com/org/ow2/asm/asm/7.0/asm-7.0-sources.jar", + "https://repo1.maven.org/maven2/org/ow2/asm/asm/7.0/asm-7.0-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/ow2/asm/asm/7.0/asm-7.0-sources.jar" + ], + "sha256": "51a538468a788fa543e80e6bccbe05d2a738fa0da553b710a1fd8ed574504982", + "url": "https://jcenter.bintray.com/org/ow2/asm/asm/7.0/asm-7.0-sources.jar" + }, { "coord": "org.reactivestreams:reactive-streams:1.0.3", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar", @@ -2713,10 +6791,32 @@ "sha256": "1dee0481072d19c929b623e155e14d2f6085dc011529a0a0dbefc84cf571d865", "url": "https://jcenter.bintray.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar" }, + { + "coord": "org.reactivestreams:reactive-streams:jar:sources:1.0.3", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar", + "https://maven.google.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar", + "https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar" + ], + "sha256": "d5b4070a22c9b1ca5b9b5aa668466bcca391dbe5d5fe8311c300765c1621feba", + "url": "https://jcenter.bintray.com/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar" + }, { "coord": "org.seleniumhq.selenium:selenium-api:3.141.59", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59.jar", @@ -2727,30 +6827,53 @@ "sha256": "8bfd5a736eccfc08866301ffc9b7f529e55976355c5799bed8392486df64dee5", "url": "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59.jar" }, + { + "coord": "org.seleniumhq.selenium:selenium-api:jar:sources:3.141.59", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59-sources.jar", + "https://maven.google.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59-sources.jar", + "https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59-sources.jar" + ], + "sha256": "91e6c542fbb9b78082a149c8fb012dd439a18b36e69ff25d12279a0392d4c541", + "url": "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-api/3.141.59/selenium-api-3.141.59-sources.jar" + }, { "coord": "org.seleniumhq.selenium:selenium-remote-driver:3.141.59", "dependencies": [ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:28.1-android", "com.squareup.okio:okio:1.14.0", + "org.codehaus.mojo:animal-sniffer-annotations:1.18", "com.google.j2objc:j2objc-annotations:1.3", + "com.google.errorprone:error_prone_annotations:2.3.3", "com.google.code.findbugs:jsr305:3.0.2", "org.seleniumhq.selenium:selenium-api:3.141.59", - "com.google.errorprone:error_prone_annotations:2.3.4", - "com.google.guava:guava:28.2-jre", - "org.checkerframework:checker-qual:2.10.0", "com.squareup.okhttp3:okhttp:3.11.0", "com.google.guava:failureaccess:1.0.1", "net.bytebuddy:byte-buddy:1.8.15", - "org.apache.commons:commons-exec:1.3" + "org.apache.commons:commons-exec:1.3", + "org.checkerframework:checker-compat-qual:2.5.5" ], "directDependencies": [ + "com.google.guava:guava:28.1-android", "com.squareup.okio:okio:1.14.0", "org.seleniumhq.selenium:selenium-api:3.141.59", - "com.google.guava:guava:28.2-jre", "com.squareup.okhttp3:okhttp:3.11.0", "net.bytebuddy:byte-buddy:1.8.15", "org.apache.commons:commons-exec:1.3" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59.jar", @@ -2761,10 +6884,53 @@ "sha256": "9829fe57adf36743d785d0c2e7db504ba3ba0a3aacac652b8867cc854d2dfc45", "url": "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59.jar" }, + { + "coord": "org.seleniumhq.selenium:selenium-remote-driver:jar:sources:3.141.59", + "dependencies": [ + "org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.18", + "com.google.code.findbugs:jsr305:jar:sources:3.0.2", + "com.google.j2objc:j2objc-annotations:jar:sources:1.3", + "org.seleniumhq.selenium:selenium-api:jar:sources:3.141.59", + "net.bytebuddy:byte-buddy:jar:sources:1.8.15", + "org.apache.commons:commons-exec:jar:sources:1.3", + "com.squareup.okhttp3:okhttp:jar:sources:3.11.0", + "com.google.errorprone:error_prone_annotations:jar:sources:2.3.3", + "org.checkerframework:checker-compat-qual:jar:sources:2.5.5", + "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "com.google.guava:guava:jar:sources:28.1-android", + "com.google.guava:failureaccess:jar:sources:1.0.1", + "com.squareup.okio:okio:jar:sources:1.14.0" + ], + "directDependencies": [ + "org.seleniumhq.selenium:selenium-api:jar:sources:3.141.59", + "net.bytebuddy:byte-buddy:jar:sources:1.8.15", + "org.apache.commons:commons-exec:jar:sources:1.3", + "com.squareup.okhttp3:okhttp:jar:sources:3.11.0", + "com.google.guava:guava:jar:sources:28.1-android", + "com.squareup.okio:okio:jar:sources:1.14.0" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59-sources.jar", + "https://maven.google.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59-sources.jar", + "https://repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59-sources.jar" + ], + "sha256": "aad98064715728567784c00915692b3075c0c1aad80ca14518340868c8296597", + "url": "https://jcenter.bintray.com/org/seleniumhq/selenium/selenium-remote-driver/3.141.59/selenium-remote-driver-3.141.59-sources.jar" + }, { "coord": "org.slf4j:slf4j-api:1.7.26", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar", @@ -2775,6 +6941,24 @@ "sha256": "6d9e5b86cfd1dd44c676899285b5bb4fa0d371cf583e8164f9c8a0366553242b", "url": "https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar" }, + { + "coord": "org.slf4j:slf4j-api:jar:sources:1.7.26", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar", + "https://maven.google.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar", + "https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar" + ], + "sha256": "9e25ad98a324e6685752fd01fbbd0588ceec5df564e53c49486946a2d19dc482", + "url": "https://jcenter.bintray.com/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar" + }, { "coord": "org.slf4j:slf4j-jdk14:1.7.26", "dependencies": [ @@ -2783,6 +6967,10 @@ "directDependencies": [ "org.slf4j:slf4j-api:1.7.26" ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26.jar", @@ -2793,10 +6981,36 @@ "sha256": "eaecf0184b014c9c6831cde91b0f405207a3578156aa4efe0d8f140b445ecd78", "url": "https://jcenter.bintray.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26.jar" }, + { + "coord": "org.slf4j:slf4j-jdk14:jar:sources:1.7.26", + "dependencies": [ + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "directDependencies": [ + "org.slf4j:slf4j-api:jar:sources:1.7.26" + ], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26-sources.jar", + "https://maven.google.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26-sources.jar", + "https://repo1.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26-sources.jar" + ], + "sha256": "ba5565b6d633b56d72d0e72250eb316fbffb24912fd696548847b90ab16537e2", + "url": "https://jcenter.bintray.com/org/slf4j/slf4j-jdk14/1.7.26/slf4j-jdk14-1.7.26-sources.jar" + }, { "coord": "org.yaml:snakeyaml:1.24", "dependencies": [], "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], "file": "v1/https/jcenter.bintray.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24.jar", "mirror_urls": [ "https://jcenter.bintray.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24.jar", @@ -2806,6 +7020,34 @@ ], "sha256": "d3f7f09989d5b0ce5c4791818ef937ee7663f1e359c2ef2d312f938aad0763da", "url": "https://jcenter.bintray.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24.jar" + }, + { + "coord": "org.yaml:snakeyaml:jar:sources:1.24", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": "v1/https/jcenter.bintray.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24-sources.jar", + "mirror_urls": [ + "https://jcenter.bintray.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24-sources.jar", + "https://maven.google.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24-sources.jar", + "https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.24/snakeyaml-1.24-sources.jar", + "https://dl.bintray.com/micronaut/core-releases-local/org/yaml/snakeyaml/1.24/snakeyaml-1.24-sources.jar" + ], + "sha256": "2ca4a62e017fb92f4ddd57692a71dfe2be23a2482bf0bd8b6821a08506fe04fe", + "url": "https://jcenter.bintray.com/org/yaml/snakeyaml/1.24/snakeyaml-1.24-sources.jar" + }, + { + "coord": "com.google.guava:listenablefuture:jar:sources:9999.0-empty-to-avoid-conflict-with-guava", + "dependencies": [], + "directDependencies": [], + "exclusions": [ + "com.google.template:soy", + "com.google.common.html.types:types" + ], + "file": null } ], "version": "0.1.0" diff --git a/samples/todolist/.bazelrc b/samples/todolist/.bazelrc new file mode 100644 index 000000000..8fef3639b --- /dev/null +++ b/samples/todolist/.bazelrc @@ -0,0 +1,82 @@ + +## +# Base Settings +## + +common --experimental_allow_incremental_repository_updates + +build --watchfs +build --symlink_prefix=dist/ +build --nolegacy_external_runfiles +build --disk_cache=~/.cache/bazel-disk-cache +build --incompatible_strict_action_env +build --javacopt="-source 8 -target 8 -encoding UTF-8" +build --strict_java_deps=strict +build --use_ijars +build --interface_shared_objects +build --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11 +build --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11 + +run --incompatible_strict_action_env + +build:ci --spawn_strategy=local +build:ci --javabase=//defs/toolchain/java:java_runtime + +build:release --compilation_mode=opt + +build:dev --compilation_mode=dbg +build:dev --spawn_strategy=local +build:dev --strategy=J2cl=worker +build:dev --strategy=Closure=worker +build:dev --strategy=TypeScriptCompile=worker +build:dev --experimental_persistent_javac + +run:dev --define=VERBOSE_LOGS=1 -- --node_options=--inspect-brk + +query --output=label_kind + +# This .bazelrc file contains all of the flags required for the provided +# toolchain with Remote Build Execution. +# Note your WORKSPACE must contain an rbe_autoconfig target with +# name="rbe_default" to use these flags as-is. +build:remote --jobs=5 + +# Platform flags: +# The toolchain container used for execution is defined in the target indicated +# by "extra_execution_platforms", "host_platform" and "platforms". +# More about platforms: https://docs.bazel.build/versions/master/platforms.html +build:remote --extra_toolchains=@rbe_default//config:cc-toolchain +build:remote --extra_execution_platforms=@rbe_default//config:platform +build:remote --host_platform=@rbe_default//config:platform +build:remote --platforms=@rbe_default//config:platform +build:remote --host_javabase=@rbe_default//java:jdk +build:remote --javabase=@rbe_default//java:jdk +build:remote --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 +build:remote --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 +build:remote --crosstool_top=@rbe_default//cc:toolchain +build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 +build:remote --spawn_strategy=remote + +# Starting with Bazel 0.27.0 strategies do not need to be explicitly +# defined. See https://github.com/bazelbuild/bazel/issues/7480 +build:remote --define=EXECUTOR=remote + +# Enable remote execution so actions are performed on the remote systems. +build:remote --remote_executor=grpcs://remotebuildexecution.googleapis.com + +# Enforce stricter environment rules, which eliminates some non-hermetic +# behavior and therefore improves both the remote cache hit rate and the +# correctness and repeatability of the build. +build:remote --incompatible_strict_action_env=true + +# Set a higher timeout value, just in case. +build:remote --remote_timeout=3600 + +# Enable authentication. This will pick up application default credentials by +# default. You can use --google_credentials=some_file.json to use a service +# account credential instead. +build:remote --google_default_credentials=true + +try-import %workspace%/.bazelrc.user + + diff --git a/samples/todolist/.bazelversion b/samples/todolist/.bazelversion new file mode 100644 index 000000000..3e3c2f1e5 --- /dev/null +++ b/samples/todolist/.bazelversion @@ -0,0 +1 @@ +2.1.1 diff --git a/samples/todolist/BUILD.bazel b/samples/todolist/BUILD.bazel new file mode 100644 index 000000000..67cb1e21d --- /dev/null +++ b/samples/todolist/BUILD.bazel @@ -0,0 +1,3 @@ +package( + default_visibility = ["//visibility:public"], +) diff --git a/samples/todolist/WORKSPACE b/samples/todolist/WORKSPACE new file mode 100644 index 000000000..040b1e428 --- /dev/null +++ b/samples/todolist/WORKSPACE @@ -0,0 +1,80 @@ + +## Sample Workspace +workspace( + name = "todolist", + managed_directories = {"@npm": ["node_modules"]}) + + +## NodeJS Bootstrap +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +http_archive( + name = "build_bazel_rules_nodejs", + sha256 = "591d2945b09ecc89fde53e56dd54cfac93322df3bc9d4747cb897ce67ba8cdbf", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/1.2.0/rules_nodejs-1.2.0.tar.gz"], +) + +load("@build_bazel_rules_nodejs//:index.bzl", + "node_repositories", + "yarn_install") + +node_repositories( + package_json = ["//:package.json"], + node_version = "10.13.0", + yarn_version = "1.12.1") + +yarn_install( + name = "npm", + package_json = "//:package.json", + yarn_lock = "//:yarn.lock") + +load("@npm//:install_bazel_dependencies.bzl", + "install_bazel_dependencies") + +install_bazel_dependencies() + +## Gust Bootstrap +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") +git_repository( + name = "gust", + remote = "git@github.com:sgammon/gust.git", + commit = "cf40b14f84e716ee6fdbe01a780ed611d1102a2e", + shallow_since = "1580619116 -0800", +) + +load("@gust//defs:build.bzl", "install_dependencies") +install_dependencies() + +## Kotlin +load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kotlin_repositories", "kt_register_toolchains") +kotlin_repositories() +register_toolchains("@gust//defs/toolchain/kt:kotlin_toolchain") + +## Python +load("@rules_python//python:repositories.bzl", "py_repositories") +py_repositories() + +load("@rules_python//python:pip.bzl", "pip_repositories") +pip_repositories() + +load("@rules_python//python:pip.bzl", pip_import = "pip3_import") + +pip_import( + name = "py", + requirements = "@gust//defs/toolchain/python:requirements_base.txt") + +pip_import( + name = "werkzeug", + requirements = "@gust//defs/toolchain/python:requirements_werkzeug.txt") + +load("@gust//defs/toolchain/python:repos.bzl", "gust_python_repositories") +gust_python_repositories() + +## Java +load("@gust//defs/toolchain/java:repos.bzl", "gust_java_repositories") +gust_java_repositories() + +load("@maven//:defs.bzl", "pinned_maven_install") +pinned_maven_install() + +load("@gust//defs:workspace.bzl", "setup_workspace") +setup_workspace() diff --git a/samples/todolist/package.json b/samples/todolist/package.json new file mode 100644 index 000000000..902803f8e --- /dev/null +++ b/samples/todolist/package.json @@ -0,0 +1,8 @@ +{ + "name": "@elide/sample-todolist", + "version": "1.0.0", + "devDependencies": { + "@bazel/bazel": "latest", + "@bazel/typescript": "latest" + } +} diff --git a/samples/todolist/src/BUILD.bazel b/samples/todolist/src/BUILD.bazel new file mode 100644 index 000000000..e198431cf --- /dev/null +++ b/samples/todolist/src/BUILD.bazel @@ -0,0 +1,106 @@ +package( + default_visibility = ["//visibility:public"], +) + +load( + "@gust//defs/toolchain:schema.bzl", + "service", +) + +load( + "@gust//defs/toolchain:templates.bzl", + "ssr_library", +) + +load( + "@gust//defs/toolchain:backend.bzl", + "micronaut_library", + "micronaut_service", + "micronaut_controller", + "micronaut_application", +) + + +exports_files([ + "api.yml", + "application.yml", + "logback.xml", + "reflection.json", +]) + +service( + name = "todolist_proto", + srcs = ["todolist.proto"], + deps = [ + "//gust/page:media_proto", + "@proto_common//:type_month", + "@proto_common//:type_latlng", + "@proto_common//:type_timeofday", + "@proto_common//:rpc_status", + "@proto_common//:rpc_error_details", + "@proto_common//google/api:annotations_proto", + "@proto_common//google/api:client_proto", + "@proto_common//google/api:field_behavior", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + "@com_google_protobuf//:field_mask_proto", + ] +) + +ssr_library( + name = "home_soy", + srcs = ["home.soy"], + proto_deps = [":todolist_proto"], +) + +micronaut_library( + name = "TodolistInterceptor", + srcs = ["server/TodolistInterceptor.kt"], +) + +micronaut_library( + name = "TodolistLogic", + srcs = ["server/TodolistLogic.kt"], + proto_deps = [":todolist_proto"], +) + +micronaut_service( + name = "TasksService", + srcs = ["server/TasksService.kt"], + services = [":todolist_proto"], + deps = [ + ":TodolistLogic", + ":TodolistInterceptor", + ], +) + +micronaut_controller( + name = "HomeController", + srcs = ["server/HomeController.kt"], + templates = [":home_soy"], + proto_deps = [":todolist_proto"], + deps = [":TodolistLogic"], +) + +micronaut_application( + # -- App Info -- # + name = "TodolistServer", + config = ":application.yml", + logging_config = ":logback.xml", + + # -- Controllers -- # + controllers = [ + ":HomeController", + ], + + services = [ + ":TasksService", + ], + + # -- Publishing / Images -- # + native = False, + repository = "elide-tools/sample/todolist/jvm", + native_repository = "elide-tools/sample/todolist/native", + reflection_configuration = ":reflection.json", +) diff --git a/samples/todolist/src/api.yml b/samples/todolist/src/api.yml new file mode 100644 index 000000000..43eee0321 --- /dev/null +++ b/samples/todolist/src/api.yml @@ -0,0 +1,324 @@ +type: google.api.Service +config_version: 3 + +name: todolist.elide.tools +title: Todolist API + +apis: + - name: todolist.Tasks + +authentication: + providers: + - id: firebase + jwks_uri: https://www.googleapis.com/service_accounts/v1/metadata/x509/securetoken@system.gserviceaccount.com + issuer: https://securetoken.google.com/elide-tools + + rules: + - selector: todolist.Tasks.* + requirements: + - provider_id: firebase + +endpoints: + - name: todolist.elide.tools + target: todolist.elide.tools + allow_cors: false + +system_parameters: + rules: + - selector: "*" + parameters: + - name: api_key + url_query_parameter: key + - name: api_key + http_header: X-API-Key + - name: trace + http_header: X-API-Trace-ID + +project_properties: + properties: + - name: ENABLE_ATTACHMENTS + type: BOOL + description: Allows file attachments on Todolist tasks. + - name: MAX_ATTACHMENT_SIZE + type: INT64 + description: Maximum size of TodoTask file attachments. + +context: + rules: + - selector: "*" + requested: + - google.rpc.context.ProjectContext + - google.rpc.context.OriginContext + +enums: + - todolist.TodolistError + +metrics: + - name: "class-a-ops" + display_name: "Todolist Operations: Class A" + description: "Generic read-only operations executed against the Todolist API." + value_type: INT64 + metric_kind: DELTA + + - name: "class-b-ops" + display_name: "Todolist Operations: Class B" + description: "Generic write or query operations executed against the Todolist API." + value_type: INT64 + metric_kind: DELTA + + - name: "class-c-ops" + display_name: "Todolist Operations: Class C" + description: "Heavy write, file, or delete operations executed against the Todolist API." + value_type: INT64 + metric_kind: DELTA + + - name: "tasks-created" + display_name: "Todolist Tasks: Created" + description: "Measures the rate at which new Todolist tasks are created." + value_type: INT64 + metric_kind: DELTA + + - name: "tasks-created" + display_name: "Todolist Tasks: Completed" + description: "Measures the rate at which Todolist tasks are completed." + value_type: INT64 + metric_kind: DELTA + + - name: "files-uploaded" + display_name: "Todolist Files: Uploads" + description: "Counts the number of files uploaded within a given timeperiod." + value_type: INT64 + metric_kind: DELTA + +quota: + limits: + ## Project-level Quotas + - name: "project-class-a-ops" + metric: "class-a-ops" + unit: "1/min/{project}" + display_name: "Project Quota: Todolist Class A Ops" + description: "Project-based quota for Class A (Read-Only) operations." + values: + STANDARD: 240 + - name: "project-class-b-ops" + metric: "class-b-ops" + unit: "1/min/{project}" + display_name: "Project Quota: Todolist Class B Ops" + description: "Project-based quota for Class B (Write/Query) operations." + values: + STANDARD: 120 + - name: "project-class-c-ops" + metric: "class-c-ops" + unit: "1/min/{project}" + display_name: "Project Quota: Todolist Class C Ops" + description: "Project-based quota for Class C (Heavy) operations." + values: + STANDARD: 60 + - name: "project-tasks-created" + metric: "tasks-created" + unit: "1/min/{project}" + display_name: "Project Quota: Tasks Created/Minute" + description: "Project-based quota for tasks-created-per-minute." + values: + STANDARD: 60 + - name: "project-tasks-completed" + metric: "tasks-completed" + unit: "1/min/{project}" + display_name: "Project Quota: Tasks Completed/Minute" + description: "Project-based quota for tasks-completed-per-minute." + values: + STANDARD: 60 + - name: "project-files-uploaded" + metric: "files-uploaded" + unit: "1/min/{project}" + display_name: "Project Quota: Files Uploaded/Minute" + description: "Project-based quota for files-uploaded-per-minute." + values: + STANDARD: 30 + + ## User-level Quotas + - name: "user-tasks-created" + metric: "tasks-created" + unit: "1/sec/{user}" + display_name: "User Quota: Tasks Created/Minute" + description: "User-based quota for tasks-created-per-second." + values: + STANDARD: 5 + - name: "user-tasks-completed" + metric: "tasks-completed" + unit: "1/sec/{user}" + display_name: "User Quota: Tasks Completed/Minute" + description: "User-based quota for tasks-completed-per-second." + values: + HIGH: 5 + STANDARD: 3 + LOW: 1 + - name: "user-files-uploaded" + metric: "files-uploaded" + unit: "1/sec/{user}" + display_name: "User Quota: Files Uploaded/Minute" + description: "User-based quota for files-uploaded-per-second." + values: + HIGH: 3 + STANDARD: 1 + + metric_rules: + - selector: todolist.Tasks.Health + metric_costs: + class-a-ops: 1 + - selector: todolist.Tasks.CreateTask + metric_costs: + class-b-ops: 1 + tasks-created: 1 + - selector: todolist.Tasks.UpdateTask + metric_costs: + class-b-ops: 1 + - selector: todolist.Tasks.FetchTask + metric_costs: + class-a-ops: 1 + - selector: todolist.Tasks.CheckOffTask + metric_costs: + class-b-ops: 1 + tasks-completed: 1 + - selector: todolist.Tasks.DeleteTask + metric_costs: + class-b-ops: 1 + - selector: todolist.Tasks.AttachFile + metric_costs: + class-b-ops: 1 + class-c-ops: 1 + files-uploaded: 1 + - selector: todolist.Tasks.DeleteFile + metric_costs: + class-b-ops: 1 + class-c-ops: 1 + - selector: todolist.Tasks.ListTasks + metric_costs: + class-a-ops: 1 + class-b-ops: 1 + - selector: todolist.Tasks.ClearCompleted + metric_costs: + class-a-ops: 1 + class-b-ops: 1 + +usage: + rules: + - selector: "todolist.Tasks.*" + allow_unregistered_calls: false + +documentation: + summary: > + Provides an API for interfacing with the Todolist application on behalf of a registered user. Allows management of a + user's Todolist, execution of the task lifecycle, and management of attached files. + + pages: + - name: Overview + content: > + # Cloud API + + ## Overview + Coming soon. + + subpages: + - name: Getting Started + content: > + ## Cloud API: Getting Started + Coming soon. + + rules: + - selector: todolist.Tasks.Health + description: > + Check the health of the Tasks API. If systems are running smoothly, an empty successful response will be + returned. If not, the request will fail with some enumerated error case describing why the system isn't ready. + + - selector: todolist.Tasks.CreateTask + description: > + Create a new task for the currently-logged-in user, on their Todolist. If the client frontend nominates a unique + ID for the task, the system guarantees idempotency, and the frontend may retry with the same token if transient + errors are encountered which prevent the write operation from succeeding. + + Once the write operation completes, a reference is provided in response which describes: + - *Key*: Provisioned key for the task record, which may differ from the nominated ID in some cases. + - *Version*: Revision timestamp, describing the written version of this record. + + - selector: todolist.Tasks.UpdateTask + description: > + Updates an existing task in the currently-logged-in user's Todolist. If the specified task cannot be found or is + already archived, the request is rejected with a `CONFLICT`-style error. Alternatively, if the task is found and + eligible for a write, but is already more up-to-date than the write offered (via a client-nominated `version`), + the write is rejected for a `FAILED_PRECONDITION`-style error. + + During client-driven submission of a task update, the record `version` should match the base version of the task + being mutated. If this base `version` does not match, the write will be rejected, and the client is urged to re- + fetch the record and try again. + + Certain fields on tasks are not accessible for write via this method. Namely, this would include attached files, + the current `status` of the task, and task timestamps. Task status may be updated with `CheckOffTask`, and files + may be attached via `AttachFile`. + + - selector: todolist.Tasks.FetchTask + description: > + Retrieves payload data for an individual Todolist task, referenced by the task's unique key. If the task cannot + be found or has been tombstoned for deletion, this method will fail with `HTTP 404`/`NOT_FOUND`. Tasks not owned + by the current user are not visible during the transaction, so, fetching a task not owned by the currently- + logged-in user will also yield an `HTTP 404`/`NOT_FOUND`. + + - selector: todolist.Tasks.CheckOffTask + description: > + Update an existing task into the `COMPLETED` state. This transitions the task to the completed tasks list in the + UI, and removes any notifications regarding the due-date/deadline for the task. This transition must be + performed in this method, rather than `UpdateTask`. + + - selector: todolist.Tasks.DeleteTask + description: > + Permanently delete a task entirely from a user's task list. This removes the task from disk, including any + associated content, index entries, or attached files in storage. Obviously, invoke this method with caution. + + - selector: todolist.Tasks.AttachFile + description: > + Attach an uploaded file to an existing Todolist task. The file must exist in GCS, having already been uploaded + by the frontend. Once this method completes, a record will have been created attached to the subject task, which + points to the file previously uploaded. + + - selector: todolist.Tasks.FetchFile + description: > + Retrieve an existing file attachment listed under a specified Todolist task, both of which owned by the + currently-logged-in user. If the subject task, or the file attachment, cannot be found, a `HTTP 404`/`NOT_FOUND` + error is returned. + + This method simply returns metadata about the file in question. That metadata may include a signed serving URL, + which enables the client with an endpoint to download the file securely, if needed/desired. + + - selector: todolist.Tasks.DeleteFile + description: > + Un-attach and delete an uploaded file, which is currently attached to an existing Todolist task. After this + method completes, the file is permanently gone, including the record which pointed to it. Obviously, invoke this + method with caution, only after confirming the user's intent. + + - selector: todolist.Tasks.ListTasks + description: > + List tasks on a the currently-logged-in user's Todolist, optionally applying query parameters to filter, sort, + or otherwise adjust the tasks returned. If a *query limit* is left unspecified, it defaults to `50`, limiting + the number of records returned. If more records match the query than the returned amount, in *any* case, the + system will indicate as such using the metadata fields for the list response. + + For instance, if the user has a total of `75` tasks, and a query is submitted with `limit=50` or no limit + specified at all, the server will: + - Return the first `50` results, as the "first page," so-to-speak + - Indicate that there are a total of `2` pages (de-facto limiting the total results to `100`) + - Indicate that there are a total of `75` tasks + + Since the client is on page 1 when it submits this query, it knows that there remain `1` pages, containing `25` + tasks. These metrics and calculated values can thusly be used in the UI to indicate the range of records on the + user's Todolist. + + - selector: todolist.Tasks.ClearCompleted + description: > + Query the currently-logged-in user's Todolist for any completed tasks, and move any tasks we find into the final + `ARCHIVED` state. This should also adjust the UI to remove completed tasks from the active view, and hide them + behind a *Completed Tasks* listing. + + After tasks are completed and cleared, they subsequently cease to show up in any regular listings of a user's + Todolist, unless the invoking code specifically asks to include archived tasks. Some period after being + completed (*7 days* at the time of this writing), `ARCHIVED` tasks are deleted, along with any associated + content or attached files. diff --git a/samples/todolist/src/application.yml b/samples/todolist/src/application.yml new file mode 100644 index 000000000..7e6b68bb3 --- /dev/null +++ b/samples/todolist/src/application.yml @@ -0,0 +1,130 @@ + +micronaut: + application: + name: Todolist + + server: + maxRequestSize: 10MB + host: 0.0.0.0 + port: 8080 + cors: + enabled: false + netty: + maxHeaderSize: 500KB + chunked-supported: true + use-native-transport: true + compression-level: 2 + compression-threshold: 2048 + parent: + threads: 4 + worker: + threads: 4 + epoll: + options: + tcpFastopen: 128 + tcpQuickack: true + childOptions: + soKeepalive: true + + session: + enabled: true + http: + cookie: true + header: false + redis: + enabled: true + cookie: true + header: true + namespace: 'todolist:sessions' + write-mode: BACKGROUND + enable-keyspace-events: true + valueSerializer: io.micronaut.jackson.serialize.JacksonObjectSerializer + + security: + enabled: true + session: + enabled: true + login-success-target-url: /app + login-failure-target-url: /login + unauthorized-target-url: /login + logout-target-url: /logout + legacy-rejection-handler: false + endpoints: + login: + enabled: true + path: /login/go + logout: + enabled: true + get-allowed: true + path: /logout + + views: + soy: + enabled: true + engine: sauce + renaming: false + + csp: + enabled: true + generateNonce: true + reportOnly: true + policyDirectives: "default-src 'https: 'self' data: 'nonce-{#nonceValue}';" + + executors: + io: + type: fixed + nThreads: 12 + + config-client: + enabled: true + +grpc: + server: + port: 8443 + keep-alive-time: 1h + + client: + plaintext: true + max-retry-attempts: 10 + +graphql: + enabled: true + path: /v1/graph + graphiql: + enabled: false + version: 0.13.2 + path: /_/graphiql + page-title: "Dashboard - GraphiQL" + +kubernetes: + client: + discovery: + enabled: true + config-maps: + enabled: true + secrets: + enabled: true + +redis: + uri: redis://fcache + caches: + todolist: + expire-after-access: 4h + +endpoints: + beans: + enabled: true + sensitive: false + info: + enabled: true + sensitive: false + +tracing: + zipkin: + enabled: true + sampler: probability=1.0 + +gcp: + project-id: elide-tools + tracing: + enabled: true diff --git a/samples/todolist/src/home.soy b/samples/todolist/src/home.soy new file mode 100644 index 000000000..3ce40406a --- /dev/null +++ b/samples/todolist/src/home.soy @@ -0,0 +1,20 @@ + +{namespace todolist.home} + + +/** + * Render the homepage for Todolist. There are a few modes to the homepage, depending on the user's authentication + * state. If they are logged-in when they visit the page, we render their current list of tasks - if not, we render a + * toy sample that is usable anonymously. + * + * The client-side app handles re-hydration and state transitions from anonymous-to-logged-in, and vice-versa. This + */ +{template .page} + {@param? name: string} /** Name to say hello to for our simple salutation. Defaults to 'World'. */ + + {call gust.page.wrap} + {param content kind="html"} + Hello, {$name ?: "World"}! + {/param} + {/call} +{/template} diff --git a/samples/todolist/src/logback.xml b/samples/todolist/src/logback.xml new file mode 100644 index 000000000..8b01dfb54 --- /dev/null +++ b/samples/todolist/src/logback.xml @@ -0,0 +1,13 @@ + + + + true + + %cyan(%d{HH:mm:ss.SSS}) %gray([%thread]) %highlight(%-5level) %magenta(%logger{36}) - %msg%n + + + + + + + diff --git a/samples/todolist/src/reflection.json b/samples/todolist/src/reflection.json new file mode 100644 index 000000000..973bc6a4e --- /dev/null +++ b/samples/todolist/src/reflection.json @@ -0,0 +1,38 @@ +[ + { + "name" : "com.google.template.soy.jbcsrc.gen.todolist.home.page", + "allDeclaredConstructors" : true, + "allPublicConstructors" : true, + "allDeclaredMethods" : true, + "allPublicMethods" : true, + "allDeclaredClasses" : true, + "allPublicClasses" : true + }, + { + "name" : "com.google.template.soy.jbcsrc.gen.todolist.home.page$Factory", + "allDeclaredConstructors" : true, + "allPublicConstructors" : true, + "allDeclaredMethods" : true, + "allPublicMethods" : true, + "allDeclaredClasses" : true, + "allPublicClasses" : true + }, + { + "name" : "com.google.template.soy.jbcsrc.gen.gust.page.wrap", + "allDeclaredConstructors" : true, + "allPublicConstructors" : true, + "allDeclaredMethods" : true, + "allPublicMethods" : true, + "allDeclaredClasses" : true, + "allPublicClasses" : true + }, + { + "name" : "com.google.template.soy.jbcsrc.gen.gust.page.wrap$Factory", + "allDeclaredConstructors" : true, + "allPublicConstructors" : true, + "allDeclaredMethods" : true, + "allPublicMethods" : true, + "allDeclaredClasses" : true, + "allPublicClasses" : true + } +] \ No newline at end of file diff --git a/samples/todolist/src/server/HomeController.kt b/samples/todolist/src/server/HomeController.kt new file mode 100644 index 000000000..85b29c67c --- /dev/null +++ b/samples/todolist/src/server/HomeController.kt @@ -0,0 +1,44 @@ +package server + +import com.google.common.collect.ImmutableMap +import tools.elide.page.Context +import io.micronaut.http.HttpResponse +import io.micronaut.http.annotation.Controller +import io.micronaut.http.annotation.Get +import io.micronaut.http.annotation.QueryValue +import io.micronaut.security.annotation.Secured +import io.micronaut.views.View + + +/** + * Todolist homepage controller - responsible for serving the homepage, with a little preview of the app, with the + * ability to use it (anonymously / ephemerally). It also offers the ability to sign in and persist one's tasks. The + * homepage UI is defined in Soy, and styled in SASS. + */ +@Controller +@Secured("isAnonymous()") +class HomeController { + /** + * `/` (`HTTP GET`): Handler for the root homepage for Todolist - i.e. `/`. Serves the preview page if the user isn't + * logged in, or the regular app page & container if they are. + * + * The content for this page depends conditionally on the user's login status. If they aren't logged in, we render a + * page with a sign-in button and a little toy copy of Todolist. The toy copy is identical to the real one, but it + * offers no persistence of tasks beyond the current browser session. + * + * If the user opts to make use of the anonymous/toy version, and then later chooses to sign in, their previous tasks + * are preserved, along with their user ID (using anonymous user upgrade via Firebase). This flow happens via the + * client-side app, so we don't need to worry about it here. Similarly, if the user hits the homepage without being + * logged in, and then logs in, that flow is also handled by the re-hydrated CSR frontend. + */ + @Get("/") + @View("todolist.home.page") + fun home(@QueryValue("name", defaultValue = "World") name: String): HttpResponse> { + return HttpResponse.ok(ImmutableMap.of( + "name", name, + "context", Context.newBuilder() + .setStyles(Context.Styles.newBuilder()) + .setScripts(Context.Scripts.newBuilder()) + .build())) + } +} diff --git a/samples/todolist/src/server/TasksService.kt b/samples/todolist/src/server/TasksService.kt new file mode 100644 index 000000000..b1c98df03 --- /dev/null +++ b/samples/todolist/src/server/TasksService.kt @@ -0,0 +1,48 @@ +package server + +import com.google.protobuf.Empty +import io.grpc.stub.StreamObserver +import io.micronaut.grpc.annotation.GrpcService +import tools.elide.samples.todolist.schema.TasksGrpc +import javax.inject.Singleton + + +/** + * Defines the server-side implementation of the [TasksGrpc] service. This API service supports all backend-enabled + * functionality related to the Todolist app, including (1) management of user tasks, (2) task attachment upload and + * management, and (3) task lifecycle (i.e. completion, clearing, and so on). + * + * Although the API is designed with the frontend application's general access pattern in mind, there are a number of + * alternate ways to consume this service (listed exhaustively below, including the general case): + * + * - **Direct access**. When build an implementation of a Todolist client app, the API may be accessed directly via + * *gRPC* or *REST*. In REST access contexts, the API supports exchanging JSON. + * + * - **Cross-origin access**. Currently, CORS-based access is disabled on the API, because it is mostly usable in one of + * the other two access methodologies listed. It may be enabled in `api.yml`. + * + * - **GraphQL endpoint**. Through Micronaut, there is support for Rejoiner-based GraphQL access, both for data reads + * and writes. This endpoint makes use of the same schemas as *Direct access* circumstances, just translated to edges + * in the GraphQL schema available at the endpoint. + */ +@Singleton +@GrpcService +class TasksService: TasksGrpc.TasksImplBase() { + /** + * Implements the `Health` service method, which simply checks the health of the Tasks API itself, and reports back + * whether there are any known issues, or that the service is working as intended. Transient issues with database + * connections and backend services may cause this endpoint to report bad health. This way, routing is transparent + * around issues with deep-backend layers when operating Todolist in a multi-homed fashion. + * + * This method is unary, so we are expected to prepare one (and only one) response and then send it. If the service + * is not working correctly, we yield an error and explain why (instead of a regular response). + * + * This method can generally be invoked via `HTTP GET` at the endpoint `/v1/health`. + * + * @param request Empty protocol message, indicating a request for system health. + * @param observer Observer for responses or errors which should be relayed back to the invoking client. + */ + override fun health(request: Empty, observer: StreamObserver) { + TODO("not yet implemented") + } +} diff --git a/samples/todolist/src/server/TodolistInterceptor.kt b/samples/todolist/src/server/TodolistInterceptor.kt new file mode 100644 index 000000000..9b56ad074 --- /dev/null +++ b/samples/todolist/src/server/TodolistInterceptor.kt @@ -0,0 +1,50 @@ +package server + +import io.grpc.* +import javax.annotation.concurrent.Immutable +import javax.inject.Singleton + + +/** + * Intercepts server-side calls to the [TasksService], and performs steps to authenticate the calls before allowing them + * to proceed. If a given call does not meet the requirements for authentication/authorization, it is rejected with a + * `403 Forbidden`/`PERMISSION_DENIED` status. If the call is missing authentication credentials entirely, it is + * rejected with `403 Forbidden`/`AUTHORIZATION_REQUIRED`. + * + * Meeting the following requirements constitute valid authentication for use of the Tasks API: + * - **API key.** The frontend application invoking the service call must affix an API key, which is valid and un- + * revoked, and passes any associated validation (for instance, referrer restrictions, for web app keys, and so on). + * + * - **Authorization token.** The frontend application invoking the service call must affix an `Authorization` header, + * which specifies a `Bearer` token containing a valid, un-expired, and un-revoked Firebase authorization JWT. To + * learn more about Firebase Auth, see [here](https://firebase.google.com/docs/auth). To learn more about *JSON Web + * Tokens*, head over to [jwt.io](https://jwt.io/). + */ +@Singleton +@Immutable +class TodolistInterceptor: ServerInterceptor { + /** + * Performs the interception of RPC traffic through the [TasksService], enforces authentication requirements like API + * key presence and validity, and loads the active user through any affixed `Authorization` header. If *any* of the + * described steps fail, the request is rejected. How it is rejected is based on the circumstances, but generally the + * HTTP status failure code is always `403`. + * + * If the interceptor is able to load authentication and authorization credentials are properly validate them, it then + * prepares the loaded values for downstream use by attaching them to the active gRPC context (see [io.grpc.Context]). + * Keys for injected context items are exposed statically on this class, so that downstream actors may easily + * reference them. + * + * @param call Server-side call being intercepted in this interceptor invocation. + * @param metadata Metadata for the call, which roughly equates to the request's HTTP headers. + * @param handler Tip of the handler chain for this call, which we should pass the call to, in order to continue RPC + * processing. This invokes the service method, any associated logic, etc., and hopefully completes the call. + * @return Listener, which wraps the provided server [call] and [metadata], and eventually dispatches [handler] if + * auth details are processed and applied successfully. + */ + override fun interceptCall(call: ServerCall, + metadata: Metadata, + handler: ServerCallHandler): + ServerCall.Listener { + TODO("not yet implemented") + } +} diff --git a/samples/todolist/src/server/TodolistLogic.kt b/samples/todolist/src/server/TodolistLogic.kt new file mode 100644 index 000000000..6324c63c9 --- /dev/null +++ b/samples/todolist/src/server/TodolistLogic.kt @@ -0,0 +1,22 @@ +package server + +import javax.inject.Singleton + + +/** + * Defines application logic for the Todolist app. This logic is exposed via gRPC services (like [TasksService]), or, + * alternatively, made use of directly via dependency injection in server-side controllers (i.e. [HomeController]). The + * task lifecycle is defined and implemented within this logic, so it is safe for external callers (i.e. services or + * controllers) to make assumptions about the data they are handed. + * + * In this manner, validation logic in the Todolist app is centralized here. Some aspects of the logic contained herein + * are packaged separately to allow sharing that logic with the frontend, which must perform a subset of the tasks + * incumbent on the server (for instance, basic validation of data before submission to the service, which is performed + * in duplicate on the server-side). + * + * Methods in this implementation logic may only be executed by authenticated/authorized users. Anonymous interactions + * with the Todolist app do not persist beyond the user's local browser memory. + */ +@Singleton +class TodolistLogic { +} diff --git a/samples/todolist/src/todolist.proto b/samples/todolist/src/todolist.proto new file mode 100644 index 000000000..1723a8b74 --- /dev/null +++ b/samples/todolist/src/todolist.proto @@ -0,0 +1,659 @@ +/** + * Defines the Todolist app from front to back, including the data objects supported by the application, API, field, and + * object documentation, and the surface of the API which supports the frontend. These objects are code-generated into + * whatever language needed to facilitate frontend or backend logic, data storage, events/analytics, and so on. + * + * Behavior of the framework's data engine can be controlled via the `core/Datamodel` import, which enables annotations + * on the Protobuf message objects. This allows us to designate certain objects for storage or API use, or certain + * fields as hidden/internal, and so on. From start to finish, if there is an app-related data model of some kind that + * is made use of in this little sample, it's in this file. + */ +syntax = "proto3"; + +package todolist; + +option optimize_for = SPEED; +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_string_check_utf8 = true; +option java_outer_classname = "TodolistApp"; +option php_namespace = "ElideSamples"; +option php_class_prefix = "TDL"; +option swift_prefix = "Todolist"; +option objc_class_prefix = "TDL"; +option ruby_package = "Elide::Samples::Todolist::Schema"; +option java_package = "tools.elide.samples.todolist.schema"; +option csharp_namespace = "Elide.Samples.Todolist.Schema"; +option go_package = "github.com/elide-tools/elide/samples/todolist/schema;todolist"; + +import "google/type/month.proto"; +import "google/type/latlng.proto"; +import "google/type/timeofday.proto"; + +import "google/api/client.proto"; +import "google/api/annotations.proto"; +import "google/api/field_behavior.proto"; + +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/field_mask.proto"; + +import "webutil/html/types/html.proto"; + +import "gust/page/media.proto"; +import "gust/api/services.proto"; +import "gust/core/datamodel.proto"; + + +// Defines the priority levels that a task in the task-list can take on. These are essentially arbitrary, and it is +// entirely up to the user which is selected for each task. Each level is described via docs for its own enumerated +// priority tier. +enum TaskPriority { + // Normal task priority. Shows the task's priority in blue, or with only one exclamation point (in icon-based UIs). + NORMAL = 0; + + // Elevated, or higher-than-normal task priority. Shows the task's priority in yellow, or with two exclamation points. + ELEVATED = 1; + + // Critical, or highest task priority. Shows the task's priority in red, or with three exclamation points. + CRITICAL = 2; +} + + +// Defines the available statuses for a given Todolist task. Newly-created tasks start in the `ELIGIBLE` status, and +// stay there until the task is completed. At that time, the task is switched to `COMPLETED`, but it still remains +// visible in the user's task list until they fully clear it by "clearing completed," which marks it as `ARCHIVED`. +enum TaskStatus { + // The task is eligible for completion, or for regular display in Todolist. + ELIGIBLE = 0; + + // The task has been completed, but should still show for regular display. + COMPLETED = 1; + + // The task has been archived, meaning it was completed and cleared. + ARCHIVED = 2; +} + + +// Describes a file attached to this task. These attached files are stored in Google Cloud Storage, and identified +// uniquely by their public object URL. The mime type is used for icons/light-box type sniffing (i.e. for images). +message TaskAttachment { + option (core.role) = OBJECT; + + // Unique ID provisioned to identify this specific file, globally. + string id = 1 [ + (core.field).type = ID, + (core.field).summary = "Globally-unique file ID.", + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Private URL to the attachment file, stored on GCS. + string url = 2 [ + (core.field).summary = "Private URL for the attachment file.", + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Original filename for the attached file asset. + string file_name = 3 [ + (core.field).summary = "Original uploaded name of the attached file.", + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies the kind of media constituted by this file attachment. + page.MediaType kind = 4 [ + (core.field).summary = "Specifies, in broad terms, the type of media constituted by this attachment.", + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies metadata about the media constituted by this file attachment, in each case specific to the kind of media + // attached (represented in `kind`). Major types of structured media are `IMAGE`, `VIDEO`, `AUDIO`, and `DOCUMENT`. + oneof media { + // Specifies structured information specifically related to an image attached to a Todolist task. + page.MediaAsset.Image image = 30 [ + (core.field).summary = "Specifies info related to image media, if applicable.", + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies structured information specifically related to a video attached to a Todolist task. + page.MediaAsset.Video video = 40 [ + (core.field).summary = "Specifies info related to video media, if applicable.", + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies structured information specifically related to some digital document attached to a Todolist task. + page.MediaAsset.Document document = 50 [ + (core.field).summary = "Specifies info related to an attached document, if applicable.", + (google.api.field_behavior) = OPTIONAL, + (google.api.field_behavior) = IMMUTABLE + ]; + } + + // Specifies the meta-generation for a given object. This is used by GCS to track file metadata changes. + uint32 metageneration = 6 [ + (core.field).summary = "Metadata version for the attached file.", + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies the proper generation for a given object. This is used by GCS to track file version changes. + uint64 generation = 7 [ + (core.field).summary = "Data version for the attached file.", + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Private URL to the attachment file, stored on GCS. + webutil.html.types.TrustedResourceUrlProto serving_url = 8 [ + (core.field).summary = "Private URL for the attachment file.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // MIME type of the file stored as this task attachment. + string mime = 9 [ + (core.field).summary = "MIME type of the attachment file.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Byte-size of the file, as reported by GCS. + uint32 size = 10 [ + (core.field).summary = "Size of the file, in bytes, as reported by GCS.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // MD5 hash of the file's contents, as reported by GCS after upload. + string md5 = 11 [ + (core.field).summary = "MD5 fingerprint of the file's data.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} + + +// Defines the structure of a task, which can exist on a user's task list in Todolist. This structure is used to store +// the object in underlying data stores, to render a depiction of the object on the server, to emit the object over a +// service in either binary or JSON, and/or to render or understand the object on the frontend. That is to say, anytime +// a to-do task a referenced, it effectively derives from this central definition. +message TodoTask { + option (core.role) = OBJECT; + + // Content type of the embedded description content in the task. If `MARKDOWN` is selected, the rendering agent + // (either on the frontend or backend) should render the content into HTML, otherwise, it's fine to use plain text. + enum ContentType { + // Regular, plain text content. + PLAINTEXT = 0; + + // Markdown-based content. + MARKDOWN = 1; + } + + // Describes description content associated with a Todolist task. This description content can be in any format + // specifies in `ContentType`, but must be encoded in Base64 before storing in `payload`. + message TaskContent { + // Type of content assigned to this content block. + ContentType type = 1 [ + (core.field).summary = "Type of content assigned to this block.", + (google.api.field_behavior) = REQUIRED + ]; + + // Base64-encoded payload of content. + bytes payload = 2 [ + (core.field).summary = "Base64-encoded content value.", + (google.api.field_behavior) = REQUIRED + ]; + } + + // Describes, if applicable, the deadline associated with a given Todolist task. Deadlines are always optional, and + // can be specified as a day (with a day-level boundary), or as a specific time on a specified day. + message TaskDeadline { + // Full four-digit Gregorian Calendar year in which the task is due. + uint32 year = 1 [ + (core.field).summary = "Four-digit year in which the task is due.", + (google.api.field_behavior) = REQUIRED + ]; + + // Calendar month in which the task is due. + google.type.Month month = 2 [ + (core.field).summary = "Calendar month in which the task is due.", + (google.api.field_behavior) = REQUIRED + ]; + + // Day of the month in which the task is due. + uint32 day = 3 [ + (core.field).summary = "Day of the month on which the task is due.", + (google.api.field_behavior) = REQUIRED + ]; + + // Describes the specificity of the task deadline. + oneof specificity { + // The task is due at the specified day's boundary. + bool day_boundary = 4 [ + (core.field).summary = "Flag indicating a day-boundary. If no `time` is provided, this is set to `true`.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // The task is due at a specific time on the specified day. + google.type.TimeOfDay time = 5 [ + (core.field).summary = "Time-of-day at which this task is due.", + (google.api.field_behavior) = OPTIONAL + ]; + } + } + + // ID assigned to the task, by the storage engine, when it is first written. Generally, the client is able to nominate + // a value to be used as the ID when creating a task, but does not have final authority about the ID used for the + // record. In other cases, the server or storage engine generates the key ID when the record is first written. + TaskKey task_key = 1 [ + (core.field).type = KEY, + (core.field).summary = "Key defining the identity of this individual Todolist task." + ]; + + // Display title for the task. + string title = 2 [ + (core.field).summary = "Display title for the task.", + (google.api.field_behavior) = REQUIRED + ]; + + // Priority level selected for this task. + TaskPriority priority = 3 [ + (core.field).summary = "Priority level for the task.", + (google.api.field_behavior) = OPTIONAL + ]; + + // Current status of this individual task. + TaskStatus status = 4 [ + (core.field).summary = "Current status of the task.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Describes any deadline associated with this task. + TaskDeadline deadline = 5 [ + (core.field).summary = "Deadline associated with the task.", + (google.api.field_behavior) = OPTIONAL + ]; + + // Content attached to this task. + TaskContent content = 6 [ + (core.field).summary = "Task content body.", + (google.api.field_behavior) = OPTIONAL + ]; + + // Location associated with this task, if any. + google.type.LatLng location = 7 [ + (core.field).summary = "Associated task location, if any.", + (google.api.field_behavior) = OPTIONAL + ]; + + // File attachments linked to this task. + repeated TaskAttachment attachment = 8 [ + (core.collection).mode = COLLECTION, + (core.collection).path = "attachments", + (core.field).summary = "Task file attachments, if any.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Timestamp indicating when this record was last modified. Because of the flag set on this field, the framework will + // automatically update this value each time the record is saved. + google.protobuf.Timestamp modified = 98 [ + (core.field).stamp_update = true, + (core.field).summary = "Timestamp indicating when this task was last modified.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Timestamp indicating when this record was originally created. Because of the flag set on this field, the framework + // will automatically set this value when the record is first created. + google.protobuf.Timestamp created = 99 [ + (core.field).stamp_create = true, + (core.field).summary = "Timestamp indicating when this task was originally created.", + (google.api.field_behavior) = OUTPUT_ONLY + ]; +} + + +// References an individual task owned by the current user, by its key/id. This message is re-usable over the API, in +// particular when fetching or otherwise referencing existing tasks. The `id` for a given task is generally assigned by +// the server when the record is created. Task `version` values change with each update, and are usually set to a +// monotonically increasing value, such as a timestamp. +message TaskKey { + // ID of the task being referenced. This ID is generated by the underlying data engine when the task record is first + // created, or by the server via some custom algorithm. + string id = 1 [ + (core.field).type = ID, + (core.field).summary = "Unique ID generated for a given individual Todolist task.", + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specific version of the task being referenced, as applicable. Each time a task is edited, a new "revision" is + // created, addressed by the timestamp at which it was written. The timestamp (`version`/`revision`) should be treated + // as an opaque, monotonically-increasing value meant for comparison purposes only. + uint32 version = 2 [(core.field).summary = "Version number for a given Todolist task payload."]; + + // Specifies an optional parent task which owns this task. If specified, the task is a sub-task living under the + // referenced parent. + TaskKey parent = 3 [ + (core.field).type = PARENT, + (core.field).summary = "Specifies the key of the parent for this task, if any.", + (google.api.field_behavior) = IMMUTABLE + ]; +} + + +// Specifies a generic container which holds a list of individual tasks owned by the current user, optionally with some +// metadata describing tasks that weren't listed (i.e. in the case of paging-enabled queries where there are remaining +// records not included in this response). When operating in keys-only mode, each `TodoTask` item is referenced only by +// its ID, rather than with a full payload of data. In this operating mode, invoking code must fetch the payload data +// for the task if it does not already have it on-hand. +message TaskList { + option (core.role) = WIRE; + + // Specifies a set of `TodoTask` payloads that matched the provided query. The structure of this payload is defined by + // its single repeated property, `task` (see below). + message TaskPayloads { + // Specifies the set of task payloads constituent to this `TaskList`. Each task should be enclosed with its key, + // since there is no method that produces a task list pre-write. Each task payload is specified with every field + // available, unless invoking code provided a mask of fields to return. + repeated TodoTask task = 1; + } + + // Specifies a set of keys, each of which matched the provided query, and each of which reference an existing + // `TodoTask` record, for which a payload may be fetched at the frontend's discretion. + message TaskReferences { + // Specifies a set of keys, constituent to this `TaskList`, each of which reference an existing `TodoTask`, that + // collectively constitute a response to some query for a list of tasks. Each key present matched the query, and can + // further be fetched for payload data via the `FetchTask` method, if needed. + repeated TaskKey task_key = 1; + } + + // Defines metadata regarding a given list of TodoTask records or keys. The properties enclosed in this record supply + // ancillary metadata which may be useful for UI purposes or follow-up query calculations. + message ListMetadata { + // Number of pages which exist, at the provided page limit. This counts the full number of pages, regardless of + // which page the user/frontend is currently on. + uint32 pages = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Total count of all records that match the provided query. This accounts for uneven result counts vs. page limits + // and is usable as a "n of Y" value. + uint32 total = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Opaque cursor value to resume this query, if supported by the underlying engine. Supplying this value during + // follow-up query submission allows the engine to continue seeking where it left off. + string cursor = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Ancillary metadata describing various values (like the total count of records), attached to the `TaskList` payload + // specified. Applies to both keys-only and payload queries. + ListMetadata meta = 1; + + // Specifies the list of tasks, either as a list of full payloads (via `TaskPayloads`), or a list of keys, each of + // which reference an existing and matching `TodoTask` record. + oneof tasklist { + // When *not* operating in `keys_only` mode, this property holds a list of matching `TaskPayloads` records, for the + // query provided by invoking code. Each task should carry with it a valid and unique `TaskKey`. + TaskPayloads tasks = 10; + + // When `keys_only` mode is *active*, this property holds a list of matching `TaskReference` records, each of which + // match the query provided by invoking code. Each task key is known to exist at this stage, but fetching payload + // data for it is up to the client/frontend. + TaskReferences keys = 11; + } +} + + +// Specifies properties or modifiers related to an operation to list tasks for the currently-logged-in user. Query +// options include the standard offset/limit/cursor properties, and also a mode called `keys_only`, wherein any matching +// records are returned as keys instead of full payloads. Alternatively, the user may specify `projection` as a field +// mask of payload values to fetch and return. In this mode, values are fetched directly from indexes, rather than +// reading the payload from disk. +message TaskListQuery { + option (core.role) = WIRE; + + // Applies a limit to the number of records returned by a given `TaskList` query. If a limit is applied, and the count + // of matching records exceeds the limit, the system will begin to page results (i.e. it will affix properties that + // indicate the total number of pages, etc). The maximum (and default) limit is `100`. + uint32 limit = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Applies an offset to the beginning of any resulting records returned by a given `TaskList` query. If an offset is + // applied, a corresponding amount of records are skipped before composing and returning the result set to invoking + // code. The maximum offset is `1000`. + uint32 offset = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Informs the `TaskList` logic that we are resuming a query submitted previously. If supported by the engine, the + // system may continue to seek on that existing result-set. + string cursor = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Requests that only a specified set of fields be returned in matching `TodoTask` payloads. Fields not mentioned in + // this structure, if present, are elided before returning the payload to the frontend. Has no effect when operating + // in `keys_only` mode. With a payload projection, values are fetched directly from indexes, alleviating the need to + // read data from disk. Making use of this technique may accelerate non-keys-only queries by a significant margin. + google.protobuf.FieldMask projection = 4 [(google.api.field_behavior) = OPTIONAL]; +} + + +// Specifies an RPC/API request to attach an uploaded file to an existing `TodoTask` record. The client frontend is +// expected to complete the upload to GCS, then dispatch the method constituted by this request structure, to complete +// the file attachment process. +message AttachFileRequest { + option (core.role) = WIRE; + + // Specifies the TodoTask which owns the referenced `TaskAttachment`. + TaskKey task_key = 1 [(google.api.field_behavior) = REQUIRED]; + + // Specifies the ID of the file attachment being referenced, under `task_key`. + string file_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Specifies the meta-generation for a given object. This is used by GCS to track file metadata changes. + uint32 metageneration = 7 [(google.api.field_behavior) = REQUIRED]; + + // Specifies the proper generation for a given object. This is used by GCS to track file version changes. + uint64 generation = 8 [(google.api.field_behavior) = REQUIRED]; +} + + +// References a file attachment under a specific TodoTask, owned by the currently-logged-in user. Includes a specific +// reference t +message AttachedFileReference { + option (core.role) = WIRE; + + // Specifies the TodoTask which owns the referenced `TaskAttachment`. + TaskKey task_key = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies the ID of the file attachment being referenced, under `task_key`. + string file_id = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Specifies the meta-generation for a given object. This is used by GCS to track file metadata changes. + uint32 metageneration = 7 [(google.api.field_behavior) = IMMUTABLE]; + + // Specifies the proper generation for a given object. This is used by GCS to track file version changes. + uint64 generation = 8 [(google.api.field_behavior) = IMMUTABLE]; +} + + +// Describes known error states, that may occur when interacting with the Tasks API. These errors are specific to the +// nature of the logic at hand and semantically extend the meaning of whatever RPC status is given to a response. +enum TodolistError { + option (core.enum_role) = ERRORS; + + // The error state was not specified, or could not be recognized. + UNSPECIFIED_ERROR = 0; + + // The submitted `TodoTask` record was found to be invalid for some reason. Details are specified in the additional + // error metadata and error message. + TASK_INVALID = 1; + + // The submitted `TodoTask` record could not be completed, or could not be updated, either because the task or version + // specified already exists, or because a competing/more up-to-date change already occurred. + TASK_CONFLICT = 2; + + // The system could not locate a `TodoTask` record matching the provided `TodoKey`. + TASK_NOT_FOUND = 3; + + // The provided `TodoKey` was found to be invalid, either because it had a missing or malformed ID, or because the + // system expected a version to be specified and none was provided. + TASK_KEY_INVALID = 4; +} + + +// Describes the main `Tasks` service, which is responsible for enabling a user with the ability to manage their tasks +// in the Todolist frontend application. The service allows creation of new tasks, editing of existing tasks, checking- +// off of tasks as they are completed, and clearing completed tasks. +// +// ### API Invocation +// Two styles of API are provided as part of this service: +// - **REST/RPC**: You can dispatch the API with REST-ful JSON or gRPC. In this dispatch style, all operations are unary +// and function with strong consistency (as long as the underlying data store makes such guarantees for transactions). +// - **Streaming**: Where supported, the client may also use the long-form streaming method, which has the advantage of +// supporting server-generated task/task-list change events. In this mode, each front-end "session" subscribes to the +// proper spot in Firestore server-side, and exchanges both updates and changes as needed on a duplex basis until the +// session closes. +// +// ### Authentication +// Firstly, the frontend client must obtain and affix a valid and un-expired/un-revoked API key, duly authorized to use +// the API being exposed. Secondly, the client must obtain a user authorization token, via the normal Firebase means. +// These values must be attached to each unary API request, or the beginning of a streaming session, as described below: +// +// #### Affixing the API key +// The API key identifies the application which is originating API traffic. It is generally restricted by referrer (when +// used in a web context), or IP address (for servers), or by Android/iOS bundle ID. You can learn more about how Google +// works with API keys [here](https://cloud.google.com/docs/authentication/api-keys). +// +// How you affix the API key depends on your invocation style: +// - **REST/RPC**: You may use one or both of the following options: +// - **`X-API-Key` Header**: Specify the key, verbatim, in the header `X-API-Key`. +// - **`key` Parameter**: Specify the key, verbatim, in the query parameter `key`. +// - **gRPC**: Affix the API key as a string metadata entry, at the name `x-api-key`. +// +// #### Affixing the auth token +// The *authorization token* identifies the end-user who is using the Todolist application to the API, and contains a +// cryptographic payload which enables access to their data, on their behalf. It is a JWT but must be treated as an +// opaque value, and can be obtained via normal means using [Firebase Auth](https://firebase.google.com/docs/auth). +// +// After obtaining a token, or checking that one on-hand is not expired, it is affixed depending on your desired API +// invocation style: +// - **REST/RPC**: Attach the token in the `Authorization` header, prefixed with the type token `Bearer`, and separated +// by a single space. +// - **gRPC**: Attach the token in a string metadata entry called `authorization`, prefixed with the type token `Bearer` +// and separated by a single space. +// +// #### Token expiration & renewal +// By default, authorization tokens expire in a maximum of *1 (one) wall-clock hour*, so, it is imperative in the front- +// end client that the expiration be checked before use, or that code is written to react to *403 Forbidden* responses +// as a result of expired authorization tokens. API keys do not expire. +// +// To renew a token, use the methods defined in Firebase Auth for the platform you're on. All platforms allow some form +// of token refresh/renewal. +// +// ### Streaming vs. Polling +// To accomplish the real-time nature of the Todolist app, this API supports a streaming interface (described above). +// When using the streaming interface, changes occur and propagate essentially in realtime. When and where the streaming +// interface is not supported or desired, the end-user can opt for polling. In this case, it is recommended to check for +// new tasks or task changes every *5 seconds*, using the `Changelog` method. +service Tasks { + option (google.api.default_host) = "todolist.elide.tools"; + + // Execute a simple health check against the `Tasks` service. Perform any local logic needed to ensure the service is + // up and ready to receive traffic. If the service is not ready, a regular protocol error will be returned - if it is, + // the result is an empty successful response. + rpc Health(google.protobuf.Empty) returns (google.protobuf.Empty) { + option (google.api.http).get = "/v1/health"; + } + + // Create a new task on the currently-logged-in user's task list. This method operates in an idempotent manner if (and + // only if) the client nominates an ID to use for the task object. Otherwise, there is no way for the backend to + // distinguish one generic task list entry from another. + rpc CreateTask(TodoTask) returns (TaskKey) { + option (google.api.http) = { + post: "/v1/tasks" + body: "*" + }; + } + + // Update an existing task, referenced by its globally-unique ID. This method is always idempotent, based on the value + // of the `modified` timestamp (therefore, this value must change every time the record is modified, otherwise, the + // backend may identify it as a different record version). + rpc UpdateTask(TodoTask) returns (TaskKey) { + option (google.api.http) = { + put: "/v1/tasks/{task_key.id}" + body: "*" + }; + } + + // Retrieve an existing task, known to exist, by its globally-unique ID. This method returns the payload data for the + // referenced task if it can be found, or `404` if it cannot be found. + rpc FetchTask(TaskKey) returns (TodoTask) { + option (google.api.http) = { + get: "/v1/tasks/{id}" + }; + } + + // "Check off" an existing task owned by the currently-logged-in user, and referenced by its globally-unique ID. This + // performs a regular update to check the task off, and then responds to the frontend so it may account for any UI + // changes that must subsequently occur. + rpc CheckOffTask(TaskKey) returns (google.protobuf.Empty) { + option (google.api.http) = { + put: "/v1/tasks/{id}/complete" + body: "*" + }; + } + + // Permanently delete a single task from a user's task list. As opposed to "completing" them, this method entirely + // removes the task from the user's list, and deletes the underlying data from disk. As such, the data lost in this + // operation is un-recoverable, and so executing this method should be done with care. + rpc DeleteTask(TaskKey) returns (google.protobuf.Empty) { + option (google.api.http).get = "/v1/tasks/{id}"; + } + + // After a file has been uploaded by the user, from the frontend, it may be attached to a specific Todolist task via + // this method. Files may only be attached to a maximum of one (1) task, and their lifecycle follows that task. For + // instance, fully deleting a task will also fully delete any files attached to it. + rpc AttachFile(AttachFileRequest) returns (AttachedFileReference) { + option (google.api.http) = { + post: "/v1/tasks/{task_key.id}/files" + body: "*" + }; + } + + // Fetch an individual file attachment, which exists on a Todolist task owned by the currently-logged-in user. If the + // specified file attachment cannot be found, an `HTTP 404`/`NOT_FOUND` is returned. Likewise, if the attachment is + // linked to a task not owned by the current user, an `HTTP 404`/`NOT_FOUND` is returned. + // + // This method only returns metadata for the requested file: to acquire the actual file data, the client must request + // such data directly from GCS, via the references enclosed in the `TaskAttachment` response. Serving URLs provided by + // the system are generally signed so that they may only be served to authorized users. + rpc FetchFile(AttachedFileReference) returns (TaskAttachment) { + option (google.api.http).get = "/v1/tasks/{task_key.id}/files/{file_id}"; + } + + // Delete an existing attached file, on an existing Todolist task. This removes the metadata record that links the + // task to the file, and also permanently deletes the file on disk. As such, this method should be run with care, + // after confirming intent with the user in the Todolist app UI. + rpc DeleteFile(AttachedFileReference) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/tasks/{task_key.id}/files/{file_id}" + }; + } + + // List all tasks on the currently-logged-in user's task list. If no query details are provided, tasks are listed in + // the order in which they should be displayed, otherwise, tasks are listed according to the sort/ordering directives + // in the query, or, if none are present, the default order is by key (lexicographically). Because keys increase + // monotonically, this should essentially yield the same order as task-creation (ascending). + rpc ListTasks(TaskListQuery) returns (TaskList) { + option (google.api.http).get = "/v1/tasks"; + } + + // Gather any completed tasks on the current user's task list, and mark each one as archived, so that it no longer + // shows up in their task list by default. In an "archived" state, a task can still be visible, but only if the + // requested list indicates it wishes to receive archived task data. + rpc ClearCompleted(google.protobuf.Empty) returns (TaskList) { + option (google.api.http).put = "/v1/tasks/clear"; + } +} diff --git a/vendor/google/safe-html-types b/vendor/google/safe-html-types new file mode 160000 index 000000000..850773545 --- /dev/null +++ b/vendor/google/safe-html-types @@ -0,0 +1 @@ +Subproject commit 8507735457ea41a37dfa027fb176d49d5783c4ba