diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md deleted file mode 100644 index 764c49d645..0000000000 --- a/.github/ISSUE_TEMPLATE/question.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Question -about: Ask a question -title: "[QUESTION]: " -labels: question -assignees: '' - ---- - -Please do not create issues for questions. Use the [discussion forum](https://github.com/Netflix/conductor/discussions) instead! diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d1c1e70c81..4cd3eb4408 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,5 @@ Pull Request type ---- - - [ ] Bugfix - [ ] Feature - [ ] Refactoring (no functional changes, no api changes) @@ -8,6 +7,8 @@ Pull Request type - [ ] WHOSUSING.md - [ ] Other (please describe): +**NOTE**: Please remember to run `./gradlew spotlessApply` to fix any format violations. + Changes in this PR ---- diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 6aaea44868..aea460e5e9 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -35,3 +35,5 @@ version-resolver: exclude-labels: - 'skip-changelog' + - 'gradle-wrapper' + - 'github_actions' diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index f8076bc629..b9c30c3292 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,49 +1 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at netflixoss@netflix.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq +[Code of Conduct](docs/docs/resources/code-of-conduct.md) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2fb6797762..ba24e0019e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,72 +1 @@ -Thanks for your interest in Conductor! -This guide helps to find the most efficient way to contribute, ask questions, and report issues. - -Code of conduct ------ - -Please review our [code of conduct](CODE_OF_CONDUCT.md). - -I have a question! ------ - -We have a dedicated [discussion forum](https://github.com/Netflix/conductor/discussions) for asking "how to" questions and to discuss ideas. The discussion forum is a great place to start if you're considering creating a feature request or work on a Pull Request. -*Please do not create issues to ask questions.* - -I want to contribute! ------- - -We welcome Pull Requests and already had many outstanding community contributions! -Creating and reviewing Pull Requests take considerable time. This section helps you set up for a smooth Pull Request experience. - -The stable branch is [main](https://github.com/Netflix/conductor/tree/main). - -Please create pull requests for your contributions against [main](https://github.com/Netflix/conductor/tree/main) only. - -It's a great idea to discuss the new feature you're considering on the [discussion forum](https://github.com/Netflix/conductor/discussions) before writing any code. There are often different ways you can implement a feature. Getting some discussion about different options helps shape the best solution. When starting directly with a Pull Request, there is the risk of having to make considerable changes. Sometimes that is the best approach, though! Showing an idea with code can be very helpful; be aware that it might be throw-away work. Some of our best Pull Requests came out of multiple competing implementations, which helped shape it to perfection. - -Also, consider that not every feature is a good fit for Conductor. A few things to consider are: - -* Is it increasing complexity for the user, or might it be confusing? -* Does it, in any way, break backward compatibility (this is seldom acceptable) -* Does it require new dependencies (this is rarely acceptable for core modules) -* Should the feature be opt-in or enabled by default. For integration with a new Queuing recipe or persistence module, a separate module which can be optionally enabled is the right choice. -* Should the feature be implemented in the main Conductor repository, or would it be better to set up a separate repository? Especially for integration with other systems, a separate repository is often the right choice because the life-cycle of it will be different. - -Of course, for more minor bug fixes and improvements, the process can be more light-weight. - -We'll try to be responsive to Pull Requests. Do keep in mind that because of the inherently distributed nature of open source projects, responses to a PR might take some time because of time zones, weekends, and other things we may be working on. - -I want to report an issue ------ - -If you found a bug, it is much appreciated if you create an issue. Please include clear instructions on how to reproduce the issue, or even better, include a test case on a branch. Make sure to come up with a descriptive title for the issue because this helps while organizing issues. - -I have a great idea for a new feature ----- -Many features in Conductor have come from ideas from the community. If you think something is missing or certain use cases could be supported better, let us know! You can do so by opening a discussion on the [discussion forum](https://github.com/Netflix/conductor/discussions). Provide as much relevant context to why and when the feature would be helpful. Providing context is especially important for "Support XYZ" issues since we might not be familiar with what "XYZ" is and why it's useful. If you have an idea of how to implement the feature, include that as well. - -Once we have decided on a direction, it's time to summarize the idea by creating a new issue. - -## Code Style -We use [spotless](https://github.com/diffplug/spotless) to enforce consistent code style for the project, so make sure to run `gradlew spotlessApply` to fix any violations after code changes. - -## License - -By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/Netflix/conductor/blob/master/LICENSE - -All files are released with the Apache 2.0 license, and the following license header will be automatically added to your new file if none present: - -``` -/** - * Copyright $YEAR Netflix, Inc. - * - * 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. - */ -``` +[Contributing](docs/docs/resources/contributing.md) \ No newline at end of file diff --git a/README.md b/README.md index e3aabd1364..40c124a17d 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,61 @@ -![Conductor](docs/docs/img/conductor-vector-x.png) - - -## Conductor -Conductor is a _workflow orchestration_ engine that runs in the cloud. +![Conductor](docs/docs/img/logo.png) +# Conductor +Conductor is a platform created by Netflix to orchestrate workflows that span across microservices. [![Github release](https://img.shields.io/github/v/release/Netflix/conductor.svg)](https://GitHub.com/Netflix/conductor/releases) [![CI](https://github.com/Netflix/conductor/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Netflix/conductor/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/Netflix/conductor.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![NetflixOSS Lifecycle](https://img.shields.io/osslifecycle/Netflix/conductor.svg)]() -## Builds -The latest version is [![Github release](https://img.shields.io/github/v/release/Netflix/conductor.svg)](https://GitHub.com/Netflix/conductor/releases). -| Branch | Build | -|:------:|:-------------------------------------------------------------------------------------------------------------:| -| main | [![CI](https://github.com/Netflix/conductor/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Netflix/conductor/actions/workflows/ci.yml) | -| 2.31 | [![Build Status](https://travis-ci.com/Netflix/conductor.svg?branch=2.31)](https://travis-ci.com/Netflix/conductor) | - - -## Getting Started - Building & Running Conductor -### Docker -The easiest way to get started is with Docker containers. Please follow the instructions [here](https://github.com/Netflix/conductor/tree/main/docker). The server and UI can also be built from source separately. - -### Conductor Server From Source -Conductor Server is a [Spring Boot](https://spring.io/projects/spring-boot) project and follows all applicable conventions. First, ensure that Java JDK 11+ is installed. - -#### Development -The server can be started locally by running `./gradlew bootRun` from the project root. This will start up Conductor with an in-memory persistence and queue implementation. It is not recommended for production use but can come in handy for quickly evaluating what Conductor's all about. For actual production use-cases, please use one of the supported persistence and queue implementations. - -You can verify the development server is up by navigating to `http://localhost:8080` in a browser. -#### Production Build -Running `./gradlew build` from the project root builds the project into the `/build` directory. Note that Docker is a requirement for tests to run, and thus a requirement to build even if you are building -outside of a Docker container. If you do not have Docker installed you can run `./gradlew build -x test` to skip tests. +## Documentation +[Main Documentation Site](http://conductor.netflix.com/) +## Releases +The latest version is [![Github release](https://img.shields.io/github/v/release/Netflix/conductor.svg)](https://GitHub.com/Netflix/conductor/releases) -#### Pre-built JAR -A [pre-built](https://artifacts.netflix.net/netflixoss/com/netflix/conductor/conductor-server/) executable jar is available that can be downloaded and run using: - -`java -jar conductor-server-*-boot.jar` +[2.31.8](https://github.com/Netflix/conductor/releases/tag/v2.31.8) is the **final** release of `2.31` branch. As of Feb 2022, `1.x` & `2.x` versions are no longer supported. -### Conductor UI from Source +## Community Contributions +The modules contributed by the community are housed at [conductor-community](https://github.com/Netflix/conductor-community). Compatible versions of the community modules are released simultaneously with releases of the main modules. -The UI is a standard `create-react-app` React Single Page Application (SPA). To get started, with Node 14 and `yarn` installed, first run `yarn install` from within the `/ui` directory to retrieve package dependencies. +[Discussion Forum](https://github.com/Netflix/conductor/discussions) Please use the forum for questions and discussing ideas and join the community. -There is no need to "build" the project unless you require compiled assets to host on a production web server. If the latter is true, the project can be built with the command `yarn build`. +[List of Conductor community projects](/docs/docs/resources/related.md) - Backup tool, Cron like workflow starter, Docker containers... -To run the UI on the bundled development server, run `yarn run start`. Navigate your browser to `http://localhost:5000`. The server must already be running on port 8080. +## Getting Started - Building & Running Conductor +### Docker +The easiest way to get started is with Docker containers. Please follow the instructions [here](https://conductor.netflix.com/gettingstarted/docker.html). +### From Source +Conductor Server is a [Spring Boot](https://spring.io/projects/spring-boot) project and follows all applicable conventions. See instructions [here](http://conductor.netflix.com/gettingstarted/source.html). -## Documentation -[Documentation](http://netflix.github.io/conductor/) -[Roadmap](https://github.com/Netflix/conductor/wiki/Roadmap) -[Getting Started Guide](https://netflix.github.io/conductor/gettingstarted/basicconcepts/). ## Published Artifacts Binaries are available from [Netflix OSS Maven](https://artifacts.netflix.net/netflixoss/com/netflix/conductor/) repository, or the [Maven Central Repository](https://search.maven.org/search?q=g:com.netflix.conductor). -| Artifact | Description | -| ----------- | --------------- | -| conductor-common | Common models used by various conductor modules | -| conductor-core | Core Conductor module | -| conductor-redis-persistence | Persistence and queue using Redis/Dynomite | -| conductor-cassandra-persistence | Persistence using Cassandra | -| conductor-mysql-persistence | Persistence and queue using MySQL | -| conductor-postgres-persistence | Persistence and queue using Postgres | -| conductor-es6-persistence | Indexing using Elasticsearch 6.X | -| conductor-rest | Spring MVC resources for the core services | -| conductor-ui | node.js based UI for Conductor | -| conductor-contribs | Optional contrib package that holds extended workflow tasks and support for SQS, AMQP, etc| -| conductor-client | Java client for Conductor that includes helpers for running worker tasks | -| conductor-client-spring | Client starter kit for Spring | -| conductor-server | Spring Boot Web Application | -| conductor-azureblob-storage | External payload storage implementation using AzureBlob | -| conductor-redis-lock | Workflow execution lock implementation using Redis | -| conductor-zookeeper-lock | Workflow execution lock implementation using Zookeeper | -| conductor-grpc | Protobuf models used by the server and client | -| conductor-grpc-client | gRPC server Application | -| conductor-grpc-server | gRPC client to interact with the gRPC server | -| conductor-test-harness | Integration and regression tests | +| Artifact | Description | +|---------------------------------|-------------------------------------------------------------------------------------------------| +| conductor-common | Common models used by various conductor modules | +| conductor-core | Core Conductor module | +| conductor-redis-persistence | Persistence and queue using Redis/Dynomite | +| conductor-cassandra-persistence | Persistence using Cassandra | +| conductor-es6-persistence | Indexing using Elasticsearch 6.X | +| conductor-rest | Spring MVC resources for the core services | +| conductor-ui | node.js based UI for Conductor | +| conductor-client | Java client for Conductor that includes helpers for running worker tasks | +| conductor-client-spring | Client starter kit for Spring | +| conductor-server | Spring Boot Web Application | +| conductor-redis-lock | Workflow execution lock implementation using Redis | +| conductor-awss3-storage | External payload storage implementation using AWS S3 | +| conductor-awssqs-event-queue | Event queue implementation using AWS SQS | +| conductor-http-task | Workflow system task implementation to send make requests | +| conductor-json-jq-task | Workflow system task implementation to evaluate JSON using [jq](https://stedolan.github.io/jq/) | +| conductor-grpc | Protobuf models used by the server and client | +| conductor-grpc-client | gRPC client to interact with the gRPC server | +| conductor-grpc-server | gRPC server Application | +| conductor-test-harness | Integration and regression tests | ## Database Requirements @@ -90,21 +67,16 @@ Binaries are available from [Netflix OSS Maven](https://artifacts.netflix.net/ne * JDK 11+ * UI requires Node 14 to build. Earlier Node versions may work but is untested. -## Community -[Discussion Forum](https://github.com/Netflix/conductor/discussions) Please use the forum for questions and discussing ideas and join the community. - -[Access here other Conductor related projects made by the community!](/RELATED.md) - Backup tool, Cron like workflow starter, Docker containers... - ## Get Support -Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use github issue tracking for filing issues and [Discussion Forum](https://github.com/Netflix/conductor/discussions) for any other questions, ideas or support requests. +Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use Github issue tracking for filing issues and [Discussion Forum](https://github.com/Netflix/conductor/discussions) for any other questions, ideas or support requests. ## Contributions Whether it is a small documentation correction, bug fix or new features, contributions are highly appreciated. We just ask to follow standard oss guidelines. [Discussion Forum](https://github.com/Netflix/conductor/discussions) is a good place to ask questions, discuss new features and explore ideas. Please check with us before spending too much time, only to find later that someone else is already working on a similar feature. -`main` branch is the current working branch, while `2.31` branch is the latest stable 2.x branch. Please send your PR's to `main` branch, making sure that it builds on your local system successfully. Also, please make sure all the conflicts are resolved. +`main` branch is the current working branch. Please send your PR's to `main` branch, making sure that it builds on your local system successfully. Also, please make sure all the conflicts are resolved. ## License -Copyright 2021 Netflix, Inc. +Copyright 2022 Netflix, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/RELATED.md b/RELATED.md index 19ad4ef6b3..b7adabea3f 100644 --- a/RELATED.md +++ b/RELATED.md @@ -1,64 +1 @@ -# Community projects related to Conductor - - -## Microservices operations - -* https://github.com/flaviostutz/schellar - Schellar is a scheduler tool for instantiating Conductor workflows from time to time, mostly like a cron job, but with transport of input/output variables between calls. - -* https://github.com/flaviostutz/backtor - Backtor is a backup scheduler tool that uses Conductor workers to handle backup operations and decide when to expire backups (ex.: keep backup 3 days, 2 weeks, 2 months, 1 semester) - -* https://github.com/cquon/conductor-tools - Conductor CLI for launching workflows, polling tasks, listing running tasks etc - - -## Conductor deployment - -* https://github.com/flaviostutz/conductor-server - Docker container for running Conductor with Prometheus metrics plugin installed and some tweaks to ease provisioning of workflows from json files embedded to the container - -* https://github.com/flaviostutz/conductor-ui - Docker container for running Conductor UI so that you can easily scale UI independently - -* https://github.com/flaviostutz/elasticblast - "Elasticsearch to Bleve" bridge tailored for running Conductor on top of Bleve indexer. The footprint of Elasticsearch may cost too much for small deployments on Cloud environment. - -* https://github.com/mohelsaka/conductor-prometheus-metrics - Conductor plugin for exposing Prometheus metrics over path '/metrics' - -## OAuth2.0 Security Configuration -Forked Repository - [Conductor (Secure)](https://github.com/maheshyaddanapudi/conductor/tree/oauth2) - -[OAuth2.0 Role Based Security!](https://github.com/maheshyaddanapudi/conductor/blob/oauth2/SECURITY.md) - Spring Security with easy configuration to secure the Conductor server APIs. - -Docker image published to [Docker Hub](https://hub.docker.com/repository/docker/conductorboot/server) - -## Conductor Worker utilities - -* https://github.com/ggrcha/conductor-go-client - Conductor Golang client for writing Workers in Golang - -* https://github.com/courosh12/conductor-dotnet-client - Conductor DOTNET client for writing Workers in DOTNET - * https://github.com/TwoUnderscorez/serilog-sinks-conductor-task-log - Serilog sink for sending worker log events to Netflix Conductor - -* https://github.com/davidwadden/conductor-workers - Various ready made Conductor workers for common operations on some platforms (ex.: Jira, Github, Concourse) - -## Conductor Web UI - -* https://github.com/maheshyaddanapudi/conductor-ng-ui - Angular based - Conductor Workflow Management UI - -## Conductor Persistence - -### Mongo Persistence - -* https://github.com/maheshyaddanapudi/conductor/tree/mongo_persistence - With option to use Mongo Database as persistence unit. - * Mongo Persistence / Option to use Mongo Database as persistence unit. - * Docker Compose example with MongoDB Container. - -### Oracle Persistence - -* https://github.com/maheshyaddanapudi/conductor/tree/oracle_persistence - With option to use Oracle Database as persistence unit. - * Oracle Persistence / Option to use Oracle Database as persistence unit : version > 12.2 - Tested well with 19C - * Docker Compose example with Oracle Container. - -## Schedule Conductor Workflow -* https://github.com/jas34/scheduledwf - It solves the following problem statements: - * At times there are use cases in which we need to run some tasks/jobs only at a scheduled time. - * In microservice architecture maintaining schedulers in various microservices is a pain. - * We should have a central dedicate service that can do scheduling for us and provide a trigger to a microservices at expected time. -* It offers an additional module `io.github.jas34.scheduledwf.config.ScheduledWfServerModule` built on the existing core -of conductor and does not require deployment of any additional service. -For more details refer: [Schedule Conductor Workflows](https://jas34.github.io/scheduledwf) and [Capability In Conductor To Schedule Workflows](https://github.com/Netflix/conductor/discussions/2256) \ No newline at end of file +[Related Projects](docs/docs/resources/related.md) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000000..80978ee5bd --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,13 @@ +# Security Policy + +## Supported Versions + +| Version | Supported | +| ------- | ------------------ | +| 3.x.x | :white_check_mark: | +| 2.x.x | :x: | +| 1.x.x | :x: | + +## Reporting a Vulnerability + +Please email conductor@netflix.com to report vulnerabilities. diff --git a/WHOSUSING.md b/WHOSUSING.md index 34b4fcea80..7a1686062d 100644 --- a/WHOSUSING.md +++ b/WHOSUSING.md @@ -5,4 +5,11 @@ We would like to keep track of whose using Conductor. Please send a pull request * [Netflix](www.netflix.com) [[@aravindanr](https://github.com/aravindanr)] * [Florida Blue](www.bcbsfl.com) [[@rickfish](https://github.com/rickfish)] - +* [UWM](www.uwm.com)[[@zergrushjoe](https://github.com/ZergRushJoe)] +* [Deutsche Telekom Digital Labs](https://dtdl.in) [[@jas34](https://github.com/jas34)] [[@deoramanas](https://github.com/deoramanas)] +* [VMware](www.vmware.com) [[@taojwmware](https://github.com/taojwmware)] [[@venkag](https://github.com/venkag)] +* [JP Morgan Chase](www.chase.com) [[@maheshyaddanapudi](https://github.com/maheshyaddanapudi)] +* [Orkes ](www.orkes.io)[[@CherishSantoshi](https://github.com/CherishSantoshi)] +* [313X](https://313x.com.br)[[@dalmoveras](https://github.com/dalmoveras)] +* [Supercharge](https://supercharge.io)[[@team-supercharge](https://github.com/team-supercharge)] +* [GE Healthcare](https://www.gehealthcare.com/) [[@flavioschuindt](https://github.com/flavioschuindt)] \ No newline at end of file diff --git a/annotations-processor/README.md b/annotations-processor/README.md index 667a2f8ba4..13ec4a3d0f 100644 --- a/annotations-processor/README.md +++ b/annotations-processor/README.md @@ -1,33 +1 @@ -# Annotation Processor for Code Gen - -- Original Author: Vicent Martí - https://github.com/vmg -- Original Repo: https://github.com/vmg/protogen - -This module is strictly for code generation tasks during builds based on annotations. -Currently supports `protogen` - -### Usage - -See example below - -### Example - -This is an actual example of this module which is implemented in common/build.gradle - -```groovy -task protogen(dependsOn: jar, type: JavaExec) { - classpath configurations.annotationsProcessorCodegen - main = 'com.netflix.conductor.annotationsprocessor.protogen.ProtoGenTask' - args( - "conductor.proto", - "com.netflix.conductor.proto", - "github.com/netflix/conductor/client/gogrpc/conductor/model", - "${rootDir}/grpc/src/main/proto", - "${rootDir}/grpc/src/main/java/com/netflix/conductor/grpc", - "com.netflix.conductor.grpc", - jar.archivePath, - "com.netflix.conductor.common", - ) -} -``` - +[Annotations Processor](docs/docs/reference-docs/annotations-processor.md) \ No newline at end of file diff --git a/annotations-processor/build.gradle b/annotations-processor/build.gradle index efa2ab715d..e40bd754e2 100644 --- a/annotations-processor/build.gradle +++ b/annotations-processor/build.gradle @@ -5,15 +5,15 @@ sourceSets { dependencies { implementation project(':conductor-annotations') - compile 'com.google.guava:guava:25.1-jre' - compile 'com.squareup:javapoet:1.11.+' - compile 'com.github.jknack:handlebars:4.0.+' - compile 'com.google.protobuf:protobuf-java:3.5.1' - compile 'javax.annotation:javax.annotation-api:1.3.2' - compile gradleApi() + api 'com.google.guava:guava:31.1-jre' + api 'com.squareup:javapoet:1.13.+' + api 'com.github.jknack:handlebars:4.3.+' + api 'com.google.protobuf:protobuf-java:3.21.6' + api 'javax.annotation:javax.annotation-api:1.3.2' + api gradleApi() - exampleCompile sourceSets.main.output - exampleCompile project(':conductor-annotations') + exampleImplementation sourceSets.main.output + exampleImplementation project(':conductor-annotations') } task exampleJar(type: Jar) { @@ -21,4 +21,4 @@ task exampleJar(type: Jar) { from sourceSets.example.output.classesDirs } -testClasses.finalizedBy(exampleJar) \ No newline at end of file +testClasses.finalizedBy(exampleJar) diff --git a/annotations-processor/dependencies.lock b/annotations-processor/dependencies.lock index bb108d41f7..2c6c783474 100644 --- a/annotations-processor/dependencies.lock +++ b/annotations-processor/dependencies.lock @@ -1,12 +1,12 @@ { "annotationProcessor": { "org.springframework.boot:spring-boot-configuration-processor": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" } }, "compileClasspath": { "com.github.jknack:handlebars": { - "locked": "4.0.7" + "locked": "4.3.0" }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", @@ -15,46 +15,46 @@ ] }, "com.google.errorprone:error_prone_annotations": { - "locked": "2.1.3", + "locked": "2.11.0", + "transitive": [ + "com.google.guava:guava" + ] + }, + "com.google.guava:failureaccess": { + "locked": "1.0.1", "transitive": [ "com.google.guava:guava" ] }, "com.google.guava:guava": { - "locked": "25.1-jre" + "locked": "31.1-jre" + }, + "com.google.guava:listenablefuture": { + "locked": "9999.0-empty-to-avoid-conflict-with-guava", + "transitive": [ + "com.google.guava:guava" + ] }, "com.google.j2objc:j2objc-annotations": { - "locked": "1.1", + "locked": "1.3", "transitive": [ "com.google.guava:guava" ] }, "com.google.protobuf:protobuf-java": { - "locked": "3.5.1" + "locked": "3.21.4" }, "com.netflix.conductor:conductor-annotations": { "project": true }, "com.squareup:javapoet": { - "locked": "1.11.1" + "locked": "1.13.0" }, "javax.annotation:javax.annotation-api": { "locked": "1.3.2" }, - "org.antlr:antlr4-runtime": { - "locked": "4.7.1", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, - "org.apache.commons:commons-lang3": { - "locked": "3.10", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -63,40 +63,28 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.checkerframework:checker-qual": { - "locked": "2.0.0", + "locked": "3.12.0", "transitive": [ "com.google.guava:guava" ] }, - "org.codehaus.mojo:animal-sniffer-annotations": { - "locked": "1.14", - "transitive": [ - "com.google.guava:guava" - ] - }, - "org.mozilla:rhino": { - "locked": "1.7.7", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.github.jknack:handlebars", "org.apache.logging.log4j:log4j-slf4j-impl" @@ -113,7 +101,7 @@ "project": true }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.13.3", + "locked": "2.17.2", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.apache.logging.log4j:log4j-core", @@ -123,7 +111,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.13.3", + "locked": "2.17.2", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.apache.logging.log4j:log4j-slf4j-impl", @@ -131,25 +119,25 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.13.3", + "locked": "2.17.2", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.13.3", + "locked": "2.17.2", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.13.3", + "locked": "2.17.2", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.apache.logging.log4j:log4j-slf4j-impl" ] @@ -157,7 +145,7 @@ }, "runtimeClasspath": { "com.github.jknack:handlebars": { - "locked": "4.0.7" + "locked": "4.3.0" }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", @@ -166,46 +154,46 @@ ] }, "com.google.errorprone:error_prone_annotations": { - "locked": "2.1.3", + "locked": "2.11.0", + "transitive": [ + "com.google.guava:guava" + ] + }, + "com.google.guava:failureaccess": { + "locked": "1.0.1", "transitive": [ "com.google.guava:guava" ] }, "com.google.guava:guava": { - "locked": "25.1-jre" + "locked": "31.1-jre" + }, + "com.google.guava:listenablefuture": { + "locked": "9999.0-empty-to-avoid-conflict-with-guava", + "transitive": [ + "com.google.guava:guava" + ] }, "com.google.j2objc:j2objc-annotations": { - "locked": "1.1", + "locked": "1.3", "transitive": [ "com.google.guava:guava" ] }, "com.google.protobuf:protobuf-java": { - "locked": "3.5.1" + "locked": "3.21.4" }, "com.netflix.conductor:conductor-annotations": { "project": true }, "com.squareup:javapoet": { - "locked": "1.11.1" + "locked": "1.13.0" }, "javax.annotation:javax.annotation-api": { "locked": "1.3.2" }, - "org.antlr:antlr4-runtime": { - "locked": "4.7.1", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, - "org.apache.commons:commons-lang3": { - "locked": "3.10", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.apache.logging.log4j:log4j-core", @@ -215,7 +203,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.apache.logging.log4j:log4j-slf4j-impl", @@ -223,43 +211,31 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, "org.checkerframework:checker-qual": { - "locked": "2.0.0", - "transitive": [ - "com.google.guava:guava" - ] - }, - "org.codehaus.mojo:animal-sniffer-annotations": { - "locked": "1.14", + "locked": "3.12.0", "transitive": [ "com.google.guava:guava" ] }, - "org.mozilla:rhino": { - "locked": "1.7.7", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.github.jknack:handlebars", "org.apache.logging.log4j:log4j-slf4j-impl" @@ -268,7 +244,7 @@ }, "testCompileClasspath": { "com.github.jknack:handlebars": { - "locked": "4.0.7" + "locked": "4.3.0" }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", @@ -277,25 +253,37 @@ ] }, "com.google.errorprone:error_prone_annotations": { - "locked": "2.1.3", + "locked": "2.11.0", + "transitive": [ + "com.google.guava:guava" + ] + }, + "com.google.guava:failureaccess": { + "locked": "1.0.1", "transitive": [ "com.google.guava:guava" ] }, "com.google.guava:guava": { - "locked": "25.1-jre" + "locked": "31.1-jre" + }, + "com.google.guava:listenablefuture": { + "locked": "9999.0-empty-to-avoid-conflict-with-guava", + "transitive": [ + "com.google.guava:guava" + ] }, "com.google.j2objc:j2objc-annotations": { - "locked": "1.1", + "locked": "1.3", "transitive": [ "com.google.guava:guava" ] }, "com.google.protobuf:protobuf-java": { - "locked": "3.5.1" + "locked": "3.21.4" }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -304,7 +292,7 @@ "project": true }, "com.squareup:javapoet": { - "locked": "1.11.1" + "locked": "1.13.0" }, "com.vaadin.external.google:android-json": { "locked": "0.0.20131108.vaadin1", @@ -340,43 +328,31 @@ ] }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] }, - "org.antlr:antlr4-runtime": { - "locked": "4.7.1", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, - "org.apache.commons:commons-lang3": { - "locked": "3.10", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -385,29 +361,29 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web", "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", + "locked": "1.1.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.jupiter:junit-jupiter-params", @@ -417,69 +393,67 @@ ] }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.checkerframework:checker-qual": { - "locked": "2.0.0", + "locked": "3.12.0", "transitive": [ "com.google.guava:guava" ] }, - "org.codehaus.mojo:animal-sniffer-annotations": { - "locked": "1.14", + "org.hamcrest:hamcrest": { + "locked": "2.2", "transitive": [ - "com.google.guava:guava" + "org.hamcrest:hamcrest-core", + "org.springframework.boot:spring-boot-starter-test" ] }, - "org.hamcrest:hamcrest": { + "org.hamcrest:hamcrest-core": { "locked": "2.2", "transitive": [ - "org.springframework.boot:spring-boot-starter-test" + "junit:junit" ] }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-params" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -490,30 +464,18 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.mozilla:rhino": { - "locked": "1.7.7", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, - "org.objenesis:objenesis": { - "locked": "2.6", - "transitive": [ - "org.mockito:mockito-core" - ] - }, "org.opentest4j:opentest4j": { "locked": "1.2.0", "transitive": [ @@ -522,26 +484,26 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.github.jknack:handlebars", "com.jayway.jsonpath:json-path", @@ -550,7 +512,7 @@ ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -559,64 +521,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -629,31 +591,31 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] @@ -661,7 +623,7 @@ }, "testRuntimeClasspath": { "com.github.jknack:handlebars": { - "locked": "4.0.7" + "locked": "4.3.0" }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", @@ -670,25 +632,37 @@ ] }, "com.google.errorprone:error_prone_annotations": { - "locked": "2.1.3", + "locked": "2.11.0", + "transitive": [ + "com.google.guava:guava" + ] + }, + "com.google.guava:failureaccess": { + "locked": "1.0.1", "transitive": [ "com.google.guava:guava" ] }, "com.google.guava:guava": { - "locked": "25.1-jre" + "locked": "31.1-jre" + }, + "com.google.guava:listenablefuture": { + "locked": "9999.0-empty-to-avoid-conflict-with-guava", + "transitive": [ + "com.google.guava:guava" + ] }, "com.google.j2objc:j2objc-annotations": { - "locked": "1.1", + "locked": "1.3", "transitive": [ "com.google.guava:guava" ] }, "com.google.protobuf:protobuf-java": { - "locked": "3.5.1" + "locked": "3.21.4" }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -697,7 +671,7 @@ "project": true }, "com.squareup:javapoet": { - "locked": "1.11.1" + "locked": "1.13.0" }, "com.vaadin.external.google:android-json": { "locked": "0.0.20131108.vaadin1", @@ -733,43 +707,31 @@ ] }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] }, - "org.antlr:antlr4-runtime": { - "locked": "4.7.1", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, - "org.apache.commons:commons-lang3": { - "locked": "3.10", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.apache.logging.log4j:log4j-core", @@ -779,7 +741,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.apache.logging.log4j:log4j-slf4j-impl", @@ -788,68 +750,58 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations" ] }, - "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", - "transitive": [ - "org.junit.jupiter:junit-jupiter-api", - "org.junit.jupiter:junit-jupiter-engine", - "org.junit.jupiter:junit-jupiter-params", - "org.junit.platform:junit-platform-commons", - "org.junit.platform:junit-platform-engine", - "org.junit.vintage:junit-vintage-engine" - ] - }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.checkerframework:checker-qual": { - "locked": "2.0.0", + "locked": "3.12.0", "transitive": [ "com.google.guava:guava" ] }, - "org.codehaus.mojo:animal-sniffer-annotations": { - "locked": "1.14", + "org.hamcrest:hamcrest": { + "locked": "2.2", "transitive": [ - "com.google.guava:guava" + "org.hamcrest:hamcrest-core", + "org.springframework.boot:spring-boot-starter-test" ] }, - "org.hamcrest:hamcrest": { + "org.hamcrest:hamcrest-core": { "locked": "2.2", "transitive": [ - "org.springframework.boot:spring-boot-starter-test" + "junit:junit" ] }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-engine", @@ -858,39 +810,36 @@ ] }, "org.junit.jupiter:junit-jupiter-engine": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-engine", "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -902,26 +851,20 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.mozilla:rhino": { - "locked": "1.7.7", - "transitive": [ - "com.github.jknack:handlebars" - ] - }, "org.objenesis:objenesis": { - "locked": "2.6", + "locked": "3.2", "transitive": [ "org.mockito:mockito-core" ] @@ -934,26 +877,26 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.github.jknack:handlebars", "com.jayway.jsonpath:json-path", @@ -962,7 +905,7 @@ ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -971,64 +914,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -1041,31 +984,31 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] diff --git a/annotations/dependencies.lock b/annotations/dependencies.lock index deee7aa7a4..a186cb6b48 100644 --- a/annotations/dependencies.lock +++ b/annotations/dependencies.lock @@ -1,12 +1,12 @@ { "annotationProcessor": { "org.springframework.boot:spring-boot-configuration-processor": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" } }, "compileClasspath": { "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -15,22 +15,22 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.apache.logging.log4j:log4j-slf4j-impl" ] @@ -38,7 +38,7 @@ }, "runtimeClasspath": { "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -47,23 +47,23 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-slf4j-impl", "org.apache.logging.log4j:log4j-web" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.apache.logging.log4j:log4j-slf4j-impl" ] @@ -71,7 +71,7 @@ }, "testCompileClasspath": { "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -107,31 +107,31 @@ ] }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -140,29 +140,29 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web", "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", + "locked": "1.1.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.jupiter:junit-jupiter-params", @@ -172,7 +172,7 @@ ] }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -180,49 +180,53 @@ "org.hamcrest:hamcrest": { "locked": "2.2", "transitive": [ + "org.hamcrest:hamcrest-core", "org.springframework.boot:spring-boot-starter-test" ] }, + "org.hamcrest:hamcrest-core": { + "locked": "2.2", + "transitive": [ + "junit:junit" + ] + }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-params" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -233,24 +237,18 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.objenesis:objenesis": { - "locked": "2.6", - "transitive": [ - "org.mockito:mockito-core" - ] - }, "org.opentest4j:opentest4j": { "locked": "1.2.0", "transitive": [ @@ -259,26 +257,26 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.jayway.jsonpath:json-path", "org.apache.logging.log4j:log4j-slf4j-impl", @@ -286,7 +284,7 @@ ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -295,64 +293,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -365,31 +363,31 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] @@ -397,7 +395,7 @@ }, "testRuntimeClasspath": { "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -433,31 +431,31 @@ ] }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -466,7 +464,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-slf4j-impl", "org.apache.logging.log4j:log4j-web", @@ -474,33 +472,22 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" - }, - "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", - "transitive": [ - "org.junit.jupiter:junit-jupiter-api", - "org.junit.jupiter:junit-jupiter-engine", - "org.junit.jupiter:junit-jupiter-params", - "org.junit.platform:junit-platform-commons", - "org.junit.platform:junit-platform-engine", - "org.junit.vintage:junit-vintage-engine" - ] + "locked": "2.17.1" }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -508,17 +495,24 @@ "org.hamcrest:hamcrest": { "locked": "2.2", "transitive": [ + "org.hamcrest:hamcrest-core", "org.springframework.boot:spring-boot-starter-test" ] }, + "org.hamcrest:hamcrest-core": { + "locked": "2.2", + "transitive": [ + "junit:junit" + ] + }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-engine", @@ -527,39 +521,36 @@ ] }, "org.junit.jupiter:junit-jupiter-engine": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-engine", "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -571,20 +562,20 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.objenesis:objenesis": { - "locked": "2.6", + "locked": "3.2", "transitive": [ "org.mockito:mockito-core" ] @@ -597,26 +588,26 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.jayway.jsonpath:json-path", "org.apache.logging.log4j:log4j-slf4j-impl", @@ -624,7 +615,7 @@ ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -633,64 +624,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -703,31 +694,31 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] diff --git a/awss3-storage/README.md b/awss3-storage/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/mysql-persistence/build.gradle b/awss3-storage/build.gradle similarity index 51% rename from mysql-persistence/build.gradle rename to awss3-storage/build.gradle index 11cd9eb073..adda2bb426 100644 --- a/mysql-persistence/build.gradle +++ b/awss3-storage/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright 2021 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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 @@ -16,25 +16,6 @@ dependencies { implementation project(':conductor-core') compileOnly 'org.springframework.boot:spring-boot-starter' - // SBMTODO: remove guava dep - implementation "com.google.guava:guava:${revGuava}" - - implementation "com.fasterxml.jackson.core:jackson-databind" - implementation "com.fasterxml.jackson.core:jackson-core" - + implementation "com.amazonaws:aws-java-sdk-s3:${revAwsSdk}" implementation "org.apache.commons:commons-lang3" - - implementation "mysql:mysql-connector-java" - implementation "org.springframework.boot:spring-boot-starter-jdbc" - implementation "org.flywaydb:flyway-core" - - testImplementation "org.testcontainers:mysql:${revTestContainer}" - - testImplementation project(':conductor-core').sourceSets.test.output - testImplementation project(':conductor-common').sourceSets.test.output -} - -test { - //the MySQL unit tests must run within the same JVM to share the same embedded DB - maxParallelForks = 1 } diff --git a/zookeeper-lock/dependencies.lock b/awss3-storage/dependencies.lock similarity index 71% rename from zookeeper-lock/dependencies.lock rename to awss3-storage/dependencies.lock index 1587f22fe2..0767f2c4ca 100644 --- a/zookeeper-lock/dependencies.lock +++ b/awss3-storage/dependencies.lock @@ -1,16 +1,67 @@ { "annotationProcessor": { "org.springframework.boot:spring-boot-configuration-processor": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" } }, "compileClasspath": { - "com.google.guava:guava": { - "locked": "14.0.1", + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", "transitive": [ - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes" + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-kms": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-s3": { + "locked": "1.11.86" + }, + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.fasterxml.jackson.core:jackson-annotations": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-databind" + ] + }, + "com.fasterxml.jackson.core:jackson-core": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] + }, + "com.fasterxml.jackson.core:jackson-databind": { + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] + }, + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, "com.netflix.conductor:conductor-common": { @@ -19,56 +70,48 @@ "com.netflix.conductor:conductor-core": { "project": true }, - "jakarta.annotation:jakarta.annotation-api": { - "locked": "1.3.5", - "transitive": [ - "org.springframework.boot:spring-boot-starter" - ] - }, - "javax.activation:activation": { - "locked": "1.1", + "commons-codec:commons-codec": { + "locked": "1.15", "transitive": [ - "javax.mail:mail" + "org.apache.httpcomponents:httpclient" ] }, - "javax.mail:mail": { - "locked": "1.4", + "commons-logging:commons-logging": { + "locked": "1.2", "transitive": [ - "log4j:log4j" + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" ] }, - "jline:jline": { - "locked": "0.9.94", + "jakarta.annotation:jakarta.annotation-api": { + "locked": "1.3.5", "transitive": [ - "org.apache.zookeeper:zookeeper" + "org.springframework.boot:spring-boot-starter" ] }, - "log4j:log4j": { - "locked": "1.2.15", + "joda-time:joda-time": { + "locked": "2.8.1", "transitive": [ - "org.apache.zookeeper:zookeeper" + "com.amazonaws:aws-java-sdk-core" ] }, "org.apache.commons:commons-lang3": { - "locked": "3.10" + "locked": "3.12.0" }, - "org.apache.curator:curator-client": { - "locked": "2.4.0", + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", "transitive": [ - "org.apache.curator:curator-framework" + "com.amazonaws:aws-java-sdk-core" ] }, - "org.apache.curator:curator-framework": { - "locked": "2.4.0", + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", "transitive": [ - "org.apache.curator:curator-recipes" + "org.apache.httpcomponents:httpclient" ] }, - "org.apache.curator:curator-recipes": { - "locked": "2.4.0" - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -77,92 +120,76 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" - }, - "org.apache.zookeeper:zookeeper": { - "locked": "3.4.5", - "transitive": [ - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes" - ] - }, - "org.jboss.netty:netty": { - "locked": "3.2.2.Final", - "transitive": [ - "org.apache.zookeeper:zookeeper" - ] + "locked": "2.17.1" }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ - "org.apache.curator:curator-client", "org.apache.logging.log4j:log4j-slf4j-impl", - "org.apache.zookeeper:zookeeper", "org.slf4j:jul-to-slf4j" ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -173,92 +200,113 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] + }, + "software.amazon.ion:ion-java": { + "locked": "1.0.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] } }, "runtimeClasspath": { + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-kms": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-s3": { + "locked": "1.11.86" + }, + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, "com.fasterxml.jackson.core:jackson-annotations": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-core": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-databind": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "com.github.rholder:guava-retrying": { - "locked": "2.0.0", - "transitive": [ - "com.netflix.conductor:conductor-common" - ] - }, - "com.google.code.findbugs:jsr305": { - "locked": "3.0.2", - "transitive": [ - "com.github.rholder:guava-retrying", - "com.google.guava:guava" - ] - }, - "com.google.errorprone:error_prone_annotations": { - "locked": "2.3.4", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", "transitive": [ - "com.google.guava:guava" + "com.amazonaws:aws-java-sdk-core" ] }, - "com.google.guava:failureaccess": { - "locked": "1.0.1", + "com.fasterxml.jackson.module:jackson-module-afterburner": { + "locked": "2.13.3", "transitive": [ - "com.google.guava:guava" + "com.netflix.conductor:conductor-common" ] }, - "com.google.guava:guava": { - "locked": "30.0-jre", + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", "transitive": [ - "com.github.rholder:guava-retrying", - "com.netflix.conductor:conductor-core", - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes" + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, - "com.google.guava:listenablefuture": { - "locked": "9999.0-empty-to-avoid-conflict-with-guava", + "com.github.ben-manes.caffeine:caffeine": { + "locked": "2.9.3", "transitive": [ - "com.google.guava:guava" + "com.netflix.conductor:conductor-core" ] }, - "com.google.j2objc:j2objc-annotations": { - "locked": "1.3", + "com.google.errorprone:error_prone_annotations": { + "locked": "2.10.0", "transitive": [ - "com.google.guava:guava" + "com.github.ben-manes.caffeine:caffeine" ] }, "com.google.protobuf:protobuf-java": { @@ -269,7 +317,7 @@ ] }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "com.netflix.conductor:conductor-core" ] @@ -301,12 +349,25 @@ "com.netflix.conductor:conductor-core" ] }, + "commons-codec:commons-codec": { + "locked": "1.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, "commons-io:commons-io": { "locked": "2.7", "transitive": [ "com.netflix.conductor:conductor-core" ] }, + "commons-logging:commons-logging": { + "locked": "1.2", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" + ] + }, "io.reactivex:rxjava": { "locked": "1.3.8", "transitive": [ @@ -326,38 +387,20 @@ "com.netflix.conductor:conductor-core" ] }, - "javax.activation:activation": { - "locked": "1.1", - "transitive": [ - "javax.mail:mail" - ] - }, - "javax.mail:mail": { - "locked": "1.4", + "joda-time:joda-time": { + "locked": "2.8.1", "transitive": [ - "log4j:log4j" - ] - }, - "jline:jline": { - "locked": "0.9.94", - "transitive": [ - "org.apache.zookeeper:zookeeper" - ] - }, - "log4j:log4j": { - "locked": "1.2.15", - "transitive": [ - "org.apache.zookeeper:zookeeper" + "com.amazonaws:aws-java-sdk-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] @@ -370,29 +413,26 @@ ] }, "org.apache.commons:commons-lang3": { - "locked": "3.10", + "locked": "3.12.0", "transitive": [ "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "org.apache.curator:curator-client": { - "locked": "2.4.0", + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", "transitive": [ - "org.apache.curator:curator-framework" + "com.amazonaws:aws-java-sdk-core" ] }, - "org.apache.curator:curator-framework": { - "locked": "2.4.0", + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", "transitive": [ - "org.apache.curator:curator-recipes" + "org.apache.httpcomponents:httpclient" ] }, - "org.apache.curator:curator-recipes": { - "locked": "2.4.0" - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -404,7 +444,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -414,7 +454,7 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -422,7 +462,7 @@ ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -430,62 +470,102 @@ ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "org.apache.zookeeper:zookeeper": { - "locked": "3.4.5", - "transitive": [ - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes" - ] - }, "org.checkerframework:checker-qual": { - "locked": "3.5.0", - "transitive": [ - "com.google.guava:guava" - ] - }, - "org.jboss.netty:netty": { - "locked": "3.2.2.Final", + "locked": "3.19.0", "transitive": [ - "org.apache.zookeeper:zookeeper" + "com.github.ben-manes.caffeine:caffeine" ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.jayway.jsonpath:json-path", "com.netflix.spectator:spectator-api", - "org.apache.curator:curator-client", - "org.apache.logging.log4j:log4j-slf4j-impl", - "org.apache.zookeeper:zookeeper" + "org.apache.logging.log4j:log4j-slf4j-impl" + ] + }, + "software.amazon.ion:ion-java": { + "locked": "1.0.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" ] } }, "testCompileClasspath": { - "com.google.guava:guava": { - "locked": "14.0.1", + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-kms": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-s3": { + "locked": "1.11.86" + }, + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.fasterxml.jackson.core:jackson-annotations": { + "locked": "2.13.3", "transitive": [ - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes", - "org.apache.curator:curator-test" + "com.fasterxml.jackson.core:jackson-databind" + ] + }, + "com.fasterxml.jackson.core:jackson-core": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] + }, + "com.fasterxml.jackson.core:jackson-databind": { + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] + }, + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -502,6 +582,19 @@ "org.skyscreamer:jsonassert" ] }, + "commons-codec:commons-codec": { + "locked": "1.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, + "commons-logging:commons-logging": { + "locked": "1.2", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" + ] + }, "jakarta.activation:jakarta.activation-api": { "locked": "1.2.2", "transitive": [ @@ -520,22 +613,10 @@ "org.springframework.boot:spring-boot-starter-test" ] }, - "javax.activation:activation": { - "locked": "1.1", - "transitive": [ - "javax.mail:mail" - ] - }, - "javax.mail:mail": { - "locked": "1.4", - "transitive": [ - "log4j:log4j" - ] - }, - "jline:jline": { - "locked": "0.9.94", + "joda-time:joda-time": { + "locked": "2.8.1", "transitive": [ - "org.apache.zookeeper:zookeeper" + "com.amazonaws:aws-java-sdk-core" ] }, "junit:junit": { @@ -544,65 +625,47 @@ "org.junit.vintage:junit-vintage-engine" ] }, - "log4j:log4j": { - "locked": "1.2.15", - "transitive": [ - "org.apache.zookeeper:zookeeper" - ] - }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] }, "org.apache.commons:commons-lang3": { - "locked": "3.10" + "locked": "3.12.0" }, - "org.apache.commons:commons-math": { - "locked": "2.2", + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", "transitive": [ - "org.apache.curator:curator-test" + "com.amazonaws:aws-java-sdk-core" ] }, - "org.apache.curator:curator-client": { - "locked": "2.4.0", + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", "transitive": [ - "org.apache.curator:curator-framework" + "org.apache.httpcomponents:httpclient" ] }, - "org.apache.curator:curator-framework": { - "locked": "2.4.0", - "transitive": [ - "org.apache.curator:curator-recipes" - ] - }, - "org.apache.curator:curator-recipes": { - "locked": "2.4.0" - }, - "org.apache.curator:curator-test": { - "locked": "2.4.0" - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -611,38 +674,29 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web", "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" - }, - "org.apache.zookeeper:zookeeper": { - "locked": "3.4.5", - "transitive": [ - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes", - "org.apache.curator:curator-test" - ] + "locked": "2.17.1" }, "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", + "locked": "1.1.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.jupiter:junit-jupiter-params", @@ -652,7 +706,7 @@ ] }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -660,61 +714,53 @@ "org.hamcrest:hamcrest": { "locked": "2.2", "transitive": [ + "org.hamcrest:hamcrest-core", "org.springframework.boot:spring-boot-starter-test" ] }, - "org.javassist:javassist": { - "locked": "3.15.0-GA", - "transitive": [ - "org.apache.curator:curator-test" - ] - }, - "org.jboss.netty:netty": { - "locked": "3.2.2.Final", + "org.hamcrest:hamcrest-core": { + "locked": "2.2", "transitive": [ - "org.apache.zookeeper:zookeeper" + "junit:junit" ] }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-params" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -725,24 +771,18 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.objenesis:objenesis": { - "locked": "2.6", - "transitive": [ - "org.mockito:mockito-core" - ] - }, "org.opentest4j:opentest4j": { "locked": "1.2.0", "transitive": [ @@ -751,36 +791,34 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.jayway.jsonpath:json-path", - "org.apache.curator:curator-client", "org.apache.logging.log4j:log4j-slf4j-impl", - "org.apache.zookeeper:zookeeper", "org.slf4j:jul-to-slf4j" ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -789,64 +827,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -859,105 +897,125 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] + }, + "software.amazon.ion:ion-java": { + "locked": "1.0.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] } }, "testRuntimeClasspath": { + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-kms": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-s3" + ] + }, + "com.amazonaws:aws-java-sdk-s3": { + "locked": "1.11.86" + }, + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-kms", + "com.amazonaws:aws-java-sdk-s3" + ] + }, "com.fasterxml.jackson.core:jackson-annotations": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-core": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-databind": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "com.github.rholder:guava-retrying": { - "locked": "2.0.0", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", "transitive": [ - "com.netflix.conductor:conductor-common" + "com.amazonaws:aws-java-sdk-core" ] }, - "com.google.code.findbugs:jsr305": { - "locked": "3.0.2", + "com.fasterxml.jackson.module:jackson-module-afterburner": { + "locked": "2.13.3", "transitive": [ - "com.github.rholder:guava-retrying", - "com.google.guava:guava" - ] - }, - "com.google.errorprone:error_prone_annotations": { - "locked": "2.3.4", - "transitive": [ - "com.google.guava:guava" - ] - }, - "com.google.guava:failureaccess": { - "locked": "1.0.1", - "transitive": [ - "com.google.guava:guava" + "com.netflix.conductor:conductor-common" ] }, - "com.google.guava:guava": { - "locked": "30.0-jre", + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", "transitive": [ - "com.github.rholder:guava-retrying", - "com.netflix.conductor:conductor-core", - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes", - "org.apache.curator:curator-test" + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, - "com.google.guava:listenablefuture": { - "locked": "9999.0-empty-to-avoid-conflict-with-guava", + "com.github.ben-manes.caffeine:caffeine": { + "locked": "2.9.3", "transitive": [ - "com.google.guava:guava" + "com.netflix.conductor:conductor-core" ] }, - "com.google.j2objc:j2objc-annotations": { - "locked": "1.3", + "com.google.errorprone:error_prone_annotations": { + "locked": "2.10.0", "transitive": [ - "com.google.guava:guava" + "com.github.ben-manes.caffeine:caffeine" ] }, "com.google.protobuf:protobuf-java": { @@ -968,7 +1026,7 @@ ] }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "com.netflix.conductor:conductor-core", "org.springframework.boot:spring-boot-starter-test" @@ -1007,12 +1065,25 @@ "org.skyscreamer:jsonassert" ] }, + "commons-codec:commons-codec": { + "locked": "1.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, "commons-io:commons-io": { "locked": "2.7", "transitive": [ "com.netflix.conductor:conductor-core" ] }, + "commons-logging:commons-logging": { + "locked": "1.2", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" + ] + }, "io.reactivex:rxjava": { "locked": "1.3.8", "transitive": [ @@ -1039,22 +1110,10 @@ "org.springframework.boot:spring-boot-starter-test" ] }, - "javax.activation:activation": { - "locked": "1.1", + "joda-time:joda-time": { + "locked": "2.8.1", "transitive": [ - "javax.mail:mail" - ] - }, - "javax.mail:mail": { - "locked": "1.4", - "transitive": [ - "log4j:log4j" - ] - }, - "jline:jline": { - "locked": "0.9.94", - "transitive": [ - "org.apache.zookeeper:zookeeper" + "com.amazonaws:aws-java-sdk-core" ] }, "junit:junit": { @@ -1063,32 +1122,26 @@ "org.junit.vintage:junit-vintage-engine" ] }, - "log4j:log4j": { - "locked": "1.2.15", - "transitive": [ - "org.apache.zookeeper:zookeeper" - ] - }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] @@ -1101,38 +1154,26 @@ ] }, "org.apache.commons:commons-lang3": { - "locked": "3.10", + "locked": "3.12.0", "transitive": [ "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "org.apache.commons:commons-math": { - "locked": "2.2", + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", "transitive": [ - "org.apache.curator:curator-test" + "com.amazonaws:aws-java-sdk-core" ] }, - "org.apache.curator:curator-client": { - "locked": "2.4.0", + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", "transitive": [ - "org.apache.curator:curator-framework" + "org.apache.httpcomponents:httpclient" ] }, - "org.apache.curator:curator-framework": { - "locked": "2.4.0", - "transitive": [ - "org.apache.curator:curator-recipes" - ] - }, - "org.apache.curator:curator-recipes": { - "locked": "2.4.0" - }, - "org.apache.curator:curator-test": { - "locked": "2.4.0" - }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1144,7 +1185,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1155,7 +1196,7 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1164,7 +1205,7 @@ ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1173,71 +1214,46 @@ ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "org.apache.zookeeper:zookeeper": { - "locked": "3.4.5", - "transitive": [ - "org.apache.curator:curator-client", - "org.apache.curator:curator-framework", - "org.apache.curator:curator-recipes", - "org.apache.curator:curator-test" - ] - }, - "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", - "transitive": [ - "org.junit.jupiter:junit-jupiter-api", - "org.junit.jupiter:junit-jupiter-engine", - "org.junit.jupiter:junit-jupiter-params", - "org.junit.platform:junit-platform-commons", - "org.junit.platform:junit-platform-engine", - "org.junit.vintage:junit-vintage-engine" - ] - }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.checkerframework:checker-qual": { - "locked": "3.5.0", + "locked": "3.19.0", "transitive": [ - "com.google.guava:guava" + "com.github.ben-manes.caffeine:caffeine" ] }, "org.hamcrest:hamcrest": { "locked": "2.2", "transitive": [ + "org.hamcrest:hamcrest-core", "org.springframework.boot:spring-boot-starter-test" ] }, - "org.javassist:javassist": { - "locked": "3.15.0-GA", - "transitive": [ - "org.apache.curator:curator-test" - ] - }, - "org.jboss.netty:netty": { - "locked": "3.2.2.Final", + "org.hamcrest:hamcrest-core": { + "locked": "2.2", "transitive": [ - "org.apache.zookeeper:zookeeper" + "junit:junit" ] }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-engine", @@ -1246,39 +1262,36 @@ ] }, "org.junit.jupiter:junit-jupiter-engine": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-engine", "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -1290,20 +1303,20 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.objenesis:objenesis": { - "locked": "2.6", + "locked": "3.2", "transitive": [ "org.mockito:mockito-core" ] @@ -1316,37 +1329,35 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.jayway.jsonpath:json-path", "com.netflix.spectator:spectator-api", - "org.apache.curator:curator-client", "org.apache.logging.log4j:log4j-slf4j-impl", - "org.apache.zookeeper:zookeeper", "org.slf4j:jul-to-slf4j" ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -1355,64 +1366,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -1425,34 +1436,40 @@ ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] + }, + "software.amazon.ion:ion-java": { + "locked": "1.0.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] } } } \ No newline at end of file diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/storage/config/S3Configuration.java b/awss3-storage/src/main/java/com/netflix/conductor/s3/config/S3Configuration.java similarity index 75% rename from contribs/src/main/java/com/netflix/conductor/contribs/storage/config/S3Configuration.java rename to awss3-storage/src/main/java/com/netflix/conductor/s3/config/S3Configuration.java index bb9ca31132..a188c85046 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/storage/config/S3Configuration.java +++ b/awss3-storage/src/main/java/com/netflix/conductor/s3/config/S3Configuration.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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 @@ -10,7 +10,7 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package com.netflix.conductor.contribs.storage.config; +package com.netflix.conductor.s3.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -18,7 +18,8 @@ import org.springframework.context.annotation.Configuration; import com.netflix.conductor.common.utils.ExternalPayloadStorage; -import com.netflix.conductor.contribs.storage.S3PayloadStorage; +import com.netflix.conductor.core.utils.IDGenerator; +import com.netflix.conductor.s3.storage.S3PayloadStorage; @Configuration @EnableConfigurationProperties(S3Properties.class) @@ -26,7 +27,8 @@ public class S3Configuration { @Bean - public ExternalPayloadStorage s3ExternalPayloadStorage(S3Properties properties) { - return new S3PayloadStorage(properties); + public ExternalPayloadStorage s3ExternalPayloadStorage( + IDGenerator idGenerator, S3Properties properties) { + return new S3PayloadStorage(idGenerator, properties); } } diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/storage/config/S3Properties.java b/awss3-storage/src/main/java/com/netflix/conductor/s3/config/S3Properties.java similarity index 95% rename from contribs/src/main/java/com/netflix/conductor/contribs/storage/config/S3Properties.java rename to awss3-storage/src/main/java/com/netflix/conductor/s3/config/S3Properties.java index fc7f5ebf43..94a515f727 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/storage/config/S3Properties.java +++ b/awss3-storage/src/main/java/com/netflix/conductor/s3/config/S3Properties.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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 @@ -10,7 +10,7 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package com.netflix.conductor.contribs.storage.config; +package com.netflix.conductor.s3.config; import java.time.Duration; import java.time.temporal.ChronoUnit; diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/storage/S3PayloadStorage.java b/awss3-storage/src/main/java/com/netflix/conductor/s3/storage/S3PayloadStorage.java similarity index 82% rename from contribs/src/main/java/com/netflix/conductor/contribs/storage/S3PayloadStorage.java rename to awss3-storage/src/main/java/com/netflix/conductor/s3/storage/S3PayloadStorage.java index eb9d7dd97d..8ac530ea54 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/storage/S3PayloadStorage.java +++ b/awss3-storage/src/main/java/com/netflix/conductor/s3/storage/S3PayloadStorage.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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 @@ -10,7 +10,7 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package com.netflix.conductor.contribs.storage; +package com.netflix.conductor.s3.storage; import java.io.InputStream; import java.net.URISyntaxException; @@ -22,23 +22,22 @@ import com.netflix.conductor.common.run.ExternalStorageLocation; import com.netflix.conductor.common.utils.ExternalPayloadStorage; -import com.netflix.conductor.contribs.storage.config.S3Properties; -import com.netflix.conductor.core.exception.ApplicationException; +import com.netflix.conductor.core.exception.NonTransientException; +import com.netflix.conductor.core.exception.TransientException; import com.netflix.conductor.core.utils.IDGenerator; +import com.netflix.conductor.s3.config.S3Properties; import com.amazonaws.HttpMethod; import com.amazonaws.SdkClientException; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; -import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest; -import com.amazonaws.services.s3.model.GetObjectRequest; -import com.amazonaws.services.s3.model.ObjectMetadata; -import com.amazonaws.services.s3.model.PutObjectRequest; -import com.amazonaws.services.s3.model.S3Object; +import com.amazonaws.services.s3.model.*; /** * An implementation of {@link ExternalPayloadStorage} using AWS S3 for storing large JSON payload - * data. The S3 client assumes that access to S3 is configured on the instance. + * data. + * + *
NOTE: The S3 client assumes that access to S3 is configured on the instance. * * @see DefaultAWSCredentialsProviderChain @@ -48,11 +47,13 @@ public class S3PayloadStorage implements ExternalPayloadStorage { private static final Logger LOGGER = LoggerFactory.getLogger(S3PayloadStorage.class); private static final String CONTENT_TYPE = "application/json"; + private final IDGenerator idGenerator; private final AmazonS3 s3Client; private final String bucketName; private final long expirationSec; - public S3PayloadStorage(S3Properties properties) { + public S3PayloadStorage(IDGenerator idGenerator, S3Properties properties) { + this.idGenerator = idGenerator; bucketName = properties.getBucketName(); expirationSec = properties.getSignedUrlExpirationDuration().getSeconds(); String region = properties.getRegion(); @@ -99,13 +100,16 @@ public ExternalStorageLocation getLocation( .toASCIIString()); return externalStorageLocation; } catch (SdkClientException e) { - String msg = "Error communicating with S3"; + String msg = + String.format( + "Error communicating with S3 - operation:%s, payloadType: %s, path: %s", + operation, payloadType, path); LOGGER.error(msg, e); - throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e); + throw new TransientException(msg, e); } catch (URISyntaxException e) { String msg = "Invalid URI Syntax"; LOGGER.error(msg, e); - throw new ApplicationException(ApplicationException.Code.INTERNAL_ERROR, msg, e); + throw new NonTransientException(msg, e); } } @@ -128,9 +132,11 @@ public void upload(String path, InputStream payload, long payloadSize) { new PutObjectRequest(bucketName, path, payload, objectMetadata); s3Client.putObject(request); } catch (SdkClientException e) { - String msg = "Error communicating with S3"; + String msg = + String.format( + "Error uploading to S3 - path:%s, payloadSize: %d", path, payloadSize); LOGGER.error(msg, e); - throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e); + throw new TransientException(msg, e); } } @@ -147,9 +153,9 @@ public InputStream download(String path) { S3Object s3Object = s3Client.getObject(new GetObjectRequest(bucketName, path)); return s3Object.getObjectContent(); } catch (SdkClientException e) { - String msg = "Error communicating with S3"; + String msg = String.format("Error downloading from S3 - path:%s", path); LOGGER.error(msg, e); - throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e); + throw new TransientException(msg, e); } } @@ -169,7 +175,7 @@ private String getObjectKey(PayloadType payloadType) { stringBuilder.append("task/output/"); break; } - stringBuilder.append(IDGenerator.generate()).append(".json"); + stringBuilder.append(idGenerator.generate()).append(".json"); return stringBuilder.toString(); } } diff --git a/awss3-storage/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/awss3-storage/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 0000000000..d8c1f34e5d --- /dev/null +++ b/awss3-storage/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,13 @@ +{ + "hints": [ + { + "name": "conductor.external-payload-storage.type", + "values": [ + { + "value": "s3", + "description": "Use AWS S3 as the external payload storage." + } + ] + } + ] +} diff --git a/awssqs-event-queue/README.md b/awssqs-event-queue/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/awssqs-event-queue/build.gradle b/awssqs-event-queue/build.gradle new file mode 100644 index 0000000000..a795acf2ca --- /dev/null +++ b/awssqs-event-queue/build.gradle @@ -0,0 +1,16 @@ +dependencies { + implementation project(':conductor-common') + implementation project(':conductor-core') + compileOnly 'org.springframework.boot:spring-boot-starter' + + implementation "org.apache.commons:commons-lang3" + // SBMTODO: remove guava dep + implementation "com.google.guava:guava:${revGuava}" + + implementation "com.amazonaws:aws-java-sdk-sqs:${revAwsSdk}" + + implementation "io.reactivex:rxjava:${revRxJava}" + + testImplementation 'org.springframework.boot:spring-boot-starter' + testImplementation project(':conductor-common').sourceSets.test.output +} \ No newline at end of file diff --git a/postgres-persistence/dependencies.lock b/awssqs-event-queue/dependencies.lock similarity index 71% rename from postgres-persistence/dependencies.lock rename to awssqs-event-queue/dependencies.lock index 98ea967172..78b699b565 100644 --- a/postgres-persistence/dependencies.lock +++ b/awssqs-event-queue/dependencies.lock @@ -1,24 +1,60 @@ { "annotationProcessor": { "org.springframework.boot:spring-boot-configuration-processor": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" } }, "compileClasspath": { + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-sqs" + ] + }, + "com.amazonaws:aws-java-sdk-sqs": { + "locked": "1.11.86" + }, + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-sqs" + ] + }, "com.fasterxml.jackson.core:jackson-annotations": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind" ] }, "com.fasterxml.jackson.core:jackson-core": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ - "com.fasterxml.jackson.core:jackson-databind" + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, "com.fasterxml.jackson.core:jackson-databind": { - "locked": "2.11.4" + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] + }, + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", @@ -59,23 +95,51 @@ "com.netflix.conductor:conductor-core": { "project": true }, - "com.zaxxer:HikariCP": { - "locked": "3.4.5", + "commons-codec:commons-codec": { + "locked": "1.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, + "commons-logging:commons-logging": { + "locked": "1.2", "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" ] }, + "io.reactivex:rxjava": { + "locked": "1.2.2" + }, "jakarta.annotation:jakarta.annotation-api": { "locked": "1.3.5", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, + "joda-time:joda-time": { + "locked": "2.8.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, "org.apache.commons:commons-lang3": { - "locked": "3.10" + "locked": "3.12.0" + }, + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -84,19 +148,19 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.checkerframework:checker-qual": { "locked": "3.5.0", @@ -104,158 +168,177 @@ "com.google.guava:guava" ] }, - "org.flywaydb:flyway-core": { - "locked": "6.4.4" - }, - "org.postgresql:postgresql": { - "locked": "42.2.20" - }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ - "com.zaxxer:HikariCP", "org.apache.logging.log4j:log4j-slf4j-impl", "org.slf4j:jul-to-slf4j" ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" - ] - }, - "org.springframework.boot:spring-boot-starter-jdbc": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", - "org.springframework:spring-context", - "org.springframework:spring-jdbc", - "org.springframework:spring-tx" + "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", "org.springframework:spring-aop", "org.springframework:spring-beans", "org.springframework:spring-context", - "org.springframework:spring-expression", - "org.springframework:spring-jdbc", - "org.springframework:spring-tx" + "org.springframework:spring-expression" ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, - "org.springframework:spring-jdbc": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" - ] - }, - "org.springframework:spring-tx": { - "locked": "5.2.15.RELEASE", + "org.yaml:snakeyaml": { + "locked": "1.30", "transitive": [ - "org.springframework:spring-jdbc" + "org.springframework.boot:spring-boot-starter" ] }, - "org.yaml:snakeyaml": { - "locked": "1.26", + "software.amazon.ion:ion-java": { + "locked": "1.0.1", "transitive": [ - "org.springframework.boot:spring-boot-starter" + "com.amazonaws:aws-java-sdk-core" ] } }, "runtimeClasspath": { + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-sqs" + ] + }, + "com.amazonaws:aws-java-sdk-sqs": { + "locked": "1.11.86" + }, + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", + "transitive": [ + "com.amazonaws:aws-java-sdk-sqs" + ] + }, "com.fasterxml.jackson.core:jackson-annotations": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-core": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-databind": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "com.github.rholder:guava-retrying": { - "locked": "2.0.0", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "com.fasterxml.jackson.module:jackson-module-afterburner": { + "locked": "2.13.3", "transitive": [ "com.netflix.conductor:conductor-common" ] }, + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", + "transitive": [ + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" + ] + }, + "com.github.ben-manes.caffeine:caffeine": { + "locked": "2.9.3", + "transitive": [ + "com.netflix.conductor:conductor-core" + ] + }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", "transitive": [ - "com.github.rholder:guava-retrying", "com.google.guava:guava" ] }, "com.google.errorprone:error_prone_annotations": { - "locked": "2.3.4", + "locked": "2.10.0", "transitive": [ + "com.github.ben-manes.caffeine:caffeine", "com.google.guava:guava" ] }, @@ -266,11 +349,7 @@ ] }, "com.google.guava:guava": { - "locked": "30.0-jre", - "transitive": [ - "com.github.rholder:guava-retrying", - "com.netflix.conductor:conductor-core" - ] + "locked": "30.0-jre" }, "com.google.guava:listenablefuture": { "locked": "9999.0-empty-to-avoid-conflict-with-guava", @@ -292,7 +371,7 @@ ] }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "com.netflix.conductor:conductor-core" ] @@ -324,10 +403,10 @@ "com.netflix.conductor:conductor-core" ] }, - "com.zaxxer:HikariCP": { - "locked": "3.4.5", + "commons-codec:commons-codec": { + "locked": "1.15", "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" + "org.apache.httpcomponents:httpclient" ] }, "commons-io:commons-io": { @@ -336,8 +415,15 @@ "com.netflix.conductor:conductor-core" ] }, + "commons-logging:commons-logging": { + "locked": "1.2", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" + ] + }, "io.reactivex:rxjava": { - "locked": "1.3.8", + "locked": "1.2.2", "transitive": [ "com.netflix.conductor:conductor-core" ] @@ -349,26 +435,26 @@ "jakarta.xml.bind:jakarta.xml.bind-api" ] }, - "jakarta.annotation:jakarta.annotation-api": { - "locked": "1.3.5", - "transitive": [ - "org.springframework.boot:spring-boot-starter" - ] - }, "jakarta.xml.bind:jakarta.xml.bind-api": { "locked": "2.3.3", "transitive": [ "com.netflix.conductor:conductor-core" ] }, + "joda-time:joda-time": { + "locked": "2.8.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] @@ -381,14 +467,26 @@ ] }, "org.apache.commons:commons-lang3": { - "locked": "3.10", + "locked": "3.12.0", "transitive": [ "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -400,7 +498,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -410,7 +508,7 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -418,7 +516,7 @@ ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -426,7 +524,7 @@ ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -434,166 +532,83 @@ ] }, "org.checkerframework:checker-qual": { - "locked": "3.5.0", + "locked": "3.19.0", "transitive": [ - "com.google.guava:guava", - "org.postgresql:postgresql" + "com.github.ben-manes.caffeine:caffeine", + "com.google.guava:guava" ] }, - "org.flywaydb:flyway-core": { - "locked": "6.4.4" - }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, - "org.postgresql:postgresql": { - "locked": "42.2.20" - }, - "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", - "transitive": [ - "org.springframework.boot:spring-boot-starter-logging" - ] - }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "com.jayway.jsonpath:json-path", "com.netflix.spectator:spectator-api", - "com.zaxxer:HikariCP", - "org.apache.logging.log4j:log4j-slf4j-impl", - "org.slf4j:jul-to-slf4j" - ] - }, - "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-autoconfigure", - "org.springframework.boot:spring-boot-starter" - ] - }, - "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter" - ] - }, - "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" - ] - }, - "org.springframework.boot:spring-boot-starter-jdbc": { - "locked": "2.3.12.RELEASE" - }, - "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter" - ] - }, - "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework:spring-context" - ] - }, - "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework:spring-aop", - "org.springframework:spring-context", - "org.springframework:spring-jdbc", - "org.springframework:spring-tx" - ] - }, - "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot" - ] - }, - "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot", - "org.springframework.boot:spring-boot-starter", - "org.springframework:spring-aop", - "org.springframework:spring-beans", - "org.springframework:spring-context", - "org.springframework:spring-expression", - "org.springframework:spring-jdbc", - "org.springframework:spring-tx" + "org.apache.logging.log4j:log4j-slf4j-impl" ] }, - "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "software.amazon.ion:ion-java": { + "locked": "1.0.1", "transitive": [ - "org.springframework:spring-context" + "com.amazonaws:aws-java-sdk-core" ] - }, - "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + } + }, + "testCompileClasspath": { + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", "transitive": [ - "org.springframework:spring-core" + "com.amazonaws:aws-java-sdk-sqs" ] }, - "org.springframework:spring-jdbc": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" - ] + "com.amazonaws:aws-java-sdk-sqs": { + "locked": "1.11.86" }, - "org.springframework:spring-tx": { - "locked": "5.2.15.RELEASE", + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", "transitive": [ - "org.springframework:spring-jdbc" + "com.amazonaws:aws-java-sdk-sqs" ] }, - "org.yaml:snakeyaml": { - "locked": "1.26", - "transitive": [ - "org.springframework.boot:spring-boot-starter" - ] - } - }, - "testCompileClasspath": { "com.fasterxml.jackson.core:jackson-annotations": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ - "com.fasterxml.jackson.core:jackson-databind", - "com.github.docker-java:docker-java-api" + "com.fasterxml.jackson.core:jackson-databind" ] }, "com.fasterxml.jackson.core:jackson-core": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ - "com.fasterxml.jackson.core:jackson-databind" + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, "com.fasterxml.jackson.core:jackson-databind": { - "locked": "2.11.4" - }, - "com.github.docker-java:docker-java-api": { - "locked": "3.2.8", + "locked": "2.13.3", "transitive": [ - "org.testcontainers:testcontainers" + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, - "com.github.docker-java:docker-java-transport": { - "locked": "3.2.8", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", "transitive": [ - "com.github.docker-java:docker-java-transport-zerodep" + "com.amazonaws:aws-java-sdk-core" ] }, - "com.github.docker-java:docker-java-transport-zerodep": { - "locked": "3.2.8", + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", "transitive": [ - "org.testcontainers:testcontainers" + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, "com.google.code.findbugs:jsr305": { @@ -630,7 +645,7 @@ ] }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -647,12 +662,22 @@ "org.skyscreamer:jsonassert" ] }, - "com.zaxxer:HikariCP": { - "locked": "3.4.5", + "commons-codec:commons-codec": { + "locked": "1.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, + "commons-logging:commons-logging": { + "locked": "1.2", "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" ] }, + "io.reactivex:rxjava": { + "locked": "1.2.2" + }, "jakarta.activation:jakarta.activation-api": { "locked": "1.2.2", "transitive": [ @@ -671,55 +696,59 @@ "org.springframework.boot:spring-boot-starter-test" ] }, + "joda-time:joda-time": { + "locked": "2.8.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, "junit:junit": { "locked": "4.13.2", "transitive": [ - "org.junit.vintage:junit-vintage-engine", - "org.testcontainers:testcontainers" + "org.junit.vintage:junit-vintage-engine" ] }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, - "net.java.dev.jna:jna": { - "locked": "5.8.0", - "transitive": [ - "com.github.docker-java:docker-java-transport-zerodep", - "org.rnorth.visible-assertions:visible-assertions" - ] - }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] }, - "org.apache.commons:commons-compress": { - "locked": "1.20", + "org.apache.commons:commons-lang3": { + "locked": "3.12.0" + }, + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", "transitive": [ - "org.testcontainers:testcontainers" + "com.amazonaws:aws-java-sdk-core" ] }, - "org.apache.commons:commons-lang3": { - "locked": "3.10" + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-core", "org.apache.logging.log4j:log4j-jul", @@ -728,29 +757,29 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.apache.logging.log4j:log4j-web", "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2" ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0" + "locked": "2.17.1" }, "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", + "locked": "1.1.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.jupiter:junit-jupiter-params", @@ -760,7 +789,7 @@ ] }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] @@ -771,55 +800,56 @@ "com.google.guava:guava" ] }, - "org.flywaydb:flyway-core": { - "locked": "6.4.4" - }, "org.hamcrest:hamcrest": { "locked": "2.2", "transitive": [ + "org.hamcrest:hamcrest-core", "org.springframework.boot:spring-boot-starter-test" ] }, + "org.hamcrest:hamcrest-core": { + "locked": "2.2", + "transitive": [ + "junit:junit" + ] + }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-params" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -830,24 +860,18 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.objenesis:objenesis": { - "locked": "2.6", - "transitive": [ - "org.mockito:mockito-core" - ] - }, "org.opentest4j:opentest4j": { "locked": "1.2.0", "transitive": [ @@ -856,53 +880,34 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, - "org.postgresql:postgresql": { - "locked": "42.2.20" - }, - "org.rnorth.duct-tape:duct-tape": { - "locked": "1.0.8", - "transitive": [ - "org.testcontainers:testcontainers" - ] - }, - "org.rnorth.visible-assertions:visible-assertions": { - "locked": "2.1.2", - "transitive": [ - "org.testcontainers:testcontainers" - ] - }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ - "com.github.docker-java:docker-java-api", - "com.github.docker-java:docker-java-transport-zerodep", "com.jayway.jsonpath:json-path", - "com.zaxxer:HikariCP", "org.apache.logging.log4j:log4j-slf4j-impl", - "org.slf4j:jul-to-slf4j", - "org.testcontainers:testcontainers" + "org.slf4j:jul-to-slf4j" ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -911,70 +916,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc", "org.springframework.boot:spring-boot-starter-test" ] }, - "org.springframework.boot:spring-boot-starter-jdbc": { - "locked": "2.3.12.RELEASE" - }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", - "org.springframework:spring-context", - "org.springframework:spring-jdbc", - "org.springframework:spring-tx" + "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -983,133 +982,127 @@ "org.springframework:spring-beans", "org.springframework:spring-context", "org.springframework:spring-expression", - "org.springframework:spring-jdbc", - "org.springframework:spring-test", - "org.springframework:spring-tx" + "org.springframework:spring-test" ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, - "org.springframework:spring-jdbc": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" - ] - }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.springframework:spring-tx": { - "locked": "5.2.15.RELEASE", + "org.xmlunit:xmlunit-core": { + "locked": "2.9.0", "transitive": [ - "org.springframework:spring-jdbc" + "org.springframework.boot:spring-boot-starter-test" ] }, - "org.testcontainers:database-commons": { - "locked": "1.15.3", + "org.yaml:snakeyaml": { + "locked": "1.30", "transitive": [ - "org.testcontainers:jdbc" + "org.springframework.boot:spring-boot-starter" ] }, - "org.testcontainers:jdbc": { - "locked": "1.15.3", + "software.amazon.ion:ion-java": { + "locked": "1.0.1", "transitive": [ - "org.testcontainers:postgresql" + "com.amazonaws:aws-java-sdk-core" ] - }, - "org.testcontainers:postgresql": { - "locked": "1.15.3" - }, - "org.testcontainers:testcontainers": { - "locked": "1.15.3", + } + }, + "testRuntimeClasspath": { + "com.amazonaws:aws-java-sdk-core": { + "locked": "1.11.86", "transitive": [ - "org.testcontainers:database-commons" + "com.amazonaws:aws-java-sdk-sqs" ] }, - "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "com.amazonaws:aws-java-sdk-sqs": { + "locked": "1.11.86" }, - "org.yaml:snakeyaml": { - "locked": "1.26", + "com.amazonaws:jmespath-java": { + "locked": "1.11.86", "transitive": [ - "org.springframework.boot:spring-boot-starter" + "com.amazonaws:aws-java-sdk-sqs" ] - } - }, - "testRuntimeClasspath": { + }, "com.fasterxml.jackson.core:jackson-annotations": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", - "com.github.docker-java:docker-java-api", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-core": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, "com.fasterxml.jackson.core:jackson-databind": { - "locked": "2.11.4", + "locked": "2.13.3", "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "com.amazonaws:jmespath-java", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor", + "com.fasterxml.jackson.module:jackson-module-afterburner", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "com.github.docker-java:docker-java-api": { - "locked": "3.2.8", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": { + "locked": "2.13.3", "transitive": [ - "org.testcontainers:testcontainers" + "com.amazonaws:aws-java-sdk-core" ] }, - "com.github.docker-java:docker-java-transport": { - "locked": "3.2.8", + "com.fasterxml.jackson.module:jackson-module-afterburner": { + "locked": "2.13.3", "transitive": [ - "com.github.docker-java:docker-java-transport-zerodep" + "com.netflix.conductor:conductor-common" ] }, - "com.github.docker-java:docker-java-transport-zerodep": { - "locked": "3.2.8", + "com.fasterxml.jackson:jackson-bom": { + "locked": "2.13.3", "transitive": [ - "org.testcontainers:testcontainers" + "com.fasterxml.jackson.core:jackson-annotations", + "com.fasterxml.jackson.core:jackson-core", + "com.fasterxml.jackson.core:jackson-databind", + "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor" ] }, - "com.github.rholder:guava-retrying": { - "locked": "2.0.0", + "com.github.ben-manes.caffeine:caffeine": { + "locked": "2.9.3", "transitive": [ - "com.netflix.conductor:conductor-common" + "com.netflix.conductor:conductor-core" ] }, "com.google.code.findbugs:jsr305": { "locked": "3.0.2", "transitive": [ - "com.github.rholder:guava-retrying", "com.google.guava:guava" ] }, "com.google.errorprone:error_prone_annotations": { - "locked": "2.3.4", + "locked": "2.10.0", "transitive": [ + "com.github.ben-manes.caffeine:caffeine", "com.google.guava:guava" ] }, @@ -1120,11 +1113,7 @@ ] }, "com.google.guava:guava": { - "locked": "30.0-jre", - "transitive": [ - "com.github.rholder:guava-retrying", - "com.netflix.conductor:conductor-core" - ] + "locked": "30.0-jre" }, "com.google.guava:listenablefuture": { "locked": "9999.0-empty-to-avoid-conflict-with-guava", @@ -1146,7 +1135,7 @@ ] }, "com.jayway.jsonpath:json-path": { - "locked": "2.4.0", + "locked": "2.7.0", "transitive": [ "com.netflix.conductor:conductor-core", "org.springframework.boot:spring-boot-starter-test" @@ -1185,10 +1174,10 @@ "org.skyscreamer:jsonassert" ] }, - "com.zaxxer:HikariCP": { - "locked": "3.4.5", + "commons-codec:commons-codec": { + "locked": "1.15", "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" + "org.apache.httpcomponents:httpclient" ] }, "commons-io:commons-io": { @@ -1197,8 +1186,15 @@ "com.netflix.conductor:conductor-core" ] }, + "commons-logging:commons-logging": { + "locked": "1.2", + "transitive": [ + "com.amazonaws:aws-java-sdk-core", + "org.apache.httpcomponents:httpclient" + ] + }, "io.reactivex:rxjava": { - "locked": "1.3.8", + "locked": "1.2.2", "transitive": [ "com.netflix.conductor:conductor-core" ] @@ -1223,40 +1219,38 @@ "org.springframework.boot:spring-boot-starter-test" ] }, + "joda-time:joda-time": { + "locked": "2.8.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, "junit:junit": { "locked": "4.13.2", "transitive": [ - "org.junit.vintage:junit-vintage-engine", - "org.testcontainers:testcontainers" + "org.junit.vintage:junit-vintage-engine" ] }, "net.bytebuddy:byte-buddy": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, "net.bytebuddy:byte-buddy-agent": { - "locked": "1.10.22", + "locked": "1.12.12", "transitive": [ "org.mockito:mockito-core" ] }, - "net.java.dev.jna:jna": { - "locked": "5.8.0", - "transitive": [ - "com.github.docker-java:docker-java-transport-zerodep", - "org.rnorth.visible-assertions:visible-assertions" - ] - }, "net.minidev:accessors-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "net.minidev:json-smart" ] }, "net.minidev:json-smart": { - "locked": "2.3.1", + "locked": "2.4.8", "transitive": [ "com.jayway.jsonpath:json-path" ] @@ -1268,21 +1262,27 @@ "com.netflix.conductor:conductor-core" ] }, - "org.apache.commons:commons-compress": { - "locked": "1.20", - "transitive": [ - "org.testcontainers:testcontainers" - ] - }, "org.apache.commons:commons-lang3": { - "locked": "3.10", + "locked": "3.12.0", "transitive": [ "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, + "org.apache.httpcomponents:httpclient": { + "locked": "4.5.13", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] + }, + "org.apache.httpcomponents:httpcore": { + "locked": "4.4.15", + "transitive": [ + "org.apache.httpcomponents:httpclient" + ] + }, "org.apache.logging.log4j:log4j-api": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1294,7 +1294,7 @@ ] }, "org.apache.logging.log4j:log4j-core": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1305,7 +1305,7 @@ ] }, "org.apache.logging.log4j:log4j-jul": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1314,7 +1314,7 @@ ] }, "org.apache.logging.log4j:log4j-slf4j-impl": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", @@ -1323,54 +1323,47 @@ ] }, "org.apache.logging.log4j:log4j-web": { - "locked": "2.17.0", + "locked": "2.17.1", "transitive": [ "com.netflix.conductor:conductor-annotations", "com.netflix.conductor:conductor-common", "com.netflix.conductor:conductor-core" ] }, - "org.apiguardian:apiguardian-api": { - "locked": "1.1.0", - "transitive": [ - "org.junit.jupiter:junit-jupiter-api", - "org.junit.jupiter:junit-jupiter-engine", - "org.junit.jupiter:junit-jupiter-params", - "org.junit.platform:junit-platform-commons", - "org.junit.platform:junit-platform-engine", - "org.junit.vintage:junit-vintage-engine" - ] - }, "org.assertj:assertj-core": { - "locked": "3.16.1", + "locked": "3.22.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.checkerframework:checker-qual": { - "locked": "3.5.0", + "locked": "3.19.0", "transitive": [ - "com.google.guava:guava", - "org.postgresql:postgresql" + "com.github.ben-manes.caffeine:caffeine", + "com.google.guava:guava" ] }, - "org.flywaydb:flyway-core": { - "locked": "6.4.4" - }, "org.hamcrest:hamcrest": { "locked": "2.2", "transitive": [ + "org.hamcrest:hamcrest-core", "org.springframework.boot:spring-boot-starter-test" ] }, + "org.hamcrest:hamcrest-core": { + "locked": "2.2", + "transitive": [ + "junit:junit" + ] + }, "org.junit.jupiter:junit-jupiter": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.junit.jupiter:junit-jupiter-api": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-engine", @@ -1379,39 +1372,36 @@ ] }, "org.junit.jupiter:junit-jupiter-engine": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.jupiter:junit-jupiter-params": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter" ] }, "org.junit.platform:junit-platform-commons": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-api", "org.junit.platform:junit-platform-engine" ] }, "org.junit.platform:junit-platform-engine": { - "locked": "1.6.3", + "locked": "1.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter-engine", "org.junit.vintage:junit-vintage-engine" ] }, "org.junit.vintage:junit-vintage-engine": { - "locked": "5.6.3", - "transitive": [ - "org.springframework.boot:spring-boot-starter-test" - ] + "locked": "5.8.2" }, "org.junit:junit-bom": { - "locked": "5.6.3", + "locked": "5.8.2", "transitive": [ "org.junit.jupiter:junit-jupiter", "org.junit.jupiter:junit-jupiter-api", @@ -1423,20 +1413,20 @@ ] }, "org.mockito:mockito-core": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.mockito:mockito-junit-jupiter", "org.springframework.boot:spring-boot-starter-test" ] }, "org.mockito:mockito-junit-jupiter": { - "locked": "3.3.3", + "locked": "4.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.objenesis:objenesis": { - "locked": "2.6", + "locked": "3.2", "transitive": [ "org.mockito:mockito-core" ] @@ -1449,54 +1439,35 @@ ] }, "org.ow2.asm:asm": { - "locked": "5.0.4", + "locked": "9.1", "transitive": [ "net.minidev:accessors-smart" ] }, - "org.postgresql:postgresql": { - "locked": "42.2.20" - }, - "org.rnorth.duct-tape:duct-tape": { - "locked": "1.0.8", - "transitive": [ - "org.testcontainers:testcontainers" - ] - }, - "org.rnorth.visible-assertions:visible-assertions": { - "locked": "2.1.2", - "transitive": [ - "org.testcontainers:testcontainers" - ] - }, "org.skyscreamer:jsonassert": { - "locked": "1.5.0", + "locked": "1.5.1", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.slf4j:jul-to-slf4j": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ "org.springframework.boot:spring-boot-starter-log4j2", "org.springframework.boot:spring-boot-starter-logging" ] }, "org.slf4j:slf4j-api": { - "locked": "1.7.30", + "locked": "1.7.36", "transitive": [ - "com.github.docker-java:docker-java-api", - "com.github.docker-java:docker-java-transport-zerodep", "com.jayway.jsonpath:json-path", "com.netflix.spectator:spectator-api", - "com.zaxxer:HikariCP", "org.apache.logging.log4j:log4j-slf4j-impl", - "org.slf4j:jul-to-slf4j", - "org.testcontainers:testcontainers" + "org.slf4j:jul-to-slf4j" ] }, "org.springframework.boot:spring-boot": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-autoconfigure", "org.springframework.boot:spring-boot-starter", @@ -1505,70 +1476,64 @@ ] }, "org.springframework.boot:spring-boot-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-starter": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc", "org.springframework.boot:spring-boot-starter-test" ] }, - "org.springframework.boot:spring-boot-starter-jdbc": { - "locked": "2.3.12.RELEASE" - }, "org.springframework.boot:spring-boot-starter-log4j2": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-starter-logging": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter" ] }, "org.springframework.boot:spring-boot-starter-test": { - "locked": "2.3.12.RELEASE" + "locked": "2.7.2" }, "org.springframework.boot:spring-boot-test": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test", "org.springframework.boot:spring-boot-test-autoconfigure" ] }, "org.springframework.boot:spring-boot-test-autoconfigure": { - "locked": "2.3.12.RELEASE", + "locked": "2.7.2", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.springframework:spring-aop": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-beans": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-aop", - "org.springframework:spring-context", - "org.springframework:spring-jdbc", - "org.springframework:spring-tx" + "org.springframework:spring-context" ] }, "org.springframework:spring-context": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot" ] }, "org.springframework:spring-core": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot", "org.springframework.boot:spring-boot-starter", @@ -1577,73 +1542,44 @@ "org.springframework:spring-beans", "org.springframework:spring-context", "org.springframework:spring-expression", - "org.springframework:spring-jdbc", - "org.springframework:spring-test", - "org.springframework:spring-tx" + "org.springframework:spring-test" ] }, "org.springframework:spring-expression": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-context" ] }, "org.springframework:spring-jcl": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework:spring-core" ] }, - "org.springframework:spring-jdbc": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework.boot:spring-boot-starter-jdbc" - ] - }, "org.springframework:spring-test": { - "locked": "5.2.15.RELEASE", + "locked": "5.3.22", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, - "org.springframework:spring-tx": { - "locked": "5.2.15.RELEASE", - "transitive": [ - "org.springframework:spring-jdbc" - ] - }, - "org.testcontainers:database-commons": { - "locked": "1.15.3", - "transitive": [ - "org.testcontainers:jdbc" - ] - }, - "org.testcontainers:jdbc": { - "locked": "1.15.3", - "transitive": [ - "org.testcontainers:postgresql" - ] - }, - "org.testcontainers:postgresql": { - "locked": "1.15.3" - }, - "org.testcontainers:testcontainers": { - "locked": "1.15.3", - "transitive": [ - "org.testcontainers:database-commons" - ] - }, "org.xmlunit:xmlunit-core": { - "locked": "2.7.0", + "locked": "2.9.0", "transitive": [ "org.springframework.boot:spring-boot-starter-test" ] }, "org.yaml:snakeyaml": { - "locked": "1.26", + "locked": "1.30", "transitive": [ "org.springframework.boot:spring-boot-starter" ] + }, + "software.amazon.ion:ion-java": { + "locked": "1.0.1", + "transitive": [ + "com.amazonaws:aws-java-sdk-core" + ] } } } \ No newline at end of file diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueConfiguration.java b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueConfiguration.java similarity index 92% rename from contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueConfiguration.java rename to awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueConfiguration.java index 6de5573159..2ee425e7cd 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueConfiguration.java +++ b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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 @@ -10,7 +10,7 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package com.netflix.conductor.contribs.queue.sqs.config; +package com.netflix.conductor.sqs.config; import java.util.HashMap; import java.util.Map; @@ -22,17 +22,16 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.netflix.conductor.common.metadata.tasks.Task.Status; -import com.netflix.conductor.contribs.queue.sqs.SQSObservableQueue.Builder; import com.netflix.conductor.core.config.ConductorProperties; import com.netflix.conductor.core.events.EventQueueProvider; import com.netflix.conductor.core.events.queue.ObservableQueue; +import com.netflix.conductor.model.TaskModel.Status; +import com.netflix.conductor.sqs.eventqueue.SQSObservableQueue.Builder; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.services.sqs.AmazonSQSClient; import rx.Scheduler; -@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") @Configuration @EnableConfigurationProperties(SQSEventQueueProperties.class) @ConditionalOnProperty(name = "conductor.event-queues.sqs.enabled", havingValue = "true") diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueProperties.java b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueProperties.java similarity index 97% rename from contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueProperties.java rename to awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueProperties.java index ef22920990..7ce5a3e5d1 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueProperties.java +++ b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueProperties.java @@ -10,7 +10,7 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package com.netflix.conductor.contribs.queue.sqs.config; +package com.netflix.conductor.sqs.config; import java.time.Duration; import java.time.temporal.ChronoUnit; diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueProvider.java b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueProvider.java similarity index 92% rename from contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueProvider.java rename to awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueProvider.java index b7f5001801..5ad88dc69b 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/config/SQSEventQueueProvider.java +++ b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/config/SQSEventQueueProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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 @@ -10,7 +10,7 @@ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ -package com.netflix.conductor.contribs.queue.sqs.config; +package com.netflix.conductor.sqs.config; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -19,9 +19,9 @@ import org.slf4j.LoggerFactory; import org.springframework.lang.NonNull; -import com.netflix.conductor.contribs.queue.sqs.SQSObservableQueue.Builder; import com.netflix.conductor.core.events.EventQueueProvider; import com.netflix.conductor.core.events.queue.ObservableQueue; +import com.netflix.conductor.sqs.eventqueue.SQSObservableQueue; import com.amazonaws.services.sqs.AmazonSQSClient; import rx.Scheduler; @@ -56,7 +56,7 @@ public ObservableQueue getQueue(String queueURI) { return queues.computeIfAbsent( queueURI, q -> - new Builder() + new SQSObservableQueue.Builder() .withBatchSize(this.batchSize) .withClient(client) .withPollTimeInMS(this.pollTimeInMS) diff --git a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/SQSObservableQueue.java b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/eventqueue/SQSObservableQueue.java similarity index 98% rename from contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/SQSObservableQueue.java rename to awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/eventqueue/SQSObservableQueue.java index 8ff19a0617..a65cff1d90 100644 --- a/contribs/src/main/java/com/netflix/conductor/contribs/queue/sqs/SQSObservableQueue.java +++ b/awssqs-event-queue/src/main/java/com/netflix/conductor/sqs/eventqueue/SQSObservableQueue.java @@ -1,5 +1,5 @@ /* - * Copyright 2020 Netflix, Inc. + * Copyright 2022 Netflix, Inc. *
* 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
@@ -10,7 +10,7 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package com.netflix.conductor.contribs.queue.sqs;
+package com.netflix.conductor.sqs.eventqueue;
import java.util.ArrayList;
import java.util.Collections;
@@ -52,7 +52,6 @@
import com.amazonaws.services.sqs.model.SendMessageBatchRequestEntry;
import com.amazonaws.services.sqs.model.SendMessageBatchResult;
import com.amazonaws.services.sqs.model.SetQueueAttributesResult;
-import com.google.common.annotations.VisibleForTesting;
import rx.Observable;
import rx.Observable.OnSubscribe;
import rx.Scheduler;
@@ -238,7 +237,6 @@ public SQSObservableQueue build() {
}
// Private methods
- @VisibleForTesting
String getOrCreateQueue() {
List
* 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
@@ -10,7 +10,7 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package com.netflix.conductor.contribs.queue.sqs;
+package com.netflix.conductor.sqs.eventqueue;
import java.util.HashMap;
import java.util.LinkedList;
@@ -29,12 +29,14 @@
import com.netflix.conductor.common.config.TestObjectMapperConfiguration;
import com.netflix.conductor.common.metadata.tasks.Task;
-import com.netflix.conductor.common.metadata.tasks.Task.Status;
-import com.netflix.conductor.common.run.Workflow;
+import com.netflix.conductor.common.metadata.tasks.TaskResult;
import com.netflix.conductor.core.events.queue.DefaultEventQueueProcessor;
import com.netflix.conductor.core.events.queue.Message;
import com.netflix.conductor.core.events.queue.ObservableQueue;
-import com.netflix.conductor.service.ExecutionService;
+import com.netflix.conductor.core.execution.WorkflowExecutor;
+import com.netflix.conductor.model.TaskModel;
+import com.netflix.conductor.model.TaskModel.Status;
+import com.netflix.conductor.model.WorkflowModel;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.util.concurrent.Uninterruptibles;
@@ -43,13 +45,8 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.*;
@SuppressWarnings("unchecked")
@ContextConfiguration(classes = {TestObjectMapperConfiguration.class})
@@ -57,20 +54,21 @@
public class DefaultEventQueueProcessorTest {
private static SQSObservableQueue queue;
- private static ExecutionService executionService;
+ private static WorkflowExecutor workflowExecutor;
private DefaultEventQueueProcessor defaultEventQueueProcessor;
@Autowired private ObjectMapper objectMapper;
private static final List
* 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
@@ -10,7 +10,7 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package com.netflix.conductor.contribs.queue.sqs;
+package com.netflix.conductor.sqs.eventqueue;
import java.util.Collections;
import java.util.LinkedList;
diff --git a/azureblob-storage/build.gradle b/azureblob-storage/build.gradle
deleted file mode 100644
index 3b85566a1c..0000000000
--- a/azureblob-storage/build.gradle
+++ /dev/null
@@ -1,8 +0,0 @@
-dependencies {
- implementation project(':conductor-common')
- implementation project(':conductor-core')
- compileOnly 'org.springframework.boot:spring-boot-starter'
-
- implementation "com.azure:azure-storage-blob:${revAzureStorageBlobSdk}"
- implementation "org.apache.commons:commons-lang3"
-}
diff --git a/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/config/AzureBlobConfiguration.java b/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/config/AzureBlobConfiguration.java
deleted file mode 100644
index b36d299728..0000000000
--- a/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/config/AzureBlobConfiguration.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2020 Netflix, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package com.netflix.conductor.azureblob.config;
-
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import com.netflix.conductor.azureblob.storage.AzureBlobPayloadStorage;
-import com.netflix.conductor.common.utils.ExternalPayloadStorage;
-
-@Configuration(proxyBeanMethods = false)
-@EnableConfigurationProperties(AzureBlobProperties.class)
-@ConditionalOnProperty(name = "conductor.external-payload-storage.type", havingValue = "azureblob")
-public class AzureBlobConfiguration {
-
- @Bean
- public ExternalPayloadStorage azureBlobExternalPayloadStorage(AzureBlobProperties properties) {
- return new AzureBlobPayloadStorage(properties);
- }
-}
diff --git a/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/config/AzureBlobProperties.java b/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/config/AzureBlobProperties.java
deleted file mode 100644
index 9a1f4fbf96..0000000000
--- a/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/config/AzureBlobProperties.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2020 Netflix, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package com.netflix.conductor.azureblob.config;
-
-import java.time.Duration;
-import java.time.temporal.ChronoUnit;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.convert.DurationUnit;
-
-@ConfigurationProperties("conductor.external-payload-storage.azureblob")
-public class AzureBlobProperties {
-
- /** The connection string to be used to connect to Azure Blob storage */
- private String connectionString = null;
-
- /** The name of the container where the payloads will be stored */
- private String containerName = "conductor-payloads";
-
- /** The endpoint to be used to connect to Azure Blob storage */
- private String endpoint = null;
-
- /** The sas token to be used for authenticating requests */
- private String sasToken = null;
-
- /** The time for which the shared access signature is valid */
- @DurationUnit(ChronoUnit.SECONDS)
- private Duration signedUrlExpirationDuration = Duration.ofSeconds(5);
-
- /** The path at which the workflow inputs will be stored */
- private String workflowInputPath = "workflow/input/";
-
- /** The path at which the workflow outputs will be stored */
- private String workflowOutputPath = "workflow/output/";
-
- /** The path at which the task inputs will be stored */
- private String taskInputPath = "task/input/";
-
- /** The path at which the task outputs will be stored */
- private String taskOutputPath = "task/output/";
-
- public String getConnectionString() {
- return connectionString;
- }
-
- public void setConnectionString(String connectionString) {
- this.connectionString = connectionString;
- }
-
- public String getContainerName() {
- return containerName;
- }
-
- public void setContainerName(String containerName) {
- this.containerName = containerName;
- }
-
- public String getEndpoint() {
- return endpoint;
- }
-
- public void setEndpoint(String endpoint) {
- this.endpoint = endpoint;
- }
-
- public String getSasToken() {
- return sasToken;
- }
-
- public void setSasToken(String sasToken) {
- this.sasToken = sasToken;
- }
-
- public Duration getSignedUrlExpirationDuration() {
- return signedUrlExpirationDuration;
- }
-
- public void setSignedUrlExpirationDuration(Duration signedUrlExpirationDuration) {
- this.signedUrlExpirationDuration = signedUrlExpirationDuration;
- }
-
- public String getWorkflowInputPath() {
- return workflowInputPath;
- }
-
- public void setWorkflowInputPath(String workflowInputPath) {
- this.workflowInputPath = workflowInputPath;
- }
-
- public String getWorkflowOutputPath() {
- return workflowOutputPath;
- }
-
- public void setWorkflowOutputPath(String workflowOutputPath) {
- this.workflowOutputPath = workflowOutputPath;
- }
-
- public String getTaskInputPath() {
- return taskInputPath;
- }
-
- public void setTaskInputPath(String taskInputPath) {
- this.taskInputPath = taskInputPath;
- }
-
- public String getTaskOutputPath() {
- return taskOutputPath;
- }
-
- public void setTaskOutputPath(String taskOutputPath) {
- this.taskOutputPath = taskOutputPath;
- }
-}
diff --git a/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/storage/AzureBlobPayloadStorage.java b/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/storage/AzureBlobPayloadStorage.java
deleted file mode 100644
index ea9e1aeb42..0000000000
--- a/azureblob-storage/src/main/java/com/netflix/conductor/azureblob/storage/AzureBlobPayloadStorage.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright 2020 Netflix, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package com.netflix.conductor.azureblob.storage;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.io.UncheckedIOException;
-import java.time.OffsetDateTime;
-import java.time.ZoneOffset;
-
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.netflix.conductor.azureblob.config.AzureBlobProperties;
-import com.netflix.conductor.common.run.ExternalStorageLocation;
-import com.netflix.conductor.common.utils.ExternalPayloadStorage;
-import com.netflix.conductor.core.exception.ApplicationException;
-import com.netflix.conductor.core.utils.IDGenerator;
-
-import com.azure.core.exception.UnexpectedLengthException;
-import com.azure.core.util.Context;
-import com.azure.storage.blob.BlobContainerClient;
-import com.azure.storage.blob.BlobContainerClientBuilder;
-import com.azure.storage.blob.models.BlobHttpHeaders;
-import com.azure.storage.blob.models.BlobStorageException;
-import com.azure.storage.blob.sas.BlobSasPermission;
-import com.azure.storage.blob.sas.BlobServiceSasSignatureValues;
-import com.azure.storage.blob.specialized.BlockBlobClient;
-import com.azure.storage.common.Utility;
-import com.azure.storage.common.implementation.credentials.SasTokenCredential;
-
-/**
- * An implementation of {@link ExternalPayloadStorage} using Azure Blob for storing large JSON
- * payload data.
- *
- * @see Azure Java SDK
- */
-public class AzureBlobPayloadStorage implements ExternalPayloadStorage {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(AzureBlobPayloadStorage.class);
- private static final String CONTENT_TYPE = "application/json";
-
- private final String workflowInputPath;
- private final String workflowOutputPath;
- private final String taskInputPath;
- private final String taskOutputPath;
-
- private final BlobContainerClient blobContainerClient;
- private final long expirationSec;
- private final SasTokenCredential sasTokenCredential;
-
- public AzureBlobPayloadStorage(AzureBlobProperties properties) {
- workflowInputPath = properties.getWorkflowInputPath();
- workflowOutputPath = properties.getWorkflowOutputPath();
- taskInputPath = properties.getTaskInputPath();
- taskOutputPath = properties.getTaskOutputPath();
- expirationSec = properties.getSignedUrlExpirationDuration().getSeconds();
- String connectionString = properties.getConnectionString();
- String containerName = properties.getContainerName();
- String endpoint = properties.getEndpoint();
- String sasToken = properties.getSasToken();
-
- BlobContainerClientBuilder blobContainerClientBuilder = new BlobContainerClientBuilder();
- if (connectionString != null) {
- blobContainerClientBuilder.connectionString(connectionString);
- sasTokenCredential = null;
- } else if (endpoint != null) {
- blobContainerClientBuilder.endpoint(endpoint);
- if (sasToken != null) {
- sasTokenCredential = SasTokenCredential.fromSasTokenString(sasToken);
- blobContainerClientBuilder.sasToken(sasTokenCredential.getSasToken());
- } else {
- sasTokenCredential = null;
- }
- } else {
- String msg = "Missing property for connectionString OR endpoint";
- LOGGER.error(msg);
- throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg);
- }
- blobContainerClient = blobContainerClientBuilder.containerName(containerName).buildClient();
- }
-
- /**
- * @param operation the type of {@link Operation} to be performed
- * @param payloadType the {@link PayloadType} that is being accessed
- * @return a {@link ExternalStorageLocation} object which contains the pre-signed URL and the
- * azure blob name for the json payload
- */
- @Override
- public ExternalStorageLocation getLocation(
- Operation operation, PayloadType payloadType, String path) {
- try {
- ExternalStorageLocation externalStorageLocation = new ExternalStorageLocation();
-
- String objectKey;
- if (StringUtils.isNotBlank(path)) {
- objectKey = path;
- } else {
- objectKey = getObjectKey(payloadType);
- }
- externalStorageLocation.setPath(objectKey);
-
- BlockBlobClient blockBlobClient =
- blobContainerClient.getBlobClient(objectKey).getBlockBlobClient();
- String blobUrl = Utility.urlDecode(blockBlobClient.getBlobUrl());
-
- if (sasTokenCredential != null) {
- blobUrl = blobUrl + "?" + sasTokenCredential.getSasToken();
- } else {
- BlobSasPermission blobSASPermission = new BlobSasPermission();
- if (operation.equals(Operation.READ)) {
- blobSASPermission.setReadPermission(true);
- } else if (operation.equals(Operation.WRITE)) {
- blobSASPermission.setWritePermission(true);
- blobSASPermission.setCreatePermission(true);
- }
- BlobServiceSasSignatureValues blobServiceSasSignatureValues =
- new BlobServiceSasSignatureValues(
- OffsetDateTime.now(ZoneOffset.UTC).plusSeconds(expirationSec),
- blobSASPermission);
- blobUrl =
- blobUrl + "?" + blockBlobClient.generateSas(blobServiceSasSignatureValues);
- }
-
- externalStorageLocation.setUri(blobUrl);
- return externalStorageLocation;
- } catch (BlobStorageException e) {
- String msg = "Error communicating with Azure";
- LOGGER.error(msg, e);
- throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e);
- }
- }
-
- /**
- * Uploads the payload to the given azure blob name. It is expected that the caller retrieves
- * the blob name using {@link #getLocation(Operation, PayloadType, String)} before making this
- * call.
- *
- * @param path the name of the blob to be uploaded
- * @param payload an {@link InputStream} containing the json payload which is to be uploaded
- * @param payloadSize the size of the json payload in bytes
- */
- @Override
- public void upload(String path, InputStream payload, long payloadSize) {
- try {
- BlockBlobClient blockBlobClient =
- blobContainerClient.getBlobClient(path).getBlockBlobClient();
- BlobHttpHeaders blobHttpHeaders = new BlobHttpHeaders().setContentType(CONTENT_TYPE);
- blockBlobClient.uploadWithResponse(
- payload,
- payloadSize,
- blobHttpHeaders,
- null,
- null,
- null,
- null,
- null,
- Context.NONE);
- } catch (BlobStorageException | UncheckedIOException | UnexpectedLengthException e) {
- String msg = "Error communicating with Azure";
- LOGGER.error(msg, e);
- throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e);
- }
- }
-
- /**
- * Downloads the payload stored in an azure blob.
- *
- * @param path the path of the blob
- * @return an input stream containing the contents of the object Caller is expected to close the
- * input stream.
- */
- @Override
- public InputStream download(String path) {
- try {
- BlockBlobClient blockBlobClient =
- blobContainerClient.getBlobClient(path).getBlockBlobClient();
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- // Avoid another call to the api to get the blob size
- // ByteArrayOutputStream outputStream = new
- // ByteArrayOutputStream(blockBlobClient.getProperties().value().blobSize());
- blockBlobClient.download(outputStream);
- return new ByteArrayInputStream(outputStream.toByteArray());
- } catch (BlobStorageException | UncheckedIOException | NullPointerException e) {
- String msg = "Error communicating with Azure";
- LOGGER.error(msg, e);
- throw new ApplicationException(ApplicationException.Code.BACKEND_ERROR, msg, e);
- }
- }
-
- /**
- * Build path on external storage. Copied from S3PayloadStorage.
- *
- * @param payloadType the {@link PayloadType} which will determine the base path of the object
- * @return External Storage path
- */
- private String getObjectKey(PayloadType payloadType) {
- StringBuilder stringBuilder = new StringBuilder();
- switch (payloadType) {
- case WORKFLOW_INPUT:
- stringBuilder.append(workflowInputPath);
- break;
- case WORKFLOW_OUTPUT:
- stringBuilder.append(workflowOutputPath);
- break;
- case TASK_INPUT:
- stringBuilder.append(taskInputPath);
- break;
- case TASK_OUTPUT:
- stringBuilder.append(taskOutputPath);
- break;
- }
- stringBuilder.append(IDGenerator.generate()).append(".json");
- return stringBuilder.toString();
- }
-}
diff --git a/azureblob-storage/src/test/java/com/netflix/conductor/azureblob/storage/AzureBlobPayloadStorageTest.java b/azureblob-storage/src/test/java/com/netflix/conductor/azureblob/storage/AzureBlobPayloadStorageTest.java
deleted file mode 100644
index 5ce1bb49cc..0000000000
--- a/azureblob-storage/src/test/java/com/netflix/conductor/azureblob/storage/AzureBlobPayloadStorageTest.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright 2020 Netflix, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package com.netflix.conductor.azureblob.storage;
-
-import java.time.Duration;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import com.netflix.conductor.azureblob.config.AzureBlobProperties;
-import com.netflix.conductor.common.run.ExternalStorageLocation;
-import com.netflix.conductor.common.utils.ExternalPayloadStorage;
-import com.netflix.conductor.core.exception.ApplicationException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class AzureBlobPayloadStorageTest {
-
- private AzureBlobProperties properties;
-
- @Before
- public void setUp() {
- properties = mock(AzureBlobProperties.class);
- when(properties.getConnectionString()).thenReturn(null);
- when(properties.getContainerName()).thenReturn("conductor-payloads");
- when(properties.getEndpoint()).thenReturn(null);
- when(properties.getSasToken()).thenReturn(null);
- when(properties.getSignedUrlExpirationDuration()).thenReturn(Duration.ofSeconds(5));
- when(properties.getWorkflowInputPath()).thenReturn("workflow/input/");
- when(properties.getWorkflowOutputPath()).thenReturn("workflow/output/");
- when(properties.getTaskInputPath()).thenReturn("task/input");
- when(properties.getTaskOutputPath()).thenReturn("task/output/");
- }
-
- /** Dummy credentials Azure SDK doesn't work with Azurite since it cleans parameters */
- private final String azuriteConnectionString =
- "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;EndpointSuffix=localhost";
-
- @Rule public ExpectedException expectedException = ExpectedException.none();
-
- @Test
- public void testNoStorageAccount() {
- expectedException.expect(ApplicationException.class);
- new AzureBlobPayloadStorage(properties);
- }
-
- @Test
- public void testUseConnectionString() {
- when(properties.getConnectionString()).thenReturn(azuriteConnectionString);
- new AzureBlobPayloadStorage(properties);
- }
-
- @Test
- public void testUseEndpoint() {
- String azuriteEndpoint = "http://127.0.0.1:10000/";
- when(properties.getEndpoint()).thenReturn(azuriteEndpoint);
- new AzureBlobPayloadStorage(properties);
- }
-
- @Test
- public void testGetLocationFixedPath() {
- when(properties.getConnectionString()).thenReturn(azuriteConnectionString);
- AzureBlobPayloadStorage azureBlobPayloadStorage = new AzureBlobPayloadStorage(properties);
- String path = "somewhere";
- ExternalStorageLocation externalStorageLocation =
- azureBlobPayloadStorage.getLocation(
- ExternalPayloadStorage.Operation.READ,
- ExternalPayloadStorage.PayloadType.WORKFLOW_INPUT,
- path);
- assertNotNull(externalStorageLocation);
- assertEquals(path, externalStorageLocation.getPath());
- assertNotNull(externalStorageLocation.getUri());
- }
-
- private void testGetLocation(
- AzureBlobPayloadStorage azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation operation,
- ExternalPayloadStorage.PayloadType payloadType,
- String expectedPath) {
- ExternalStorageLocation externalStorageLocation =
- azureBlobPayloadStorage.getLocation(operation, payloadType, null);
- assertNotNull(externalStorageLocation);
- assertNotNull(externalStorageLocation.getPath());
- assertTrue(externalStorageLocation.getPath().startsWith(expectedPath));
- assertNotNull(externalStorageLocation.getUri());
- assertTrue(externalStorageLocation.getUri().contains(expectedPath));
- }
-
- @Test
- public void testGetAllLocations() {
- when(properties.getConnectionString()).thenReturn(azuriteConnectionString);
- AzureBlobPayloadStorage azureBlobPayloadStorage = new AzureBlobPayloadStorage(properties);
-
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.READ,
- ExternalPayloadStorage.PayloadType.WORKFLOW_INPUT,
- properties.getWorkflowInputPath());
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.READ,
- ExternalPayloadStorage.PayloadType.WORKFLOW_OUTPUT,
- properties.getWorkflowOutputPath());
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.READ,
- ExternalPayloadStorage.PayloadType.TASK_INPUT,
- properties.getTaskInputPath());
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.READ,
- ExternalPayloadStorage.PayloadType.TASK_OUTPUT,
- properties.getTaskOutputPath());
-
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.WRITE,
- ExternalPayloadStorage.PayloadType.WORKFLOW_INPUT,
- properties.getWorkflowInputPath());
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.WRITE,
- ExternalPayloadStorage.PayloadType.WORKFLOW_OUTPUT,
- properties.getWorkflowOutputPath());
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.WRITE,
- ExternalPayloadStorage.PayloadType.TASK_INPUT,
- properties.getTaskInputPath());
- testGetLocation(
- azureBlobPayloadStorage,
- ExternalPayloadStorage.Operation.WRITE,
- ExternalPayloadStorage.PayloadType.TASK_OUTPUT,
- properties.getTaskOutputPath());
- }
-}
diff --git a/build.gradle b/build.gradle
index 6fb5ea22fb..3706a00044 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,3 +1,5 @@
+import org.springframework.boot.gradle.plugin.SpringBootPlugin
+
buildscript {
repositories {
mavenCentral()
@@ -6,20 +8,19 @@ buildscript {
}
}
dependencies {
- classpath 'com.netflix.nebula:gradle-extra-configurations-plugin:5.0.3'
- // revElasticSearch7 in dependencies.gradle needs to be updated when spring is upgraded
- classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.3.12.RELEASE'
- classpath 'com.diffplug.spotless:spotless-plugin-gradle:5.+'
+ classpath 'com.netflix.nebula:gradle-extra-configurations-plugin:7.0.0'
+ classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.7.3'
+ classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.+'
}
}
plugins {
- id 'io.spring.dependency-management' version '1.0.9.RELEASE'
+ id 'io.spring.dependency-management' version '1.0.13.RELEASE'
id 'java'
id 'application'
id 'jacoco'
- id 'nebula.netflixoss' version '9.2.2'
- id 'org.sonarqube' version '3.1.1'
+ id 'nebula.netflixoss' version '10.6.0'
+ id 'org.sonarqube' version '3.4.0.2513'
id 'com.github.kt3k.coveralls' version '2.8.2'
}
@@ -46,7 +47,8 @@ subprojects {
apply from: "$rootDir/dependencies.gradle"
// change the ES version used by Spring Boot Dependency Management plugin
-ext['elasticsearch.version'] = revElasticSearch7
+//ext['elasticsearch.version'] = revElasticSearch7
+apply from: "$rootDir/springboot-bom-overrides.gradle"
allprojects {
apply plugin: 'nebula.netflixoss'
@@ -73,12 +75,12 @@ allprojects {
}
}
- dependencies {
+ /* dependencies {
testCompile "junit:junit:${revJUnit}"
testCompile("org.mockito:mockito-core:${revMockito}") {
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
- }
+ } */
group = 'com.netflix.conductor'
@@ -115,40 +117,43 @@ allprojects {
dependencyManagement {
imports {
- mavenBom("org.springframework.boot:spring-boot-dependencies:2.3.12.RELEASE")
+ // dependency versions for the BOM can be found at https://docs.spring.io/spring-boot/docs/2.6.7/reference/htmlsingle/#appendix.dependency-versions
+ mavenBom(SpringBootPlugin.BOM_COORDINATES)
}
}
dependencies {
implementation('org.apache.logging.log4j:log4j-core') {
version {
- strictly '2.17.0'
+ strictly '2.17.1'
}
}
implementation('org.apache.logging.log4j:log4j-api') {
version {
- strictly '2.17.0'
+ strictly '2.17.1'
}
}
implementation('org.apache.logging.log4j:log4j-slf4j-impl') {
version {
- strictly '2.17.0'
+ strictly '2.17.1'
}
}
implementation('org.apache.logging.log4j:log4j-jul') {
version {
- strictly '2.17.0'
+ strictly '2.17.1'
}
}
implementation('org.apache.logging.log4j:log4j-web') {
version {
- strictly '2.17.0'
+ strictly '2.17.1'
}
}
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
testImplementation('org.springframework.boot:spring-boot-starter-test')
testImplementation('org.springframework.boot:spring-boot-starter-log4j2')
+ testImplementation 'junit:junit'
+ testImplementation "org.junit.vintage:junit-vintage-engine"
}
// processes additional configuration metadata json file as described here
@@ -160,11 +165,10 @@ allprojects {
testLogging {
events = ["SKIPPED", "FAILED"]
exceptionFormat = "full"
+ displayGranularity = 1
showStandardStreams = false
}
}
-
-
}
// all client and their related modules are published with Java 8 compatibility
@@ -178,9 +182,9 @@ allprojects {
jacocoTestReport {
reports {
- html.enabled = true
- xml.enabled = true
- csv.enabled = false
+ html.required = true
+ xml.required = true
+ csv.required = false
}
}
@@ -208,3 +212,14 @@ configure(allprojects - project(':conductor-grpc')) {
}
}
}
+
+['cassandra-persistence', 'core', 'redis-concurrency-limit', 'test-harness', 'client'].each {
+ configure(project(":conductor-$it")) {
+ spotless {
+ groovy {
+ importOrder('java', 'javax', 'org', 'com.netflix', '', '\\#com.netflix', '\\#')
+ licenseHeaderFile("$rootDir/licenseheader.txt")
+ }
+ }
+ }
+}
diff --git a/cassandra-persistence/dependencies.lock b/cassandra-persistence/dependencies.lock
index 979779956f..01ed384ad5 100644
--- a/cassandra-persistence/dependencies.lock
+++ b/cassandra-persistence/dependencies.lock
@@ -1,7 +1,7 @@
{
"annotationProcessor": {
"org.springframework.boot:spring-boot-configuration-processor": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
}
},
"compileClasspath": {
@@ -9,23 +9,31 @@
"locked": "3.10.2"
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind"
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind"
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind"
+ ]
+ },
"com.github.jnr:jffi": {
"locked": "1.2.16",
"transitive": [
@@ -70,52 +78,61 @@
"project": true
},
"io.dropwizard.metrics:metrics-core": {
- "locked": "4.1.22",
+ "locked": "4.2.10",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-buffer": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
"io.netty:netty-handler",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-codec": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler"
]
},
"io.netty:netty-common": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-handler",
"io.netty:netty-resolver",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-handler": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-resolver": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler",
"io.netty:netty-transport"
]
},
"io.netty:netty-transport": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
+ "io.netty:netty-handler",
+ "io.netty:netty-transport-native-unix-common"
+ ]
+ },
+ "io.netty:netty-transport-native-unix-common": {
+ "locked": "4.1.79.Final",
+ "transitive": [
"io.netty:netty-handler"
]
},
@@ -126,10 +143,10 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10"
+ "locked": "3.12.0"
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-core",
"org.apache.logging.log4j:log4j-jul",
@@ -138,19 +155,19 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-web"
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.ow2.asm:asm": {
"locked": "5.0.3",
@@ -187,13 +204,13 @@
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core",
"io.dropwizard.metrics:metrics-core",
@@ -202,48 +219,48 @@
]
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -254,19 +271,19 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
@@ -277,28 +294,50 @@
"locked": "3.10.2"
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.netflix.conductor:conductor-core"
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
+ "com.fasterxml.jackson.module:jackson-module-afterburner": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-common"
+ ]
+ },
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind"
+ ]
+ },
+ "com.github.ben-manes.caffeine:caffeine": {
+ "locked": "2.9.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-core"
+ ]
+ },
"com.github.jnr:jffi": {
"locked": "1.2.16",
"transitive": [
@@ -330,49 +369,16 @@
"com.github.jnr:jnr-ffi"
]
},
- "com.github.rholder:guava-retrying": {
- "locked": "2.0.0",
- "transitive": [
- "com.netflix.conductor:conductor-common"
- ]
- },
- "com.google.code.findbugs:jsr305": {
- "locked": "3.0.2",
- "transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.guava:guava"
- ]
- },
"com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
+ "locked": "2.10.0",
"transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
+ "com.github.ben-manes.caffeine:caffeine"
]
},
"com.google.guava:guava": {
- "locked": "30.0-jre",
- "transitive": [
- "com.datastax.cassandra:cassandra-driver-core",
- "com.github.rholder:guava-retrying",
- "com.netflix.conductor:conductor-core"
- ]
- },
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
+ "locked": "19.0",
"transitive": [
- "com.google.guava:guava"
+ "com.datastax.cassandra:cassandra-driver-core"
]
},
"com.google.protobuf:protobuf-java": {
@@ -383,7 +389,7 @@
]
},
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"com.netflix.conductor:conductor-core"
]
@@ -422,52 +428,61 @@
]
},
"io.dropwizard.metrics:metrics-core": {
- "locked": "4.1.22",
+ "locked": "4.2.10",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-buffer": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
"io.netty:netty-handler",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-codec": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler"
]
},
"io.netty:netty-common": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-handler",
"io.netty:netty-resolver",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-handler": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-resolver": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler",
"io.netty:netty-transport"
]
},
"io.netty:netty-transport": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
+ "io.netty:netty-handler",
+ "io.netty:netty-transport-native-unix-common"
+ ]
+ },
+ "io.netty:netty-transport-native-unix-common": {
+ "locked": "4.1.79.Final",
+ "transitive": [
"io.netty:netty-handler"
]
},
@@ -491,13 +506,13 @@
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
@@ -510,14 +525,14 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10",
+ "locked": "3.12.0",
"transitive": [
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -529,7 +544,7 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -539,7 +554,7 @@
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -547,7 +562,7 @@
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -555,7 +570,7 @@
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -563,13 +578,13 @@
]
},
"org.checkerframework:checker-qual": {
- "locked": "3.5.0",
+ "locked": "3.19.0",
"transitive": [
- "com.google.guava:guava"
+ "com.github.ben-manes.caffeine:caffeine"
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"com.github.jnr:jnr-ffi",
"net.minidev:accessors-smart",
@@ -604,7 +619,7 @@
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core",
"com.jayway.jsonpath:json-path",
@@ -622,24 +637,32 @@
]
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.github.docker-java:docker-java-api"
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind"
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind"
+ ]
+ },
"com.github.docker-java:docker-java-api": {
"locked": "3.2.8",
"transitive": [
@@ -699,7 +722,7 @@
"locked": "3.13.0"
},
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -735,52 +758,61 @@
]
},
"io.dropwizard.metrics:metrics-core": {
- "locked": "4.1.22",
+ "locked": "4.2.10",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-buffer": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
"io.netty:netty-handler",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-codec": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler"
]
},
"io.netty:netty-common": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-handler",
"io.netty:netty-resolver",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-handler": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-resolver": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler",
"io.netty:netty-transport"
]
},
"io.netty:netty-transport": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
+ "io.netty:netty-handler",
+ "io.netty:netty-transport-native-unix-common"
+ ]
+ },
+ "io.netty:netty-transport-native-unix-common": {
+ "locked": "4.1.79.Final",
+ "transitive": [
"io.netty:netty-handler"
]
},
@@ -818,13 +850,13 @@
]
},
"net.bytebuddy:byte-buddy": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
},
"net.bytebuddy:byte-buddy-agent": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
@@ -837,13 +869,13 @@
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
@@ -867,10 +899,10 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10"
+ "locked": "3.12.0"
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-core",
"org.apache.logging.log4j:log4j-jul",
@@ -879,29 +911,29 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-web",
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apiguardian:apiguardian-api": {
- "locked": "1.1.0",
+ "locked": "1.1.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.jupiter:junit-jupiter-params",
@@ -911,13 +943,13 @@
]
},
"org.assertj:assertj-core": {
- "locked": "3.16.1",
+ "locked": "3.22.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.codehaus.groovy:groovy": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-ant",
@@ -949,19 +981,19 @@
"locked": "2.5.13"
},
"org.codehaus.groovy:groovy-ant": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-cli-commons": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-cli-picocli": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-console",
@@ -971,45 +1003,45 @@
]
},
"org.codehaus.groovy:groovy-console": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-groovysh"
]
},
"org.codehaus.groovy:groovy-datetime": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-docgenerator": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-groovydoc": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-ant"
]
},
"org.codehaus.groovy:groovy-groovysh": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-jmx": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-json": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1017,13 +1049,13 @@
]
},
"org.codehaus.groovy:groovy-jsr223": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-macro": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1031,7 +1063,7 @@
]
},
"org.codehaus.groovy:groovy-nio": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1039,13 +1071,13 @@
]
},
"org.codehaus.groovy:groovy-servlet": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-sql": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1053,14 +1085,14 @@
]
},
"org.codehaus.groovy:groovy-swing": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-console"
]
},
"org.codehaus.groovy:groovy-templates": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-console",
@@ -1072,7 +1104,7 @@
]
},
"org.codehaus.groovy:groovy-test": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1080,19 +1112,19 @@
]
},
"org.codehaus.groovy:groovy-test-junit5": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-testng": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-xml": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-servlet",
@@ -1115,13 +1147,13 @@
]
},
"org.junit.jupiter:junit-jupiter": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.junit.jupiter:junit-jupiter-api": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.codehaus.groovy:groovy-test-junit5",
"org.junit.jupiter:junit-jupiter",
@@ -1129,39 +1161,36 @@
]
},
"org.junit.jupiter:junit-jupiter-params": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.platform:junit-platform-commons": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.platform:junit-platform-engine"
]
},
"org.junit.platform:junit-platform-engine": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.platform:junit-platform-launcher",
"org.junit.vintage:junit-vintage-engine"
]
},
"org.junit.platform:junit-platform-launcher": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.codehaus.groovy:groovy-test-junit5"
]
},
"org.junit.vintage:junit-vintage-engine": {
- "locked": "5.6.3",
- "transitive": [
- "org.springframework.boot:spring-boot-starter-test"
- ]
+ "locked": "5.8.2"
},
"org.junit:junit-bom": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-api",
@@ -1173,24 +1202,18 @@
]
},
"org.mockito:mockito-core": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.mockito:mockito-junit-jupiter",
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.mockito:mockito-junit-jupiter": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
- "org.objenesis:objenesis": {
- "locked": "2.6",
- "transitive": [
- "org.mockito:mockito-core"
- ]
- },
"org.opentest4j:opentest4j": {
"locked": "1.2.0",
"transitive": [
@@ -1199,7 +1222,7 @@
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"com.github.jnr:jnr-ffi",
"net.minidev:accessors-smart",
@@ -1246,20 +1269,20 @@
]
},
"org.skyscreamer:jsonassert": {
- "locked": "1.5.0",
+ "locked": "1.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2",
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core",
"com.github.docker-java:docker-java-api",
@@ -1282,7 +1305,7 @@
"locked": "1.3-groovy-2.5"
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter",
@@ -1291,64 +1314,64 @@
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework.boot:spring-boot-starter-log4j2": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter-test": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-test": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-test-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -1361,19 +1384,19 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.springframework:spring-test": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -1398,13 +1421,13 @@
]
},
"org.xmlunit:xmlunit-core": {
- "locked": "2.7.0",
+ "locked": "2.9.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
@@ -1424,7 +1447,7 @@
]
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.github.docker-java:docker-java-api",
@@ -1432,21 +1455,43 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
+ "com.fasterxml.jackson.module:jackson-module-afterburner": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-common"
+ ]
+ },
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind"
+ ]
+ },
+ "com.github.ben-manes.caffeine:caffeine": {
+ "locked": "2.9.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-core"
+ ]
+ },
"com.github.docker-java:docker-java-api": {
"locked": "3.2.8",
"transitive": [
@@ -1496,49 +1541,16 @@
"com.github.jnr:jnr-ffi"
]
},
- "com.github.rholder:guava-retrying": {
- "locked": "2.0.0",
- "transitive": [
- "com.netflix.conductor:conductor-common"
- ]
- },
- "com.google.code.findbugs:jsr305": {
- "locked": "3.0.2",
- "transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.guava:guava"
- ]
- },
"com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
+ "locked": "2.10.0",
"transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
+ "com.github.ben-manes.caffeine:caffeine"
]
},
"com.google.guava:guava": {
- "locked": "30.0-jre",
- "transitive": [
- "com.datastax.cassandra:cassandra-driver-core",
- "com.github.rholder:guava-retrying",
- "com.netflix.conductor:conductor-core"
- ]
- },
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
+ "locked": "19.0",
"transitive": [
- "com.google.guava:guava"
+ "com.datastax.cassandra:cassandra-driver-core"
]
},
"com.google.protobuf:protobuf-java": {
@@ -1549,7 +1561,7 @@
]
},
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"com.netflix.conductor:conductor-core",
"org.springframework.boot:spring-boot-starter-test"
@@ -1613,52 +1625,61 @@
]
},
"io.dropwizard.metrics:metrics-core": {
- "locked": "4.1.22",
+ "locked": "4.2.10",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-buffer": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
"io.netty:netty-handler",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-codec": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler"
]
},
"io.netty:netty-common": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-buffer",
"io.netty:netty-codec",
"io.netty:netty-handler",
"io.netty:netty-resolver",
- "io.netty:netty-transport"
+ "io.netty:netty-transport",
+ "io.netty:netty-transport-native-unix-common"
]
},
"io.netty:netty-handler": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core"
]
},
"io.netty:netty-resolver": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-handler",
"io.netty:netty-transport"
]
},
"io.netty:netty-transport": {
- "locked": "4.1.65.Final",
+ "locked": "4.1.79.Final",
"transitive": [
"io.netty:netty-codec",
+ "io.netty:netty-handler",
+ "io.netty:netty-transport-native-unix-common"
+ ]
+ },
+ "io.netty:netty-transport-native-unix-common": {
+ "locked": "4.1.79.Final",
+ "transitive": [
"io.netty:netty-handler"
]
},
@@ -1704,13 +1725,13 @@
]
},
"net.bytebuddy:byte-buddy": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
},
"net.bytebuddy:byte-buddy-agent": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
@@ -1723,13 +1744,13 @@
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
@@ -1774,14 +1795,14 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10",
+ "locked": "3.12.0",
"transitive": [
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1793,7 +1814,7 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1804,7 +1825,7 @@
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1813,7 +1834,7 @@
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1822,38 +1843,27 @@
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
"com.netflix.conductor:conductor-core"
]
},
- "org.apiguardian:apiguardian-api": {
- "locked": "1.1.0",
- "transitive": [
- "org.junit.jupiter:junit-jupiter-api",
- "org.junit.jupiter:junit-jupiter-engine",
- "org.junit.jupiter:junit-jupiter-params",
- "org.junit.platform:junit-platform-commons",
- "org.junit.platform:junit-platform-engine",
- "org.junit.vintage:junit-vintage-engine"
- ]
- },
"org.assertj:assertj-core": {
- "locked": "3.16.1",
+ "locked": "3.22.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.checkerframework:checker-qual": {
- "locked": "3.5.0",
+ "locked": "3.19.0",
"transitive": [
- "com.google.guava:guava"
+ "com.github.ben-manes.caffeine:caffeine"
]
},
"org.codehaus.groovy:groovy": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-ant",
@@ -1885,19 +1895,19 @@
"locked": "2.5.13"
},
"org.codehaus.groovy:groovy-ant": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-cli-commons": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-cli-picocli": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-console",
@@ -1907,46 +1917,46 @@
]
},
"org.codehaus.groovy:groovy-console": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-groovysh"
]
},
"org.codehaus.groovy:groovy-datetime": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-docgenerator": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-groovydoc"
]
},
"org.codehaus.groovy:groovy-groovydoc": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-ant"
]
},
"org.codehaus.groovy:groovy-groovysh": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-jmx": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-json": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1954,13 +1964,13 @@
]
},
"org.codehaus.groovy:groovy-jsr223": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-macro": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1968,7 +1978,7 @@
]
},
"org.codehaus.groovy:groovy-nio": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1976,13 +1986,13 @@
]
},
"org.codehaus.groovy:groovy-servlet": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-sql": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -1990,14 +2000,14 @@
]
},
"org.codehaus.groovy:groovy-swing": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-console"
]
},
"org.codehaus.groovy:groovy-templates": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-console",
@@ -2009,7 +2019,7 @@
]
},
"org.codehaus.groovy:groovy-test": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.spockframework:spock-core",
@@ -2017,19 +2027,19 @@
]
},
"org.codehaus.groovy:groovy-test-junit5": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-testng": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all"
]
},
"org.codehaus.groovy:groovy-xml": {
- "locked": "2.5.14",
+ "locked": "2.5.13",
"transitive": [
"org.codehaus.groovy:groovy-all",
"org.codehaus.groovy:groovy-servlet",
@@ -2052,13 +2062,13 @@
]
},
"org.junit.jupiter:junit-jupiter": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.junit.jupiter:junit-jupiter-api": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.codehaus.groovy:groovy-test-junit5",
"org.junit.jupiter:junit-jupiter",
@@ -2068,27 +2078,27 @@
]
},
"org.junit.jupiter:junit-jupiter-engine": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.codehaus.groovy:groovy-test-junit5",
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.jupiter:junit-jupiter-params": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.platform:junit-platform-commons": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.platform:junit-platform-engine"
]
},
"org.junit.platform:junit-platform-engine": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-engine",
"org.junit.platform:junit-platform-launcher",
@@ -2096,19 +2106,16 @@
]
},
"org.junit.platform:junit-platform-launcher": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.codehaus.groovy:groovy-test-junit5"
]
},
"org.junit.vintage:junit-vintage-engine": {
- "locked": "5.6.3",
- "transitive": [
- "org.springframework.boot:spring-boot-starter-test"
- ]
+ "locked": "5.8.2"
},
"org.junit:junit-bom": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-api",
@@ -2121,20 +2128,20 @@
]
},
"org.mockito:mockito-core": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.mockito:mockito-junit-jupiter",
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.mockito:mockito-junit-jupiter": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.objenesis:objenesis": {
- "locked": "2.6",
+ "locked": "3.2",
"transitive": [
"org.mockito:mockito-core"
]
@@ -2147,7 +2154,7 @@
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"com.github.jnr:jnr-ffi",
"net.minidev:accessors-smart",
@@ -2194,20 +2201,20 @@
]
},
"org.skyscreamer:jsonassert": {
- "locked": "1.5.0",
+ "locked": "1.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2",
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.datastax.cassandra:cassandra-driver-core",
"com.github.docker-java:docker-java-api",
@@ -2231,7 +2238,7 @@
"locked": "1.3-groovy-2.5"
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter",
@@ -2240,64 +2247,64 @@
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework.boot:spring-boot-starter-log4j2": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter-test": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-test": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-test-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -2310,19 +2317,19 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.springframework:spring-test": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -2353,13 +2360,13 @@
]
},
"org.xmlunit:xmlunit-core": {
- "locked": "2.7.0",
+ "locked": "2.9.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
diff --git a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraConfiguration.java b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraConfiguration.java
index 352e5cfec1..14c3c022b1 100644
--- a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraConfiguration.java
+++ b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 Netflix, Inc.
+ * Copyright 2022 Netflix, Inc.
*
* 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
@@ -16,9 +16,12 @@
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import com.netflix.conductor.cassandra.config.cache.CacheableEventHandlerDAO;
+import com.netflix.conductor.cassandra.config.cache.CacheableMetadataDAO;
import com.netflix.conductor.cassandra.dao.CassandraEventHandlerDAO;
import com.netflix.conductor.cassandra.dao.CassandraExecutionDAO;
import com.netflix.conductor.cassandra.dao.CassandraMetadataDAO;
@@ -73,8 +76,11 @@ public MetadataDAO cassandraMetadataDAO(
Session session,
ObjectMapper objectMapper,
CassandraProperties properties,
- Statements statements) {
- return new CassandraMetadataDAO(session, objectMapper, properties, statements);
+ Statements statements,
+ CacheManager cacheManager) {
+ CassandraMetadataDAO cassandraMetadataDAO =
+ new CassandraMetadataDAO(session, objectMapper, properties, statements);
+ return new CacheableMetadataDAO(cassandraMetadataDAO, properties, cacheManager);
}
@Bean
@@ -91,8 +97,11 @@ public EventHandlerDAO cassandraEventHandlerDAO(
Session session,
ObjectMapper objectMapper,
CassandraProperties properties,
- Statements statements) {
- return new CassandraEventHandlerDAO(session, objectMapper, properties, statements);
+ Statements statements,
+ CacheManager cacheManager) {
+ CassandraEventHandlerDAO cassandraEventHandlerDAO =
+ new CassandraEventHandlerDAO(session, objectMapper, properties, statements);
+ return new CacheableEventHandlerDAO(cassandraEventHandlerDAO, properties, cacheManager);
}
@Bean
diff --git a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraProperties.java b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraProperties.java
index 19286cad45..28d3eee972 100644
--- a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraProperties.java
+++ b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/CassandraProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2021 Netflix, Inc.
+ * Copyright 2022 Netflix, Inc.
*
* 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
diff --git a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/cache/CacheableEventHandlerDAO.java b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/cache/CacheableEventHandlerDAO.java
new file mode 100644
index 0000000000..6f4b8bee1e
--- /dev/null
+++ b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/config/cache/CacheableEventHandlerDAO.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2022 Netflix, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package com.netflix.conductor.cassandra.config.cache;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cache.Cache;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.CachePut;
+
+import com.netflix.conductor.annotations.Trace;
+import com.netflix.conductor.cassandra.config.CassandraProperties;
+import com.netflix.conductor.cassandra.dao.CassandraEventHandlerDAO;
+import com.netflix.conductor.common.metadata.events.EventHandler;
+import com.netflix.conductor.dao.EventHandlerDAO;
+import com.netflix.conductor.metrics.Monitors;
+
+import static com.netflix.conductor.cassandra.config.cache.CachingConfig.EVENT_HANDLER_CACHE;
+
+@Trace
+public class CacheableEventHandlerDAO implements EventHandlerDAO {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(CacheableEventHandlerDAO.class);
+
+ private static final String CLASS_NAME = CacheableEventHandlerDAO.class.getSimpleName();
+
+ private final CassandraEventHandlerDAO cassandraEventHandlerDAO;
+ private final CassandraProperties properties;
+
+ private final CacheManager cacheManager;
+
+ public CacheableEventHandlerDAO(
+ CassandraEventHandlerDAO cassandraEventHandlerDAO,
+ CassandraProperties properties,
+ CacheManager cacheManager) {
+ this.cassandraEventHandlerDAO = cassandraEventHandlerDAO;
+ this.properties = properties;
+ this.cacheManager = cacheManager;
+ }
+
+ @PostConstruct
+ public void scheduleEventHandlerRefresh() {
+ long cacheRefreshTime = properties.getEventHandlerCacheRefreshInterval().getSeconds();
+ Executors.newSingleThreadScheduledExecutor()
+ .scheduleWithFixedDelay(
+ this::refreshEventHandlersCache, 0, cacheRefreshTime, TimeUnit.SECONDS);
+ }
+
+ @Override
+ @CachePut(value = EVENT_HANDLER_CACHE, key = "#eventHandler.name")
+ public void addEventHandler(EventHandler eventHandler) {
+ cassandraEventHandlerDAO.addEventHandler(eventHandler);
+ }
+
+ @Override
+ @CachePut(value = EVENT_HANDLER_CACHE, key = "#eventHandler.name")
+ public void updateEventHandler(EventHandler eventHandler) {
+ cassandraEventHandlerDAO.updateEventHandler(eventHandler);
+ }
+
+ @Override
+ @CacheEvict(EVENT_HANDLER_CACHE)
+ public void removeEventHandler(String name) {
+ cassandraEventHandlerDAO.removeEventHandler(name);
+ }
+
+ @Override
+ public List
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package com.netflix.conductor.cassandra.config.cache;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import javax.annotation.PostConstruct;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cache.Cache;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.CachePut;
+import org.springframework.cache.annotation.Cacheable;
+
+import com.netflix.conductor.annotations.Trace;
+import com.netflix.conductor.cassandra.config.CassandraProperties;
+import com.netflix.conductor.cassandra.dao.CassandraMetadataDAO;
+import com.netflix.conductor.common.metadata.tasks.TaskDef;
+import com.netflix.conductor.common.metadata.workflow.WorkflowDef;
+import com.netflix.conductor.dao.MetadataDAO;
+import com.netflix.conductor.metrics.Monitors;
+
+import static com.netflix.conductor.cassandra.config.cache.CachingConfig.TASK_DEF_CACHE;
+
+@Trace
+public class CacheableMetadataDAO implements MetadataDAO {
+
+ private static final String CLASS_NAME = CacheableMetadataDAO.class.getSimpleName();
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(CacheableMetadataDAO.class);
+
+ private final CassandraMetadataDAO cassandraMetadataDAO;
+ private final CassandraProperties properties;
+
+ private final CacheManager cacheManager;
+
+ public CacheableMetadataDAO(
+ CassandraMetadataDAO cassandraMetadataDAO,
+ CassandraProperties properties,
+ CacheManager cacheManager) {
+ this.cassandraMetadataDAO = cassandraMetadataDAO;
+ this.properties = properties;
+ this.cacheManager = cacheManager;
+ }
+
+ @PostConstruct
+ public void scheduleCacheRefresh() {
+ long cacheRefreshTime = properties.getTaskDefCacheRefreshInterval().getSeconds();
+ Executors.newSingleThreadScheduledExecutor()
+ .scheduleWithFixedDelay(
+ this::refreshTaskDefsCache, 0, cacheRefreshTime, TimeUnit.SECONDS);
+ LOGGER.info(
+ "Scheduled cache refresh for Task Definitions, every {} seconds", cacheRefreshTime);
+ }
+
+ @Override
+ @CachePut(value = TASK_DEF_CACHE, key = "#taskDef.name")
+ public TaskDef createTaskDef(TaskDef taskDef) {
+ cassandraMetadataDAO.createTaskDef(taskDef);
+ return taskDef;
+ }
+
+ @Override
+ @CachePut(value = TASK_DEF_CACHE, key = "#taskDef.name")
+ public TaskDef updateTaskDef(TaskDef taskDef) {
+ return cassandraMetadataDAO.updateTaskDef(taskDef);
+ }
+
+ @Override
+ @Cacheable(TASK_DEF_CACHE)
+ public TaskDef getTaskDef(String name) {
+ return cassandraMetadataDAO.getTaskDef(name);
+ }
+
+ @Override
+ public List
* 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
@@ -10,23 +10,22 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package com.netflix.conductor.contribs.queue.nats.config;
+package com.netflix.conductor.cassandra.config.cache;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-
-import com.netflix.conductor.core.events.EventQueueProvider;
-
-import rx.Scheduler;
@Configuration
-@ConditionalOnProperty(name = "conductor.event-queues.nats.enabled", havingValue = "true")
-public class NATSConfiguration {
+@EnableCaching
+public class CachingConfig {
+ public static final String TASK_DEF_CACHE = "taskDefCache";
+ public static final String EVENT_HANDLER_CACHE = "eventHandlerCache";
@Bean
- public EventQueueProvider natsEventQueueProvider(Environment environment, Scheduler scheduler) {
- return new NATSEventQueueProvider(environment, scheduler);
+ public CacheManager cacheManager() {
+ return new ConcurrentMapCacheManager(TASK_DEF_CACHE, EVENT_HANDLER_CACHE);
}
}
diff --git a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraBaseDAO.java b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraBaseDAO.java
index 70664c1694..b327c18fbb 100644
--- a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraBaseDAO.java
+++ b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraBaseDAO.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 Netflix, Inc.
+ * Copyright 2022 Netflix, Inc.
*
* 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
@@ -13,11 +13,13 @@
package com.netflix.conductor.cassandra.dao;
import java.io.IOException;
+import java.util.UUID;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.conductor.cassandra.config.CassandraProperties;
+import com.netflix.conductor.core.exception.NonTransientException;
import com.netflix.conductor.metrics.Monitors;
import com.datastax.driver.core.DataType;
@@ -110,6 +112,14 @@ public CassandraBaseDAO(
init();
}
+ protected static UUID toUUID(String uuidString, String message) {
+ try {
+ return UUID.fromString(uuidString);
+ } catch (IllegalArgumentException iae) {
+ throw new IllegalArgumentException(message + " " + uuidString, iae);
+ }
+ }
+
private void init() {
try {
if (!initialized) {
@@ -226,7 +236,7 @@ String toJson(Object value) {
try {
return objectMapper.writeValueAsString(value);
} catch (JsonProcessingException e) {
- throw new RuntimeException(e);
+ throw new NonTransientException("Error serializing to json", e);
}
}
@@ -234,7 +244,7 @@
* 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
@@ -12,13 +12,8 @@
*/
package com.netflix.conductor.cassandra.dao;
-import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.slf4j.Logger;
@@ -28,8 +23,7 @@
import com.netflix.conductor.cassandra.config.CassandraProperties;
import com.netflix.conductor.cassandra.util.Statements;
import com.netflix.conductor.common.metadata.events.EventHandler;
-import com.netflix.conductor.core.exception.ApplicationException;
-import com.netflix.conductor.core.exception.ApplicationException.Code;
+import com.netflix.conductor.core.exception.TransientException;
import com.netflix.conductor.dao.EventHandlerDAO;
import com.netflix.conductor.metrics.Monitors;
@@ -37,6 +31,7 @@
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
+import com.datastax.driver.core.exceptions.DriverException;
import com.fasterxml.jackson.databind.ObjectMapper;
import static com.netflix.conductor.cassandra.util.Constants.EVENT_HANDLER_KEY;
@@ -48,8 +43,6 @@ public class CassandraEventHandlerDAO extends CassandraBaseDAO implements EventH
private static final Logger LOGGER = LoggerFactory.getLogger(CassandraEventHandlerDAO.class);
private static final String CLASS_NAME = CassandraEventHandlerDAO.class.getSimpleName();
- private volatile Map
* 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
@@ -22,36 +22,23 @@
import com.netflix.conductor.cassandra.config.CassandraProperties;
import com.netflix.conductor.cassandra.util.Statements;
import com.netflix.conductor.common.metadata.events.EventExecution;
-import com.netflix.conductor.common.metadata.tasks.Task;
import com.netflix.conductor.common.metadata.tasks.TaskDef;
-import com.netflix.conductor.common.run.Workflow;
-import com.netflix.conductor.common.utils.RetryUtil;
-import com.netflix.conductor.core.exception.ApplicationException;
-import com.netflix.conductor.core.exception.ApplicationException.Code;
+import com.netflix.conductor.core.exception.NonTransientException;
+import com.netflix.conductor.core.exception.NotFoundException;
+import com.netflix.conductor.core.exception.TransientException;
import com.netflix.conductor.dao.ConcurrentExecutionLimitDAO;
import com.netflix.conductor.dao.ExecutionDAO;
import com.netflix.conductor.metrics.Monitors;
+import com.netflix.conductor.model.TaskModel;
+import com.netflix.conductor.model.WorkflowModel;
-import com.datastax.driver.core.BatchStatement;
-import com.datastax.driver.core.PreparedStatement;
-import com.datastax.driver.core.ResultSet;
-import com.datastax.driver.core.Row;
-import com.datastax.driver.core.Session;
+import com.datastax.driver.core.*;
+import com.datastax.driver.core.exceptions.DriverException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
-import static com.netflix.conductor.cassandra.util.Constants.DEFAULT_SHARD_ID;
-import static com.netflix.conductor.cassandra.util.Constants.DEFAULT_TOTAL_PARTITIONS;
-import static com.netflix.conductor.cassandra.util.Constants.ENTITY_KEY;
-import static com.netflix.conductor.cassandra.util.Constants.ENTITY_TYPE_TASK;
-import static com.netflix.conductor.cassandra.util.Constants.ENTITY_TYPE_WORKFLOW;
-import static com.netflix.conductor.cassandra.util.Constants.PAYLOAD_KEY;
-import static com.netflix.conductor.cassandra.util.Constants.TASK_ID_KEY;
-import static com.netflix.conductor.cassandra.util.Constants.TOTAL_PARTITIONS_KEY;
-import static com.netflix.conductor.cassandra.util.Constants.TOTAL_TASKS_KEY;
-import static com.netflix.conductor.cassandra.util.Constants.WORKFLOW_ID_KEY;
-import static com.netflix.conductor.common.metadata.tasks.Task.Status.IN_PROGRESS;
+import static com.netflix.conductor.cassandra.util.Constants.*;
@Trace
public class CassandraExecutionDAO extends CassandraBaseDAO
@@ -167,11 +154,11 @@ public CassandraExecutionDAO(
}
@Override
- public List
* 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
@@ -12,28 +12,25 @@
*/
package com.netflix.conductor.cassandra.dao;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
import java.util.Optional;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
+import org.apache.commons.lang3.tuple.ImmutablePair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.netflix.conductor.annotations.Trace;
+import com.netflix.conductor.annotations.VisibleForTesting;
import com.netflix.conductor.cassandra.config.CassandraProperties;
import com.netflix.conductor.cassandra.util.Statements;
import com.netflix.conductor.common.metadata.tasks.TaskDef;
import com.netflix.conductor.common.metadata.workflow.WorkflowDef;
-import com.netflix.conductor.core.exception.ApplicationException;
-import com.netflix.conductor.core.exception.ApplicationException.Code;
+import com.netflix.conductor.core.exception.ConflictException;
+import com.netflix.conductor.core.exception.TransientException;
import com.netflix.conductor.dao.MetadataDAO;
import com.netflix.conductor.metrics.Monitors;
@@ -41,8 +38,8 @@
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
+import com.datastax.driver.core.exceptions.DriverException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.annotations.VisibleForTesting;
import static com.netflix.conductor.cassandra.util.Constants.TASK_DEFINITION_KEY;
import static com.netflix.conductor.cassandra.util.Constants.TASK_DEFS_KEY;
@@ -57,8 +54,6 @@ public class CassandraMetadataDAO extends CassandraBaseDAO implements MetadataDA
private static final String CLASS_NAME = CassandraMetadataDAO.class.getSimpleName();
private static final String INDEX_DELIMITER = "/";
- private Map
* 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
diff --git a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/util/Statements.java b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/util/Statements.java
index 5c538c41e7..38eff7d841 100644
--- a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/util/Statements.java
+++ b/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/util/Statements.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 Netflix, Inc.
+ * Copyright 2022 Netflix, Inc.
*
* 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
@@ -289,7 +289,9 @@ public String getDeleteTaskDefStatement() {
// ExecutionDAO
// Insert Statements
- /** @return cql query statement to insert a new workflow into the "workflows" table */
+ /**
+ * @return cql query statement to insert a new workflow into the "workflows" table
+ */
public String getInsertWorkflowStatement() {
return QueryBuilder.insertInto(keyspace, TABLE_WORKFLOWS)
.value(WORKFLOW_ID_KEY, bindMarker())
@@ -302,7 +304,9 @@ public String getInsertWorkflowStatement() {
.getQueryString();
}
- /** @return cql query statement to insert a new task into the "workflows" table */
+ /**
+ * @return cql query statement to insert a new task into the "workflows" table
+ */
public String getInsertTaskStatement() {
return QueryBuilder.insertInto(keyspace, TABLE_WORKFLOWS)
.value(WORKFLOW_ID_KEY, bindMarker())
@@ -340,7 +344,9 @@ public String getSelectTotalStatement() {
.getQueryString();
}
- /** @return cql query statement to retrieve a task from the "workflows" table */
+ /**
+ * @return cql query statement to retrieve a task from the "workflows" table
+ */
public String getSelectTaskStatement() {
return QueryBuilder.select(PAYLOAD_KEY)
.from(keyspace, TABLE_WORKFLOWS)
@@ -414,7 +420,9 @@ public String getSelectAllEventExecutionsForMessageFromEventExecutionsStatement(
// Update Statements
- /** @return cql query statement to update a workflow in the "workflows" table */
+ /**
+ * @return cql query statement to update a workflow in the "workflows" table
+ */
public String getUpdateWorkflowStatement() {
return QueryBuilder.update(keyspace, TABLE_WORKFLOWS)
.with(set(PAYLOAD_KEY, bindMarker()))
@@ -461,7 +469,9 @@ public String getUpdateTaskLookupStatement() {
.getQueryString();
}
- /** @return cql query statement to add a new task_id to the "task_def_limit" table */
+ /**
+ * @return cql query statement to add a new task_id to the "task_def_limit" table
+ */
public String getUpdateTaskDefLimitStatement() {
return QueryBuilder.update(keyspace, TABLE_TASK_DEF_LIMIT)
.with(set(WORKFLOW_ID_KEY, bindMarker()))
@@ -470,7 +480,9 @@ public String getUpdateTaskDefLimitStatement() {
.getQueryString();
}
- /** @return cql query statement to update an event execution in the "event_executions" table */
+ /**
+ * @return cql query statement to update an event execution in the "event_executions" table
+ */
public String getUpdateEventExecutionStatement() {
return QueryBuilder.update(keyspace, TABLE_EVENT_EXECUTIONS)
.using(QueryBuilder.ttl(bindMarker()))
@@ -483,7 +495,9 @@ public String getUpdateEventExecutionStatement() {
// Delete statements
- /** @return cql query statement to delete a workflow from the "workflows" table */
+ /**
+ * @return cql query statement to delete a workflow from the "workflows" table
+ */
public String getDeleteWorkflowStatement() {
return QueryBuilder.delete()
.from(keyspace, TABLE_WORKFLOWS)
@@ -503,7 +517,9 @@ public String getDeleteTaskLookupStatement() {
.getQueryString();
}
- /** @return cql query statement to delete a task from the "workflows" table */
+ /**
+ * @return cql query statement to delete a task from the "workflows" table
+ */
public String getDeleteTaskStatement() {
return QueryBuilder.delete()
.from(keyspace, TABLE_WORKFLOWS)
@@ -514,7 +530,9 @@ public String getDeleteTaskStatement() {
.getQueryString();
}
- /** @return cql query statement to delete a task_id from the "task_def_limit" table */
+ /**
+ * @return cql query statement to delete a task_id from the "task_def_limit" table
+ */
public String getDeleteTaskDefLimitStatement() {
return QueryBuilder.delete()
.from(keyspace, TABLE_TASK_DEF_LIMIT)
@@ -523,7 +541,9 @@ public String getDeleteTaskDefLimitStatement() {
.getQueryString();
}
- /** @return cql query statement to delete an event execution from the "event_execution" table */
+ /**
+ * @return cql query statement to delete an event execution from the "event_execution" table
+ */
public String getDeleteEventExecutionsStatement() {
return QueryBuilder.delete()
.from(keyspace, TABLE_EVENT_EXECUTIONS)
@@ -536,7 +556,9 @@ public String getDeleteEventExecutionsStatement() {
// EventHandlerDAO
// Insert Statements
- /** @return cql query statement to insert an event handler into the "event_handlers" table */
+ /**
+ * @return cql query statement to insert an event handler into the "event_handlers" table
+ */
public String getInsertEventHandlerStatement() {
return QueryBuilder.insertInto(keyspace, TABLE_EVENT_HANDLERS)
.value(HANDLERS_KEY, HANDLERS_KEY)
diff --git a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraEventHandlerDAOSpec.groovy b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraEventHandlerDAOSpec.groovy
index 912d36c65c..214f3722de 100644
--- a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraEventHandlerDAOSpec.groovy
+++ b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraEventHandlerDAOSpec.groovy
@@ -1,20 +1,20 @@
/*
- * Copyright 2021 Netflix, Inc.
- *
- * 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.
+ * Copyright 2022 Netflix, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
*/
-
package com.netflix.conductor.cassandra.dao
import com.netflix.conductor.common.metadata.events.EventExecution
import com.netflix.conductor.common.metadata.events.EventHandler
+
import spock.lang.Subject
class CassandraEventHandlerDAOSpec extends CassandraSpec {
diff --git a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraExecutionDAOSpec.groovy b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraExecutionDAOSpec.groovy
index 11727500ae..14f6129674 100644
--- a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraExecutionDAOSpec.groovy
+++ b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraExecutionDAOSpec.groovy
@@ -1,30 +1,30 @@
/*
- * Copyright 2021 Netflix, Inc.
- *
- * 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.
+ * Copyright 2022 Netflix, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
*/
-
package com.netflix.conductor.cassandra.dao
import com.netflix.conductor.common.metadata.events.EventExecution
-import com.netflix.conductor.common.metadata.tasks.Task
import com.netflix.conductor.common.metadata.tasks.TaskDef
import com.netflix.conductor.common.metadata.workflow.WorkflowDef
import com.netflix.conductor.common.metadata.workflow.WorkflowTask
-import com.netflix.conductor.common.run.Workflow
-import com.netflix.conductor.core.exception.ApplicationException
+import com.netflix.conductor.core.exception.NonTransientException
import com.netflix.conductor.core.utils.IDGenerator
+import com.netflix.conductor.model.TaskModel
+import com.netflix.conductor.model.WorkflowModel
+
import spock.lang.Subject
import static com.netflix.conductor.common.metadata.events.EventExecution.Status.COMPLETED
-import static com.netflix.conductor.core.exception.ApplicationException.Code.INVALID_INPUT
+import static com.netflix.conductor.common.metadata.events.EventExecution.Status.IN_PROGRESS
class CassandraExecutionDAOSpec extends CassandraSpec {
@@ -40,8 +40,8 @@ class CassandraExecutionDAOSpec extends CassandraSpec {
def tasks = []
// create tasks for a workflow and add to list
- Task task1 = new Task(workflowInstanceId: 'uuid', taskId: 'task1id', referenceTaskName: 'task1')
- Task task2 = new Task(workflowInstanceId: 'uuid', taskId: 'task2id', referenceTaskName: 'task2')
+ TaskModel task1 = new TaskModel(workflowInstanceId: 'uuid', taskId: 'task1id', referenceTaskName: 'task1')
+ TaskModel task2 = new TaskModel(workflowInstanceId: 'uuid', taskId: 'task2id', referenceTaskName: 'task2')
tasks << task1 << task2
when:
@@ -52,28 +52,28 @@ class CassandraExecutionDAOSpec extends CassandraSpec {
and:
// add a task from a different workflow to the list
- Task task3 = new Task(workflowInstanceId: 'other-uuid', taskId: 'task3id', referenceTaskName: 'task3')
+ TaskModel task3 = new TaskModel(workflowInstanceId: 'other-uuid', taskId: 'task3id', referenceTaskName: 'task3')
tasks << task3
when:
executionDAO.validateTasks(tasks)
then:
- def ex = thrown(ApplicationException.class)
+ def ex = thrown(NonTransientException.class)
ex.message == "Tasks of multiple workflows cannot be created/updated simultaneously"
}
def "workflow CRUD"() {
given:
- String workflowId = IDGenerator.generate()
+ String workflowId = new IDGenerator().generate()
WorkflowDef workflowDef = new WorkflowDef()
workflowDef.name = "def1"
workflowDef.setVersion(1)
- Workflow workflow = new Workflow()
+ WorkflowModel workflow = new WorkflowModel()
workflow.setWorkflowDefinition(workflowDef)
workflow.setWorkflowId(workflowId)
workflow.setInput(new HashMap<>())
- workflow.setStatus(Workflow.WorkflowStatus.RUNNING)
+ workflow.setStatus(WorkflowModel.Status.RUNNING)
workflow.setCreateTime(System.currentTimeMillis())
when:
@@ -85,14 +85,14 @@ class CassandraExecutionDAOSpec extends CassandraSpec {
when:
// read the workflow from the datastore
- Workflow found = executionDAO.getWorkflow(workflowId)
+ WorkflowModel found = executionDAO.getWorkflow(workflowId)
then:
workflow == found
and:
// update the workflow
- workflow.setStatus(Workflow.WorkflowStatus.COMPLETED)
+ workflow.setStatus(WorkflowModel.Status.COMPLETED)
executionDAO.updateWorkflow(workflow)
when:
@@ -118,20 +118,20 @@ class CassandraExecutionDAOSpec extends CassandraSpec {
def "create tasks and verify methods that read tasks and workflow"() {
given: 'we create a workflow'
- String workflowId = IDGenerator.generate()
+ String workflowId = new IDGenerator().generate()
WorkflowDef workflowDef = new WorkflowDef(name: 'def1', version: 1)
- Workflow workflow = new Workflow(workflowDefinition: workflowDef, workflowId: workflowId, input: new HashMap(), status: Workflow.WorkflowStatus.RUNNING, createTime: System.currentTimeMillis())
+ WorkflowModel workflow = new WorkflowModel(workflowDefinition: workflowDef, workflowId: workflowId, input: new HashMap(), status: WorkflowModel.Status.RUNNING, createTime: System.currentTimeMillis())
executionDAO.createWorkflow(workflow)
and: 'create tasks for this workflow'
- Task task1 = new Task(workflowInstanceId: workflowId, taskType: 'task1', referenceTaskName: 'task1', status: Task.Status.SCHEDULED, taskId: IDGenerator.generate())
- Task task2 = new Task(workflowInstanceId: workflowId, taskType: 'task2', referenceTaskName: 'task2', status: Task.Status.SCHEDULED, taskId: IDGenerator.generate())
- Task task3 = new Task(workflowInstanceId: workflowId, taskType: 'task3', referenceTaskName: 'task3', status: Task.Status.SCHEDULED, taskId: IDGenerator.generate())
+ TaskModel task1 = new TaskModel(workflowInstanceId: workflowId, taskType: 'task1', referenceTaskName: 'task1', status: TaskModel.Status.SCHEDULED, taskId: new IDGenerator().generate())
+ TaskModel task2 = new TaskModel(workflowInstanceId: workflowId, taskType: 'task2', referenceTaskName: 'task2', status: TaskModel.Status.SCHEDULED, taskId: new IDGenerator().generate())
+ TaskModel task3 = new TaskModel(workflowInstanceId: workflowId, taskType: 'task3', referenceTaskName: 'task3', status: TaskModel.Status.SCHEDULED, taskId: new IDGenerator().generate())
def taskList = [task1, task2, task3]
when: 'add the tasks to the datastore'
- List
- * 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.
+ * Copyright 2022 Netflix, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
*/
-
package com.netflix.conductor.cassandra.dao
import com.netflix.conductor.common.metadata.tasks.TaskDef
import com.netflix.conductor.common.metadata.workflow.WorkflowDef
+
import spock.lang.Subject
class CassandraMetadataDAOSpec extends CassandraSpec {
@@ -69,7 +69,7 @@ class CassandraMetadataDAOSpec extends CassandraSpec {
defOptional.get() == workflowDef
when: // modify the definition
- workflowDef.setOwnerEmail("junit@test.com")
+ workflowDef.setOwnerEmail("test@junit.com")
metadataDAO.updateWorkflowDef(workflowDef)
defOptional = metadataDAO.getWorkflowDef(name, higherVersion)
@@ -138,4 +138,39 @@ class CassandraMetadataDAOSpec extends CassandraSpec {
// fetch deleted task def
metadataDAO.getTaskDef(task2Name) == null
}
+
+ def "parse index string"() {
+ expect:
+ def pair = metadataDAO.getWorkflowNameAndVersion(nameVersionStr)
+ pair.left == workflowName
+ pair.right == version
+
+ where:
+ nameVersionStr << ['name/1', 'namespace/name/3', '/namespace/name_with_lodash/2', 'name//4', 'name-with$%/895']
+ workflowName << ['name', 'namespace/name', '/namespace/name_with_lodash', 'name/', 'name-with$%']
+ version << [1, 3, 2, 4, 895]
+ }
+
+ def "parse index string - incorrect values"() {
+ when:
+ metadataDAO.getWorkflowNameAndVersion("name_with_no_version")
+
+ then:
+ def ex = thrown(IllegalStateException.class)
+ println(ex.message)
+
+ when:
+ metadataDAO.getWorkflowNameAndVersion("name_with_no_version/")
+
+ then:
+ ex = thrown(IllegalStateException.class)
+ println(ex.message)
+
+ when:
+ metadataDAO.getWorkflowNameAndVersion("name/non_number_version")
+
+ then:
+ ex = thrown(IllegalStateException.class)
+ println(ex.message)
+ }
}
diff --git a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraSpec.groovy b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraSpec.groovy
index d9531f2b36..a5393210bb 100644
--- a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraSpec.groovy
+++ b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/dao/CassandraSpec.groovy
@@ -1,34 +1,35 @@
/*
- * Copyright 2021 Netflix, Inc.
- *
- * 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.
+ * Copyright 2022 Netflix, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
*/
-
package com.netflix.conductor.cassandra.dao
-import com.datastax.driver.core.ConsistencyLevel
-import com.datastax.driver.core.Session
-import com.fasterxml.jackson.databind.ObjectMapper
-import com.netflix.conductor.cassandra.config.CassandraProperties
-import com.netflix.conductor.cassandra.util.Statements
-import com.netflix.conductor.common.config.TestObjectMapperConfiguration
-import groovy.transform.PackageScope
+import java.time.Duration
+
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.test.context.ContextConfiguration
import org.testcontainers.containers.CassandraContainer
import org.testcontainers.spock.Testcontainers
+
+import com.netflix.conductor.cassandra.config.CassandraProperties
+import com.netflix.conductor.cassandra.util.Statements
+import com.netflix.conductor.common.config.TestObjectMapperConfiguration
+
+import com.datastax.driver.core.ConsistencyLevel
+import com.datastax.driver.core.Session
+import com.fasterxml.jackson.databind.ObjectMapper
+import groovy.transform.PackageScope
import spock.lang.Shared
import spock.lang.Specification
-import java.time.Duration
-
@ContextConfiguration(classes = [TestObjectMapperConfiguration.class])
@Testcontainers
@PackageScope
diff --git a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/util/StatementsSpec.groovy b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/util/StatementsSpec.groovy
index f674688b9e..f826a36208 100644
--- a/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/util/StatementsSpec.groovy
+++ b/cassandra-persistence/src/test/groovy/com/netflix/conductor/cassandra/util/StatementsSpec.groovy
@@ -1,16 +1,15 @@
/*
- * Copyright 2021 Netflix, Inc.
- *
- * 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.
+ * Copyright 2022 Netflix, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
*/
-
package com.netflix.conductor.cassandra.util
import spock.lang.Specification
diff --git a/client-spring/dependencies.lock b/client-spring/dependencies.lock
index 71db465c38..2d09101ca6 100644
--- a/client-spring/dependencies.lock
+++ b/client-spring/dependencies.lock
@@ -1,7 +1,7 @@
{
"annotationProcessor": {
"org.springframework.boot:spring-boot-configuration-processor": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
}
},
"compileClasspath": {
@@ -12,25 +12,33 @@
]
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.netflix.eureka:eureka-client"
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.netflix.eureka:eureka-client"
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind"
+ ]
+ },
"com.github.andrewoma.dexx:dexx-collections": {
"locked": "0.2",
"transitive": [
@@ -116,7 +124,7 @@
]
},
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -167,13 +175,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-core",
"org.apache.logging.log4j:log4j-jul",
@@ -182,28 +190,28 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-web"
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.netflix.servo:servo-core",
"org.apache.logging.log4j:log4j-slf4j-impl",
@@ -211,48 +219,48 @@
]
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -263,19 +271,19 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
@@ -314,7 +322,7 @@
]
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
@@ -324,12 +332,13 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -337,12 +346,13 @@
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -350,45 +360,58 @@
]
},
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core"
]
},
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.netflix.conductor:conductor-client"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.netflix.conductor:conductor-client"
]
},
+ "com.fasterxml.jackson.module:jackson-module-afterburner": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-common"
+ ]
+ },
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
- "com.github.andrewoma.dexx:dexx-collections": {
- "locked": "0.2",
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
"transitive": [
- "com.github.vlsi.compactmap:compactmap"
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
+ "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider",
+ "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
]
},
- "com.github.rholder:guava-retrying": {
- "locked": "2.0.0",
+ "com.github.andrewoma.dexx:dexx-collections": {
+ "locked": "0.2",
"transitive": [
- "com.netflix.conductor:conductor-common"
+ "com.github.vlsi.compactmap:compactmap"
]
},
"com.github.vlsi.compactmap:compactmap": {
@@ -400,60 +423,32 @@
"com.google.code.findbugs:jsr305": {
"locked": "3.0.2",
"transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.guava:guava",
"com.netflix.archaius:archaius-core",
"com.netflix.eureka:eureka-client",
"com.netflix.netflix-commons:netflix-infix"
]
},
"com.google.code.gson:gson": {
- "locked": "2.8.7",
+ "locked": "2.9.0",
"transitive": [
"com.netflix.netflix-commons:netflix-infix"
]
},
- "com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.guava:guava": {
- "locked": "30.0-jre",
+ "locked": "19.0",
"transitive": [
- "com.github.rholder:guava-retrying",
"com.google.inject:guice",
"com.netflix.archaius:archaius-core",
- "com.netflix.conductor:conductor-client",
"com.netflix.netflix-commons:netflix-infix",
"com.netflix.servo:servo-core"
]
},
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.inject:guice": {
"locked": "4.1.0",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.protobuf:protobuf-java": {
"locked": "3.13.0",
"transitive": [
@@ -541,7 +536,7 @@
]
},
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -643,7 +638,7 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10",
+ "locked": "3.12.0",
"transitive": [
"com.netflix.conductor:conductor-client",
"com.netflix.conductor:conductor-common"
@@ -664,13 +659,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -682,7 +677,7 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -692,7 +687,7 @@
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -700,7 +695,7 @@
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -708,19 +703,13 @@
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
"com.netflix.conductor:conductor-common"
]
},
- "org.checkerframework:checker-qual": {
- "locked": "3.5.0",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"org.codehaus.jettison:jettison": {
"locked": "1.4.0",
"transitive": [
@@ -728,13 +717,13 @@
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-client",
@@ -747,48 +736,48 @@
]
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -799,19 +788,19 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
@@ -843,25 +832,33 @@
]
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.netflix.eureka:eureka-client"
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.netflix.eureka:eureka-client"
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind"
+ ]
+ },
"com.github.andrewoma.dexx:dexx-collections": {
"locked": "0.2",
"transitive": [
@@ -894,7 +891,7 @@
]
},
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -959,7 +956,7 @@
]
},
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -1021,25 +1018,25 @@
]
},
"net.bytebuddy:byte-buddy": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
},
"net.bytebuddy:byte-buddy-agent": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
@@ -1052,13 +1049,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-core",
"org.apache.logging.log4j:log4j-jul",
@@ -1067,29 +1064,29 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-web",
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apiguardian:apiguardian-api": {
- "locked": "1.1.0",
+ "locked": "1.1.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.jupiter:junit-jupiter-params",
@@ -1099,7 +1096,7 @@
]
},
"org.assertj:assertj-core": {
- "locked": "3.16.1",
+ "locked": "3.22.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -1107,49 +1104,53 @@
"org.hamcrest:hamcrest": {
"locked": "2.2",
"transitive": [
+ "org.hamcrest:hamcrest-core",
"org.springframework.boot:spring-boot-starter-test"
]
},
+ "org.hamcrest:hamcrest-core": {
+ "locked": "2.2",
+ "transitive": [
+ "junit:junit"
+ ]
+ },
"org.junit.jupiter:junit-jupiter": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.junit.jupiter:junit-jupiter-api": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-params"
]
},
"org.junit.jupiter:junit-jupiter-params": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.platform:junit-platform-commons": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.platform:junit-platform-engine"
]
},
"org.junit.platform:junit-platform-engine": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.vintage:junit-vintage-engine"
]
},
"org.junit.vintage:junit-vintage-engine": {
- "locked": "5.6.3",
- "transitive": [
- "org.springframework.boot:spring-boot-starter-test"
- ]
+ "locked": "5.8.2"
},
"org.junit:junit-bom": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-api",
@@ -1160,24 +1161,18 @@
]
},
"org.mockito:mockito-core": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.mockito:mockito-junit-jupiter",
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.mockito:mockito-junit-jupiter": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
- "org.objenesis:objenesis": {
- "locked": "2.6",
- "transitive": [
- "org.mockito:mockito-core"
- ]
- },
"org.opentest4j:opentest4j": {
"locked": "1.2.0",
"transitive": [
@@ -1186,26 +1181,26 @@
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"net.minidev:accessors-smart"
]
},
"org.skyscreamer:jsonassert": {
- "locked": "1.5.0",
+ "locked": "1.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2",
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.jayway.jsonpath:json-path",
"com.netflix.servo:servo-core",
@@ -1214,7 +1209,7 @@
]
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter",
@@ -1223,64 +1218,64 @@
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework.boot:spring-boot-starter-log4j2": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter-test": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-test": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-test-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -1293,31 +1288,31 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.springframework:spring-test": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.xmlunit:xmlunit-core": {
- "locked": "2.7.0",
+ "locked": "2.9.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
@@ -1356,7 +1351,7 @@
]
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
@@ -1366,12 +1361,13 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -1379,12 +1375,13 @@
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -1392,45 +1389,58 @@
]
},
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core"
]
},
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.netflix.conductor:conductor-client"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.netflix.conductor:conductor-client"
]
},
+ "com.fasterxml.jackson.module:jackson-module-afterburner": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-common"
+ ]
+ },
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
- "com.github.andrewoma.dexx:dexx-collections": {
- "locked": "0.2",
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
"transitive": [
- "com.github.vlsi.compactmap:compactmap"
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
+ "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider",
+ "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
]
},
- "com.github.rholder:guava-retrying": {
- "locked": "2.0.0",
+ "com.github.andrewoma.dexx:dexx-collections": {
+ "locked": "0.2",
"transitive": [
- "com.netflix.conductor:conductor-common"
+ "com.github.vlsi.compactmap:compactmap"
]
},
"com.github.vlsi.compactmap:compactmap": {
@@ -1442,60 +1452,32 @@
"com.google.code.findbugs:jsr305": {
"locked": "3.0.2",
"transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.guava:guava",
"com.netflix.archaius:archaius-core",
"com.netflix.eureka:eureka-client",
"com.netflix.netflix-commons:netflix-infix"
]
},
"com.google.code.gson:gson": {
- "locked": "2.8.7",
+ "locked": "2.9.0",
"transitive": [
"com.netflix.netflix-commons:netflix-infix"
]
},
- "com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.guava:guava": {
- "locked": "30.0-jre",
+ "locked": "19.0",
"transitive": [
- "com.github.rholder:guava-retrying",
"com.google.inject:guice",
"com.netflix.archaius:archaius-core",
- "com.netflix.conductor:conductor-client",
"com.netflix.netflix-commons:netflix-infix",
"com.netflix.servo:servo-core"
]
},
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.inject:guice": {
"locked": "4.1.0",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.protobuf:protobuf-java": {
"locked": "3.13.0",
"transitive": [
@@ -1503,7 +1485,7 @@
]
},
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -1595,7 +1577,7 @@
]
},
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -1686,25 +1668,25 @@
]
},
"net.bytebuddy:byte-buddy": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
},
"net.bytebuddy:byte-buddy-agent": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core"
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
@@ -1728,7 +1710,7 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10",
+ "locked": "3.12.0",
"transitive": [
"com.netflix.conductor:conductor-client",
"com.netflix.conductor:conductor-common"
@@ -1749,13 +1731,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -1767,7 +1749,7 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -1778,7 +1760,7 @@
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -1787,7 +1769,7 @@
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
@@ -1796,36 +1778,19 @@
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-client",
"com.netflix.conductor:conductor-common"
]
},
- "org.apiguardian:apiguardian-api": {
- "locked": "1.1.0",
- "transitive": [
- "org.junit.jupiter:junit-jupiter-api",
- "org.junit.jupiter:junit-jupiter-engine",
- "org.junit.jupiter:junit-jupiter-params",
- "org.junit.platform:junit-platform-commons",
- "org.junit.platform:junit-platform-engine",
- "org.junit.vintage:junit-vintage-engine"
- ]
- },
"org.assertj:assertj-core": {
- "locked": "3.16.1",
+ "locked": "3.22.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
- "org.checkerframework:checker-qual": {
- "locked": "3.5.0",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"org.codehaus.jettison:jettison": {
"locked": "1.4.0",
"transitive": [
@@ -1835,17 +1800,24 @@
"org.hamcrest:hamcrest": {
"locked": "2.2",
"transitive": [
+ "org.hamcrest:hamcrest-core",
"org.springframework.boot:spring-boot-starter-test"
]
},
+ "org.hamcrest:hamcrest-core": {
+ "locked": "2.2",
+ "transitive": [
+ "junit:junit"
+ ]
+ },
"org.junit.jupiter:junit-jupiter": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.junit.jupiter:junit-jupiter-api": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-engine",
@@ -1854,39 +1826,36 @@
]
},
"org.junit.jupiter:junit-jupiter-engine": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.jupiter:junit-jupiter-params": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.platform:junit-platform-commons": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.platform:junit-platform-engine"
]
},
"org.junit.platform:junit-platform-engine": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-engine",
"org.junit.vintage:junit-vintage-engine"
]
},
"org.junit.vintage:junit-vintage-engine": {
- "locked": "5.6.3",
- "transitive": [
- "org.springframework.boot:spring-boot-starter-test"
- ]
+ "locked": "5.8.2"
},
"org.junit:junit-bom": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-api",
@@ -1898,20 +1867,20 @@
]
},
"org.mockito:mockito-core": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.mockito:mockito-junit-jupiter",
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.mockito:mockito-junit-jupiter": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.objenesis:objenesis": {
- "locked": "2.6",
+ "locked": "3.2",
"transitive": [
"org.mockito:mockito-core"
]
@@ -1924,26 +1893,26 @@
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"net.minidev:accessors-smart"
]
},
"org.skyscreamer:jsonassert": {
- "locked": "1.5.0",
+ "locked": "1.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2",
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.jayway.jsonpath:json-path",
"com.netflix.archaius:archaius-core",
@@ -1957,7 +1926,7 @@
]
},
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter",
@@ -1966,64 +1935,64 @@
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework.boot:spring-boot-starter-log4j2": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter-test": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-test": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-test-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -2036,31 +2005,31 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.springframework:spring-test": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.xmlunit:xmlunit-core": {
- "locked": "2.7.0",
+ "locked": "2.9.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
diff --git a/client/build.gradle b/client/build.gradle
index b121b65c1d..6cf478a605 100644
--- a/client/build.gradle
+++ b/client/build.gradle
@@ -5,26 +5,26 @@ buildscript {
}
}
dependencies {
- classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.6.2"
+ classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.5"
}
}
-apply plugin: 'com.github.spotbugs'
-apply plugin: 'pmd'
+apply plugin: 'groovy'
configurations.all {
exclude group: 'amazon', module: 'aws-java-sdk'
}
dependencies {
- implementation project(':conductor-common')
- // SBMTODO: remove guava dep
- implementation "com.google.guava:guava:${revGuava}"
+ compileOnly 'org.jetbrains:annotations:23.0.0'
+ implementation project(':conductor-common')
implementation "com.sun.jersey:jersey-client:${revJersey}"
implementation "com.netflix.spectator:spectator-api:${revSpectator}"
- implementation "com.netflix.eureka:eureka-client:${revEurekaClient}"
+ implementation ("com.netflix.eureka:eureka-client:${revEurekaClient}") {
+ exclude group: 'com.google.guava', module: 'guava'
+ }
implementation "com.amazonaws:aws-java-sdk-core:${revAwsSdk}"
implementation "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
@@ -37,19 +37,8 @@ dependencies {
testImplementation "org.powermock:powermock-module-junit4:${revPowerMock}"
testImplementation "org.powermock:powermock-api-mockito2:${revPowerMock}"
-}
-spotbugsMain {
- reports {
- xml {
- enabled = false
- }
- html {
- enabled = true
- }
- }
+ testImplementation "org.codehaus.groovy:groovy-all:${revGroovy}"
+ testImplementation "org.spockframework:spock-core:${revSpock}"
+ testImplementation "org.spockframework:spock-spring:${revSpock}"
}
-
-pmd {
- ignoreFailures = true
-}
\ No newline at end of file
diff --git a/client/dependencies.lock b/client/dependencies.lock
index e91f2b9ae5..edc5425a53 100644
--- a/client/dependencies.lock
+++ b/client/dependencies.lock
@@ -1,7 +1,7 @@
{
"annotationProcessor": {
"org.springframework.boot:spring-boot-configuration-processor": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
}
},
"compileClasspath": {
@@ -15,7 +15,7 @@
"locked": "1.11.86"
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
@@ -24,7 +24,7 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
@@ -35,7 +35,7 @@
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
@@ -46,29 +46,42 @@
]
},
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core"
]
},
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
},
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
+ "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider",
+ "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
+ ]
+ },
"com.github.andrewoma.dexx:dexx-collections": {
"locked": "0.2",
"transitive": [
@@ -84,47 +97,15 @@
"com.google.code.findbugs:jsr305": {
"locked": "3.0.2",
"transitive": [
- "com.google.guava:guava",
"com.netflix.eureka:eureka-client"
]
},
- "com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:guava": {
- "locked": "30.0-jre",
- "transitive": [
- "com.google.inject:guice",
- "com.netflix.servo:servo-core"
- ]
- },
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.inject:guice": {
"locked": "4.1.0",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.netflix.archaius:archaius-core": {
"locked": "0.7.6",
"transitive": [
@@ -179,7 +160,7 @@
]
},
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -240,7 +221,7 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10"
+ "locked": "3.12.0"
},
"org.apache.httpcomponents:httpclient": {
"locked": "4.5.13",
@@ -251,13 +232,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-core",
"org.apache.logging.log4j:log4j-jul",
@@ -266,28 +247,25 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-web"
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
- "org.checkerframework:checker-qual": {
- "locked": "3.5.0",
- "transitive": [
- "com.google.guava:guava"
- ]
+ "org.jetbrains:annotations": {
+ "locked": "23.0.0"
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.netflix.servo:servo-core",
"org.apache.logging.log4j:log4j-slf4j-impl"
@@ -312,70 +290,6 @@
]
}
},
- "pmd": {
- "com.beust:jcommander": {
- "locked": "1.72",
- "transitive": [
- "net.sourceforge.pmd:pmd-core"
- ]
- },
- "com.google.code.gson:gson": {
- "locked": "2.8.7",
- "transitive": [
- "net.sourceforge.pmd:pmd-core"
- ]
- },
- "commons-io:commons-io": {
- "locked": "2.6",
- "transitive": [
- "net.sourceforge.pmd:pmd-core",
- "net.sourceforge.pmd:pmd-java"
- ]
- },
- "net.sourceforge.pmd:pmd-core": {
- "locked": "6.26.0",
- "transitive": [
- "net.sourceforge.pmd:pmd-java"
- ]
- },
- "net.sourceforge.pmd:pmd-java": {
- "locked": "6.26.0"
- },
- "net.sourceforge.saxon:saxon": {
- "locked": "9.1.0.8",
- "transitive": [
- "net.sourceforge.pmd:pmd-core",
- "net.sourceforge.pmd:pmd-java"
- ]
- },
- "org.antlr:antlr4-runtime": {
- "locked": "4.7",
- "transitive": [
- "net.sourceforge.pmd:pmd-core"
- ]
- },
- "org.apache.commons:commons-lang3": {
- "locked": "3.10",
- "transitive": [
- "net.sourceforge.pmd:pmd-core",
- "net.sourceforge.pmd:pmd-java",
- "org.apache.commons:commons-text"
- ]
- },
- "org.apache.commons:commons-text": {
- "locked": "1.6",
- "transitive": [
- "net.sourceforge.pmd:pmd-core"
- ]
- },
- "org.ow2.asm:asm": {
- "locked": "7.3.1",
- "transitive": [
- "net.sourceforge.pmd:pmd-core",
- "net.sourceforge.pmd:pmd-java"
- ]
- }
- },
"runtimeClasspath": {
"antlr:antlr": {
"locked": "2.7.7",
@@ -394,7 +308,7 @@
"locked": "1.11.86"
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
@@ -404,12 +318,13 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -417,12 +332,13 @@
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -430,39 +346,52 @@
]
},
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core"
]
},
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
+ },
+ "com.fasterxml.jackson.module:jackson-module-afterburner": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-common"
+ ]
},
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
- "com.github.andrewoma.dexx:dexx-collections": {
- "locked": "0.2",
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
"transitive": [
- "com.github.vlsi.compactmap:compactmap"
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
+ "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider",
+ "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
]
},
- "com.github.rholder:guava-retrying": {
- "locked": "2.0.0",
+ "com.github.andrewoma.dexx:dexx-collections": {
+ "locked": "0.2",
"transitive": [
- "com.netflix.conductor:conductor-common"
+ "com.github.vlsi.compactmap:compactmap"
]
},
"com.github.vlsi.compactmap:compactmap": {
@@ -474,59 +403,23 @@
"com.google.code.findbugs:jsr305": {
"locked": "3.0.2",
"transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.guava:guava",
"com.netflix.archaius:archaius-core",
"com.netflix.eureka:eureka-client",
"com.netflix.netflix-commons:netflix-infix"
]
},
"com.google.code.gson:gson": {
- "locked": "2.8.7",
+ "locked": "2.9.0",
"transitive": [
"com.netflix.netflix-commons:netflix-infix"
]
},
- "com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:guava": {
- "locked": "30.0-jre",
- "transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.inject:guice",
- "com.netflix.archaius:archaius-core",
- "com.netflix.netflix-commons:netflix-infix",
- "com.netflix.servo:servo-core"
- ]
- },
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.inject:guice": {
"locked": "4.1.0",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.protobuf:protobuf-java": {
"locked": "3.13.0",
"transitive": [
@@ -601,7 +494,7 @@
]
},
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -694,7 +587,7 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10",
+ "locked": "3.12.0",
"transitive": [
"com.netflix.conductor:conductor-common"
]
@@ -714,13 +607,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -731,7 +624,7 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -740,32 +633,26 @@
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common"
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common"
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common"
]
},
- "org.checkerframework:checker-qual": {
- "locked": "3.5.0",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"org.codehaus.jettison:jettison": {
"locked": "1.4.0",
"transitive": [
@@ -773,7 +660,7 @@
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.netflix.archaius:archaius-core",
"com.netflix.netflix-commons:netflix-eventbus",
@@ -802,127 +689,6 @@
]
}
},
- "spotbugs": {
- "com.github.spotbugs:spotbugs": {
- "locked": "4.2.1"
- },
- "com.github.spotbugs:spotbugs-annotations": {
- "locked": "4.2.1",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "com.google.code.findbugs:jsr305": {
- "locked": "3.0.2",
- "transitive": [
- "com.github.spotbugs:spotbugs-annotations"
- ]
- },
- "jaxen:jaxen": {
- "locked": "1.2.0",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "net.jcip:jcip-annotations": {
- "locked": "1.0",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "net.sf.saxon:Saxon-HE": {
- "locked": "10.3",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.apache.bcel:bcel": {
- "locked": "6.5.0",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.apache.commons:commons-lang3": {
- "locked": "3.10",
- "transitive": [
- "com.github.spotbugs:spotbugs",
- "org.apache.commons:commons-text"
- ]
- },
- "org.apache.commons:commons-text": {
- "locked": "1.9",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.dom4j:dom4j": {
- "locked": "2.1.3",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.json:json": {
- "locked": "20201115",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.ow2.asm:asm": {
- "locked": "9.0",
- "transitive": [
- "com.github.spotbugs:spotbugs",
- "org.ow2.asm:asm-commons",
- "org.ow2.asm:asm-tree",
- "org.ow2.asm:asm-util"
- ]
- },
- "org.ow2.asm:asm-analysis": {
- "locked": "9.0",
- "transitive": [
- "com.github.spotbugs:spotbugs",
- "org.ow2.asm:asm-commons",
- "org.ow2.asm:asm-util"
- ]
- },
- "org.ow2.asm:asm-commons": {
- "locked": "9.0",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.ow2.asm:asm-tree": {
- "locked": "9.0",
- "transitive": [
- "com.github.spotbugs:spotbugs",
- "org.ow2.asm:asm-analysis",
- "org.ow2.asm:asm-commons",
- "org.ow2.asm:asm-util"
- ]
- },
- "org.ow2.asm:asm-util": {
- "locked": "9.0",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- },
- "org.slf4j:slf4j-api": {
- "locked": "1.7.30",
- "transitive": [
- "com.github.spotbugs:spotbugs"
- ]
- }
- },
- "spotbugsSlf4j": {
- "org.slf4j:slf4j-api": {
- "locked": "1.7.30",
- "transitive": [
- "org.slf4j:slf4j-simple"
- ]
- },
- "org.slf4j:slf4j-simple": {
- "locked": "1.8.0-beta4"
- }
- },
"testCompileClasspath": {
"aopalliance:aopalliance": {
"locked": "1.0",
@@ -934,7 +700,7 @@
"locked": "1.11.86"
},
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
@@ -943,7 +709,7 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
@@ -954,7 +720,7 @@
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
@@ -965,29 +731,42 @@
]
},
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core"
]
},
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
},
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
+ "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider",
+ "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
+ ]
+ },
"com.github.andrewoma.dexx:dexx-collections": {
"locked": "0.2",
"transitive": [
@@ -1003,49 +782,17 @@
"com.google.code.findbugs:jsr305": {
"locked": "3.0.2",
"transitive": [
- "com.google.guava:guava",
"com.netflix.eureka:eureka-client"
]
},
- "com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:guava": {
- "locked": "30.0-jre",
- "transitive": [
- "com.google.inject:guice",
- "com.netflix.servo:servo-core"
- ]
- },
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.inject:guice": {
"locked": "4.1.0",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -1097,6 +844,12 @@
"com.sun.jersey:jersey-client"
]
},
+ "com.thoughtworks.qdox:qdox": {
+ "locked": "1.12.1",
+ "transitive": [
+ "org.codehaus.groovy:groovy-docgenerator"
+ ]
+ },
"com.thoughtworks.xstream:xstream": {
"locked": "1.4.13",
"transitive": [
@@ -1109,8 +862,14 @@
"org.skyscreamer:jsonassert"
]
},
+ "commons-cli:commons-cli": {
+ "locked": "1.4",
+ "transitive": [
+ "org.codehaus.groovy:groovy-cli-commons"
+ ]
+ },
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -1138,6 +897,12 @@
"org.apache.httpcomponents:httpclient"
]
},
+ "info.picocli:picocli": {
+ "locked": "4.3.2",
+ "transitive": [
+ "org.codehaus.groovy:groovy-cli-picocli"
+ ]
+ },
"jakarta.activation:jakarta.activation-api": {
"locked": "1.2.2",
"transitive": [
@@ -1171,6 +936,12 @@
"com.sun.jersey:jersey-core"
]
},
+ "jline:jline": {
+ "locked": "2.14.6",
+ "transitive": [
+ "org.codehaus.groovy:groovy-groovysh"
+ ]
+ },
"joda-time:joda-time": {
"locked": "2.8.1",
"transitive": [
@@ -1180,13 +951,15 @@
"junit:junit": {
"locked": "4.13.2",
"transitive": [
+ "org.codehaus.groovy:groovy-test",
"org.junit.vintage:junit-vintage-engine",
"org.powermock:powermock-module-junit4",
- "org.powermock:powermock-module-junit4-common"
+ "org.powermock:powermock-module-junit4-common",
+ "org.spockframework:spock-core"
]
},
"net.bytebuddy:byte-buddy": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core",
"org.powermock:powermock-core",
@@ -1194,7 +967,7 @@
]
},
"net.bytebuddy:byte-buddy-agent": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core",
"org.powermock:powermock-core",
@@ -1202,19 +975,31 @@
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
},
+ "org.apache.ant:ant": {
+ "locked": "1.9.15",
+ "transitive": [
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
+ "org.apache.ant:ant-launcher": {
+ "locked": "1.9.15",
+ "transitive": [
+ "org.apache.ant:ant"
+ ]
+ },
"org.apache.commons:commons-lang3": {
- "locked": "3.10"
+ "locked": "3.12.0"
},
"org.apache.httpcomponents:httpclient": {
"locked": "4.5.13",
@@ -1225,13 +1010,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-core",
"org.apache.logging.log4j:log4j-jul",
@@ -1240,29 +1025,29 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.apache.logging.log4j:log4j-web",
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2"
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0"
+ "locked": "2.17.1"
},
"org.apiguardian:apiguardian-api": {
- "locked": "1.1.0",
+ "locked": "1.1.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.jupiter:junit-jupiter-params",
@@ -1272,15 +1057,194 @@
]
},
"org.assertj:assertj-core": {
- "locked": "3.16.1",
+ "locked": "3.22.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
- "org.checkerframework:checker-qual": {
- "locked": "3.5.0",
+ "org.codehaus.groovy:groovy": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-ant",
+ "org.codehaus.groovy:groovy-cli-commons",
+ "org.codehaus.groovy:groovy-cli-picocli",
+ "org.codehaus.groovy:groovy-console",
+ "org.codehaus.groovy:groovy-datetime",
+ "org.codehaus.groovy:groovy-docgenerator",
+ "org.codehaus.groovy:groovy-groovydoc",
+ "org.codehaus.groovy:groovy-groovysh",
+ "org.codehaus.groovy:groovy-jmx",
+ "org.codehaus.groovy:groovy-json",
+ "org.codehaus.groovy:groovy-jsr223",
+ "org.codehaus.groovy:groovy-macro",
+ "org.codehaus.groovy:groovy-nio",
+ "org.codehaus.groovy:groovy-servlet",
+ "org.codehaus.groovy:groovy-sql",
+ "org.codehaus.groovy:groovy-swing",
+ "org.codehaus.groovy:groovy-templates",
+ "org.codehaus.groovy:groovy-test",
+ "org.codehaus.groovy:groovy-test-junit5",
+ "org.codehaus.groovy:groovy-testng",
+ "org.codehaus.groovy:groovy-xml",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-all": {
+ "locked": "2.5.13"
+ },
+ "org.codehaus.groovy:groovy-ant": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-cli-commons": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-cli-picocli": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-console",
+ "org.codehaus.groovy:groovy-docgenerator",
+ "org.codehaus.groovy:groovy-groovydoc",
+ "org.codehaus.groovy:groovy-groovysh"
+ ]
+ },
+ "org.codehaus.groovy:groovy-console": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-groovysh"
+ ]
+ },
+ "org.codehaus.groovy:groovy-datetime": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-docgenerator": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-groovydoc": {
+ "locked": "2.5.13",
"transitive": [
- "com.google.guava:guava"
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
+ "org.codehaus.groovy:groovy-groovysh": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-jmx": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-json": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-jsr223": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-macro": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-nio": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-servlet": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-sql": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-swing": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-console"
+ ]
+ },
+ "org.codehaus.groovy:groovy-templates": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-console",
+ "org.codehaus.groovy:groovy-docgenerator",
+ "org.codehaus.groovy:groovy-groovydoc",
+ "org.codehaus.groovy:groovy-servlet",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-test": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-test-junit5": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-testng": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-xml": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-servlet",
+ "org.codehaus.groovy:groovy-templates",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
]
},
"org.hamcrest:hamcrest": {
@@ -1293,6 +1257,7 @@
"org.hamcrest:hamcrest-core": {
"locked": "2.2",
"transitive": [
+ "junit:junit",
"org.powermock:powermock-module-junit4",
"org.powermock:powermock-module-junit4-common"
]
@@ -1304,56 +1269,62 @@
]
},
"org.junit.jupiter:junit-jupiter": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.junit.jupiter:junit-jupiter-api": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
+ "org.codehaus.groovy:groovy-test-junit5",
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-params"
]
},
"org.junit.jupiter:junit-jupiter-params": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.platform:junit-platform-commons": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.platform:junit-platform-engine"
]
},
"org.junit.platform:junit-platform-engine": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
+ "org.junit.platform:junit-platform-launcher",
"org.junit.vintage:junit-vintage-engine"
]
},
- "org.junit.vintage:junit-vintage-engine": {
- "locked": "5.6.3",
+ "org.junit.platform:junit-platform-launcher": {
+ "locked": "1.8.2",
"transitive": [
- "org.springframework.boot:spring-boot-starter-test"
+ "org.codehaus.groovy:groovy-test-junit5"
]
},
+ "org.junit.vintage:junit-vintage-engine": {
+ "locked": "5.8.2"
+ },
"org.junit:junit-bom": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-api",
"org.junit.jupiter:junit-jupiter-params",
"org.junit.platform:junit-platform-commons",
"org.junit.platform:junit-platform-engine",
+ "org.junit.platform:junit-platform-launcher",
"org.junit.vintage:junit-vintage-engine"
]
},
"org.mockito:mockito-core": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.mockito:mockito-junit-jupiter",
"org.powermock:powermock-api-mockito2",
@@ -1361,7 +1332,7 @@
]
},
"org.mockito:mockito-junit-jupiter": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -1369,7 +1340,6 @@
"org.objenesis:objenesis": {
"locked": "3.0.1",
"transitive": [
- "org.mockito:mockito-core",
"org.powermock:powermock-reflect"
]
},
@@ -1381,7 +1351,7 @@
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"net.minidev:accessors-smart"
]
@@ -1420,20 +1390,20 @@
]
},
"org.skyscreamer:jsonassert": {
- "locked": "1.5.0",
+ "locked": "1.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2",
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.jayway.jsonpath:json-path",
"com.netflix.servo:servo-core",
@@ -1441,8 +1411,17 @@
"org.slf4j:jul-to-slf4j"
]
},
+ "org.spockframework:spock-core": {
+ "locked": "1.3-groovy-2.5",
+ "transitive": [
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.spockframework:spock-spring": {
+ "locked": "1.3-groovy-2.5"
+ },
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter",
@@ -1451,64 +1430,64 @@
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework.boot:spring-boot-starter-log4j2": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter-test": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-test": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-test-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -1521,31 +1500,31 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.springframework:spring-test": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.xmlunit:xmlunit-core": {
- "locked": "2.7.0",
+ "locked": "2.9.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
@@ -1586,8 +1565,14 @@
"com.amazonaws:aws-java-sdk-core": {
"locked": "1.11.86"
},
+ "com.beust:jcommander": {
+ "locked": "1.72",
+ "transitive": [
+ "org.testng:testng"
+ ]
+ },
"com.fasterxml.jackson.core:jackson-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
@@ -1597,12 +1582,13 @@
]
},
"com.fasterxml.jackson.core:jackson-core": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.core:jackson-databind",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -1610,12 +1596,13 @@
]
},
"com.fasterxml.jackson.core:jackson-databind": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core",
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.module:jackson-module-afterburner",
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations",
"com.netflix.archaius:archaius-core",
"com.netflix.conductor:conductor-common",
@@ -1623,39 +1610,52 @@
]
},
"com.fasterxml.jackson.dataformat:jackson-dataformat-cbor": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.amazonaws:aws-java-sdk-core"
]
},
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-base": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider": {
- "locked": "2.11.4"
+ "locked": "2.13.3"
+ },
+ "com.fasterxml.jackson.module:jackson-module-afterburner": {
+ "locked": "2.13.3",
+ "transitive": [
+ "com.netflix.conductor:conductor-common"
+ ]
},
"com.fasterxml.jackson.module:jackson-module-jaxb-annotations": {
- "locked": "2.11.4",
+ "locked": "2.13.3",
"transitive": [
"com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider"
]
},
- "com.github.andrewoma.dexx:dexx-collections": {
- "locked": "0.2",
+ "com.fasterxml.jackson:jackson-bom": {
+ "locked": "2.13.3",
"transitive": [
- "com.github.vlsi.compactmap:compactmap"
+ "com.fasterxml.jackson.core:jackson-annotations",
+ "com.fasterxml.jackson.core:jackson-core",
+ "com.fasterxml.jackson.core:jackson-databind",
+ "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor",
+ "com.fasterxml.jackson.datatype:jackson-datatype-jsr310",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-base",
+ "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider",
+ "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
]
},
- "com.github.rholder:guava-retrying": {
- "locked": "2.0.0",
+ "com.github.andrewoma.dexx:dexx-collections": {
+ "locked": "0.2",
"transitive": [
- "com.netflix.conductor:conductor-common"
+ "com.github.vlsi.compactmap:compactmap"
]
},
"com.github.vlsi.compactmap:compactmap": {
@@ -1667,59 +1667,23 @@
"com.google.code.findbugs:jsr305": {
"locked": "3.0.2",
"transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.guava:guava",
"com.netflix.archaius:archaius-core",
"com.netflix.eureka:eureka-client",
"com.netflix.netflix-commons:netflix-infix"
]
},
"com.google.code.gson:gson": {
- "locked": "2.8.7",
+ "locked": "2.9.0",
"transitive": [
"com.netflix.netflix-commons:netflix-infix"
]
},
- "com.google.errorprone:error_prone_annotations": {
- "locked": "2.3.4",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:failureaccess": {
- "locked": "1.0.1",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
- "com.google.guava:guava": {
- "locked": "30.0-jre",
- "transitive": [
- "com.github.rholder:guava-retrying",
- "com.google.inject:guice",
- "com.netflix.archaius:archaius-core",
- "com.netflix.netflix-commons:netflix-infix",
- "com.netflix.servo:servo-core"
- ]
- },
- "com.google.guava:listenablefuture": {
- "locked": "9999.0-empty-to-avoid-conflict-with-guava",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.inject:guice": {
"locked": "4.1.0",
"transitive": [
"com.netflix.eureka:eureka-client"
]
},
- "com.google.j2objc:j2objc-annotations": {
- "locked": "1.3",
- "transitive": [
- "com.google.guava:guava"
- ]
- },
"com.google.protobuf:protobuf-java": {
"locked": "3.13.0",
"transitive": [
@@ -1727,7 +1691,7 @@
]
},
"com.jayway.jsonpath:json-path": {
- "locked": "2.4.0",
+ "locked": "2.7.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
@@ -1793,6 +1757,12 @@
"com.sun.jersey:jersey-client"
]
},
+ "com.thoughtworks.qdox:qdox": {
+ "locked": "1.12.1",
+ "transitive": [
+ "org.codehaus.groovy:groovy-docgenerator"
+ ]
+ },
"com.thoughtworks.xstream:xstream": {
"locked": "1.4.13",
"transitive": [
@@ -1805,8 +1775,14 @@
"org.skyscreamer:jsonassert"
]
},
+ "commons-cli:commons-cli": {
+ "locked": "1.4",
+ "transitive": [
+ "org.codehaus.groovy:groovy-cli-commons"
+ ]
+ },
"commons-codec:commons-codec": {
- "locked": "1.14",
+ "locked": "1.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
@@ -1841,6 +1817,12 @@
"org.apache.httpcomponents:httpclient"
]
},
+ "info.picocli:picocli": {
+ "locked": "4.3.2",
+ "transitive": [
+ "org.codehaus.groovy:groovy-cli-picocli"
+ ]
+ },
"jakarta.activation:jakarta.activation-api": {
"locked": "1.2.2",
"transitive": [
@@ -1880,6 +1862,12 @@
"com.sun.jersey:jersey-core"
]
},
+ "jline:jline": {
+ "locked": "2.14.6",
+ "transitive": [
+ "org.codehaus.groovy:groovy-groovysh"
+ ]
+ },
"joda-time:joda-time": {
"locked": "2.8.1",
"transitive": [
@@ -1890,13 +1878,15 @@
"junit:junit": {
"locked": "4.13.2",
"transitive": [
+ "org.codehaus.groovy:groovy-test",
"org.junit.vintage:junit-vintage-engine",
"org.powermock:powermock-module-junit4",
- "org.powermock:powermock-module-junit4-common"
+ "org.powermock:powermock-module-junit4-common",
+ "org.spockframework:spock-core"
]
},
"net.bytebuddy:byte-buddy": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core",
"org.powermock:powermock-core",
@@ -1904,7 +1894,7 @@
]
},
"net.bytebuddy:byte-buddy-agent": {
- "locked": "1.10.22",
+ "locked": "1.12.12",
"transitive": [
"org.mockito:mockito-core",
"org.powermock:powermock-core",
@@ -1912,13 +1902,13 @@
]
},
"net.minidev:accessors-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"net.minidev:json-smart"
]
},
"net.minidev:json-smart": {
- "locked": "2.3.1",
+ "locked": "2.4.8",
"transitive": [
"com.jayway.jsonpath:json-path"
]
@@ -1935,6 +1925,32 @@
"org.antlr:antlr-runtime"
]
},
+ "org.apache.ant:ant": {
+ "locked": "1.9.15",
+ "transitive": [
+ "org.apache.ant:ant-junit",
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
+ "org.apache.ant:ant-antlr": {
+ "locked": "1.9.15",
+ "transitive": [
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
+ "org.apache.ant:ant-junit": {
+ "locked": "1.9.15",
+ "transitive": [
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
+ "org.apache.ant:ant-launcher": {
+ "locked": "1.9.15",
+ "transitive": [
+ "org.apache.ant:ant",
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
"org.apache.bval:bval-jsr": {
"locked": "2.0.5",
"transitive": [
@@ -1942,7 +1958,7 @@
]
},
"org.apache.commons:commons-lang3": {
- "locked": "3.10",
+ "locked": "3.12.0",
"transitive": [
"com.netflix.conductor:conductor-common"
]
@@ -1962,13 +1978,13 @@
]
},
"org.apache.httpcomponents:httpcore": {
- "locked": "4.4.14",
+ "locked": "4.4.15",
"transitive": [
"org.apache.httpcomponents:httpclient"
]
},
"org.apache.logging.log4j:log4j-api": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1979,7 +1995,7 @@
]
},
"org.apache.logging.log4j:log4j-core": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1989,7 +2005,7 @@
]
},
"org.apache.logging.log4j:log4j-jul": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -1997,7 +2013,7 @@
]
},
"org.apache.logging.log4j:log4j-slf4j-impl": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common",
@@ -2005,33 +2021,202 @@
]
},
"org.apache.logging.log4j:log4j-web": {
- "locked": "2.17.0",
+ "locked": "2.17.1",
"transitive": [
"com.netflix.conductor:conductor-annotations",
"com.netflix.conductor:conductor-common"
]
},
- "org.apiguardian:apiguardian-api": {
- "locked": "1.1.0",
+ "org.assertj:assertj-core": {
+ "locked": "3.22.0",
"transitive": [
- "org.junit.jupiter:junit-jupiter-api",
- "org.junit.jupiter:junit-jupiter-engine",
- "org.junit.jupiter:junit-jupiter-params",
- "org.junit.platform:junit-platform-commons",
- "org.junit.platform:junit-platform-engine",
- "org.junit.vintage:junit-vintage-engine"
+ "org.springframework.boot:spring-boot-starter-test"
]
},
- "org.assertj:assertj-core": {
- "locked": "3.16.1",
+ "org.codehaus.groovy:groovy": {
+ "locked": "2.5.13",
"transitive": [
- "org.springframework.boot:spring-boot-starter-test"
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-ant",
+ "org.codehaus.groovy:groovy-cli-commons",
+ "org.codehaus.groovy:groovy-cli-picocli",
+ "org.codehaus.groovy:groovy-console",
+ "org.codehaus.groovy:groovy-datetime",
+ "org.codehaus.groovy:groovy-docgenerator",
+ "org.codehaus.groovy:groovy-groovydoc",
+ "org.codehaus.groovy:groovy-groovysh",
+ "org.codehaus.groovy:groovy-jmx",
+ "org.codehaus.groovy:groovy-json",
+ "org.codehaus.groovy:groovy-jsr223",
+ "org.codehaus.groovy:groovy-macro",
+ "org.codehaus.groovy:groovy-nio",
+ "org.codehaus.groovy:groovy-servlet",
+ "org.codehaus.groovy:groovy-sql",
+ "org.codehaus.groovy:groovy-swing",
+ "org.codehaus.groovy:groovy-templates",
+ "org.codehaus.groovy:groovy-test",
+ "org.codehaus.groovy:groovy-test-junit5",
+ "org.codehaus.groovy:groovy-testng",
+ "org.codehaus.groovy:groovy-xml",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-all": {
+ "locked": "2.5.13"
+ },
+ "org.codehaus.groovy:groovy-ant": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-cli-commons": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-cli-picocli": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-console",
+ "org.codehaus.groovy:groovy-docgenerator",
+ "org.codehaus.groovy:groovy-groovydoc",
+ "org.codehaus.groovy:groovy-groovysh"
+ ]
+ },
+ "org.codehaus.groovy:groovy-console": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-groovysh"
+ ]
+ },
+ "org.codehaus.groovy:groovy-datetime": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-docgenerator": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-groovydoc"
+ ]
+ },
+ "org.codehaus.groovy:groovy-groovydoc": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-ant"
+ ]
+ },
+ "org.codehaus.groovy:groovy-groovysh": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-jmx": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-json": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-jsr223": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-macro": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-nio": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-servlet": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-sql": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-swing": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-console"
+ ]
+ },
+ "org.codehaus.groovy:groovy-templates": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-console",
+ "org.codehaus.groovy:groovy-docgenerator",
+ "org.codehaus.groovy:groovy-groovydoc",
+ "org.codehaus.groovy:groovy-servlet",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-test": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.codehaus.groovy:groovy-test-junit5": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
+ ]
+ },
+ "org.codehaus.groovy:groovy-testng": {
+ "locked": "2.5.13",
+ "transitive": [
+ "org.codehaus.groovy:groovy-all"
]
},
- "org.checkerframework:checker-qual": {
- "locked": "3.5.0",
+ "org.codehaus.groovy:groovy-xml": {
+ "locked": "2.5.13",
"transitive": [
- "com.google.guava:guava"
+ "org.codehaus.groovy:groovy-all",
+ "org.codehaus.groovy:groovy-servlet",
+ "org.codehaus.groovy:groovy-templates",
+ "org.spockframework:spock-core",
+ "org.spockframework:spock-spring"
]
},
"org.codehaus.jettison:jettison": {
@@ -2050,6 +2235,7 @@
"org.hamcrest:hamcrest-core": {
"locked": "2.2",
"transitive": [
+ "junit:junit",
"org.powermock:powermock-module-junit4",
"org.powermock:powermock-module-junit4-common"
]
@@ -2061,14 +2247,15 @@
]
},
"org.junit.jupiter:junit-jupiter": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.junit.jupiter:junit-jupiter-api": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
+ "org.codehaus.groovy:groovy-test-junit5",
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-engine",
"org.junit.jupiter:junit-jupiter-params",
@@ -2076,39 +2263,44 @@
]
},
"org.junit.jupiter:junit-jupiter-engine": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
+ "org.codehaus.groovy:groovy-test-junit5",
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.jupiter:junit-jupiter-params": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter"
]
},
"org.junit.platform:junit-platform-commons": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-api",
"org.junit.platform:junit-platform-engine"
]
},
"org.junit.platform:junit-platform-engine": {
- "locked": "1.6.3",
+ "locked": "1.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter-engine",
+ "org.junit.platform:junit-platform-launcher",
"org.junit.vintage:junit-vintage-engine"
]
},
- "org.junit.vintage:junit-vintage-engine": {
- "locked": "5.6.3",
+ "org.junit.platform:junit-platform-launcher": {
+ "locked": "1.8.2",
"transitive": [
- "org.springframework.boot:spring-boot-starter-test"
+ "org.codehaus.groovy:groovy-test-junit5"
]
},
+ "org.junit.vintage:junit-vintage-engine": {
+ "locked": "5.8.2"
+ },
"org.junit:junit-bom": {
- "locked": "5.6.3",
+ "locked": "5.8.2",
"transitive": [
"org.junit.jupiter:junit-jupiter",
"org.junit.jupiter:junit-jupiter-api",
@@ -2116,11 +2308,12 @@
"org.junit.jupiter:junit-jupiter-params",
"org.junit.platform:junit-platform-commons",
"org.junit.platform:junit-platform-engine",
+ "org.junit.platform:junit-platform-launcher",
"org.junit.vintage:junit-vintage-engine"
]
},
"org.mockito:mockito-core": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.mockito:mockito-junit-jupiter",
"org.powermock:powermock-api-mockito2",
@@ -2128,13 +2321,13 @@
]
},
"org.mockito:mockito-junit-jupiter": {
- "locked": "3.3.3",
+ "locked": "4.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.objenesis:objenesis": {
- "locked": "3.0.1",
+ "locked": "3.2",
"transitive": [
"org.mockito:mockito-core",
"org.powermock:powermock-reflect"
@@ -2148,7 +2341,7 @@
]
},
"org.ow2.asm:asm": {
- "locked": "5.0.4",
+ "locked": "9.1",
"transitive": [
"net.minidev:accessors-smart"
]
@@ -2187,20 +2380,20 @@
]
},
"org.skyscreamer:jsonassert": {
- "locked": "1.5.0",
+ "locked": "1.5.1",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.slf4j:jul-to-slf4j": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"org.springframework.boot:spring-boot-starter-log4j2",
"org.springframework.boot:spring-boot-starter-logging"
]
},
"org.slf4j:slf4j-api": {
- "locked": "1.7.30",
+ "locked": "1.7.36",
"transitive": [
"com.jayway.jsonpath:json-path",
"com.netflix.archaius:archaius-core",
@@ -2212,8 +2405,17 @@
"org.slf4j:jul-to-slf4j"
]
},
+ "org.spockframework:spock-core": {
+ "locked": "1.3-groovy-2.5",
+ "transitive": [
+ "org.spockframework:spock-spring"
+ ]
+ },
+ "org.spockframework:spock-spring": {
+ "locked": "1.3-groovy-2.5"
+ },
"org.springframework.boot:spring-boot": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-autoconfigure",
"org.springframework.boot:spring-boot-starter",
@@ -2222,64 +2424,64 @@
]
},
"org.springframework.boot:spring-boot-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-starter": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework.boot:spring-boot-starter-log4j2": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-starter-logging": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
},
"org.springframework.boot:spring-boot-starter-test": {
- "locked": "2.3.12.RELEASE"
+ "locked": "2.7.2"
},
"org.springframework.boot:spring-boot-test": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.boot:spring-boot-test-autoconfigure"
]
},
"org.springframework.boot:spring-boot-test-autoconfigure": {
- "locked": "2.3.12.RELEASE",
+ "locked": "2.7.2",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.springframework:spring-aop": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-beans": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-aop",
"org.springframework:spring-context"
]
},
"org.springframework:spring-context": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot"
]
},
"org.springframework:spring-core": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot",
"org.springframework.boot:spring-boot-starter",
@@ -2292,31 +2494,37 @@
]
},
"org.springframework:spring-expression": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-context"
]
},
"org.springframework:spring-jcl": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework:spring-core"
]
},
"org.springframework:spring-test": {
- "locked": "5.2.15.RELEASE",
+ "locked": "5.3.22",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
+ "org.testng:testng": {
+ "locked": "6.13.1",
+ "transitive": [
+ "org.codehaus.groovy:groovy-testng"
+ ]
+ },
"org.xmlunit:xmlunit-core": {
- "locked": "2.7.0",
+ "locked": "2.9.0",
"transitive": [
"org.springframework.boot:spring-boot-starter-test"
]
},
"org.yaml:snakeyaml": {
- "locked": "1.26",
+ "locked": "1.30",
"transitive": [
"org.springframework.boot:spring-boot-starter"
]
diff --git a/client/spotbugsExclude.xml b/client/spotbugsExclude.xml
new file mode 100644
index 0000000000..29b642ca70
--- /dev/null
+++ b/client/spotbugsExclude.xml
@@ -0,0 +1,9 @@
+
+
* 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
@@ -18,13 +18,12 @@
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
+import java.util.function.Function;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
+import org.apache.commons.lang3.time.StopWatch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,10 +34,10 @@
import com.netflix.conductor.client.worker.Worker;
import com.netflix.conductor.common.metadata.tasks.Task;
import com.netflix.conductor.common.metadata.tasks.TaskResult;
-import com.netflix.conductor.common.utils.RetryUtil;
import com.netflix.discovery.EurekaClient;
-
-import com.google.common.base.Stopwatch;
+import com.netflix.spectator.api.Registry;
+import com.netflix.spectator.api.Spectator;
+import com.netflix.spectator.api.patterns.ThreadPoolMonitor;
/**
* Manages the threadpool used by the workers for execution and server communication (polling and
@@ -48,6 +47,8 @@ class TaskPollExecutor {
private static final Logger LOGGER = LoggerFactory.getLogger(TaskPollExecutor.class);
+ private static final Registry REGISTRY = Spectator.globalRegistry();
+
private final EurekaClient eurekaClient;
private final TaskClient taskClient;
private final int updateRetryCount;
@@ -59,6 +60,11 @@ class TaskPollExecutor {
private static final String OVERRIDE_DISCOVERY = "pollOutOfDiscovery";
private static final String ALL_WORKERS = "all";
+ private static final int LEASE_EXTEND_RETRY_COUNT = 3;
+ private static final double LEASE_EXTEND_DURATION_FACTOR = 0.8;
+ private ScheduledExecutorService leaseExtendExecutorService;
+ Map
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package com.netflix.conductor.client.http;
+
+import java.net.URI;
+
+import javax.ws.rs.core.MediaType;
+
+import com.netflix.conductor.common.config.ObjectMapperProvider;
+import com.netflix.conductor.common.model.BulkResponse;
+
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.ClientHandler;
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.api.client.config.ClientConfig;
+import com.sun.jersey.api.client.filter.ClientFilter;
+
+public class ClientRequestHandler {
+ private final Client client;
+
+ public ClientRequestHandler(
+ ClientConfig config, ClientHandler handler, ClientFilter... filters) {
+ ObjectMapper objectMapper = new ObjectMapperProvider().getObjectMapper();
+
+ // https://github.com/FasterXML/jackson-databind/issues/2683
+ if (isNewerJacksonVersion()) {
+ objectMapper.registerModule(new JavaTimeModule());
+ }
+
+ JacksonJsonProvider provider = new JacksonJsonProvider(objectMapper);
+ config.getSingletons().add(provider);
+
+ if (handler == null) {
+ this.client = Client.create(config);
+ } else {
+ this.client = new Client(handler, config);
+ }
+
+ for (ClientFilter filter : filters) {
+ this.client.addFilter(filter);
+ }
+ }
+
+ public BulkResponse delete(URI uri, Object body) {
+ if (body != null) {
+ return client.resource(uri)
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .delete(BulkResponse.class, body);
+ } else {
+ client.resource(uri).delete();
+ }
+ return null;
+ }
+
+ public ClientResponse get(URI uri) {
+ return client.resource(uri)
+ .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN)
+ .get(ClientResponse.class);
+ }
+
+ public WebResource.Builder getWebResourceBuilder(URI URI, Object entity) {
+ return client.resource(URI)
+ .type(MediaType.APPLICATION_JSON)
+ .entity(entity)
+ .accept(MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON);
+ }
+
+ private boolean isNewerJacksonVersion() {
+ Version version = com.fasterxml.jackson.databind.cfg.PackageVersion.VERSION;
+ return version.getMajorVersion() == 2 && version.getMinorVersion() >= 12;
+ }
+}
diff --git a/client/src/main/java/com/netflix/conductor/client/http/EventClient.java b/client/src/main/java/com/netflix/conductor/client/http/EventClient.java
index 970b919db3..da494ae925 100644
--- a/client/src/main/java/com/netflix/conductor/client/http/EventClient.java
+++ b/client/src/main/java/com/netflix/conductor/client/http/EventClient.java
@@ -14,13 +14,12 @@
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.Validate;
import com.netflix.conductor.client.config.ConductorClientConfiguration;
import com.netflix.conductor.client.config.DefaultConductorClientConfiguration;
import com.netflix.conductor.common.metadata.events.EventHandler;
-import com.google.common.base.Preconditions;
import com.sun.jersey.api.client.ClientHandler;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.config.ClientConfig;
@@ -36,7 +35,9 @@ public EventClient() {
this(new DefaultClientConfig(), new DefaultConductorClientConfiguration(), null);
}
- /** @param clientConfig REST Client configuration */
+ /**
+ * @param clientConfig REST Client configuration
+ */
public EventClient(ClientConfig clientConfig) {
this(clientConfig, new DefaultConductorClientConfiguration(), null);
}
@@ -73,10 +74,11 @@ public EventClient(
ConductorClientConfiguration clientConfiguration,
ClientHandler handler,
ClientFilter... filters) {
- super(config, clientConfiguration, handler);
- for (ClientFilter filter : filters) {
- super.client.addFilter(filter);
- }
+ super(new ClientRequestHandler(config, handler, filters), clientConfiguration);
+ }
+
+ EventClient(ClientRequestHandler requestHandler) {
+ super(requestHandler, null);
}
/**
@@ -85,7 +87,7 @@ public EventClient(
* @param eventHandler the eventHandler definition
*/
public void registerEventHandler(EventHandler eventHandler) {
- Preconditions.checkNotNull(eventHandler, "Event Handler definition cannot be null");
+ Validate.notNull(eventHandler, "Event Handler definition cannot be null");
postForEntityWithRequestOnly("event", eventHandler);
}
@@ -95,7 +97,7 @@ public void registerEventHandler(EventHandler eventHandler) {
* @param eventHandler the eventHandler definition
*/
public void updateEventHandler(EventHandler eventHandler) {
- Preconditions.checkNotNull(eventHandler, "Event Handler definition cannot be null");
+ Validate.notNull(eventHandler, "Event Handler definition cannot be null");
put("event", null, eventHandler);
}
@@ -105,8 +107,7 @@ public void updateEventHandler(EventHandler eventHandler) {
* @return Returns the list of all the event handlers for a given event
*/
public List
* 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
@@ -14,11 +14,14 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,7 +38,6 @@
import com.netflix.conductor.common.utils.ExternalPayloadStorage;
import com.netflix.conductor.common.utils.ExternalPayloadStorage.PayloadType;
-import com.google.common.base.Preconditions;
import com.sun.jersey.api.client.ClientHandler;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.config.ClientConfig;
@@ -69,7 +71,9 @@ public TaskClient() {
this(new DefaultClientConfig(), new DefaultConductorClientConfiguration(), null);
}
- /** @param config REST Client configuration */
+ /**
+ * @param config REST Client configuration
+ */
public TaskClient(ClientConfig config) {
this(config, new DefaultConductorClientConfiguration(), null);
}
@@ -106,10 +110,11 @@ public TaskClient(
ConductorClientConfiguration clientConfiguration,
ClientHandler handler,
ClientFilter... filters) {
- super(config, clientConfiguration, handler);
- for (ClientFilter filter : filters) {
- super.client.addFilter(filter);
- }
+ super(new ClientRequestHandler(config, handler, filters), clientConfiguration);
+ }
+
+ TaskClient(ClientRequestHandler requestHandler) {
+ super(requestHandler, null);
}
/**
@@ -121,14 +126,14 @@ public TaskClient(
* @return Task waiting to be executed.
*/
public Task pollTask(String taskType, String workerId, String domain) {
- Preconditions.checkArgument(StringUtils.isNotBlank(taskType), "Task type cannot be blank");
- Preconditions.checkArgument(StringUtils.isNotBlank(workerId), "Worker id cannot be blank");
+ Validate.notBlank(taskType, "Task type cannot be blank");
+ Validate.notBlank(workerId, "Worker id cannot be blank");
Object[] params = new Object[] {"workerid", workerId, "domain", domain};
Task task =
- Optional.ofNullable(
- getForEntity("tasks/poll/{taskType}", params, Task.class, taskType))
- .orElse(new Task());
+ ObjectUtils.defaultIfNull(
+ getForEntity("tasks/poll/{taskType}", params, Task.class, taskType),
+ new Task());
populateTaskPayloads(task);
return task;
}
@@ -145,9 +150,9 @@ public Task pollTask(String taskType, String workerId, String domain) {
*/
public List