diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index 5aba474e80..b4a16a9ef6 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -8,9 +8,8 @@ on: type: boolean description: Only update the latest versions of every OpenRewrite module default: true - # Disabled because we have a broken recipe. - # schedule: - # - cron: 0 0 * * * + schedule: + - cron: 0 0 * * * concurrency: group: "update-docs" diff --git a/docs/changelog/8-64-0-Release.md b/docs/changelog/8-64-0-Release.md new file mode 100644 index 0000000000..317d080159 --- /dev/null +++ b/docs/changelog/8-64-0-Release.md @@ -0,0 +1,127 @@ +--- +description: What's changed in OpenRewrite version 8.64.0. +--- + +# 8.64.0 release (2025-10-22) + +_Total recipe count: 4942_ + +:::info +This changelog only shows what recipes have been added, removed, or changed. OpenRewrite may do releases that do not include these types of changes. To see these changes, please go to the [releases page](https://github.com/openrewrite/rewrite/releases). +::: + +## Corresponding CLI version + +* Stable CLI version `v3.49.0` +* Staging CLI version: `v3.50.0` + +## New Artifacts + +* rewrite-toml + +## New Recipes + +* [io.moderne.java.spring.boot.FieldToConstructorInjection](https://docs.openrewrite.org/recipes/java/spring/boot/fieldtoconstructorinjection): Converts `@Autowired` field injection to constructor injection pattern. For non-final classes, adds both a no-args constructor and the autowired constructor to maintain compatibility with extending classes. Moves `@Qualifier` annotations to constructor parameters. +* [io.moderne.java.spring.framework.beansxml.BeansXmlToConfiguration](https://docs.openrewrite.org/recipes/java/spring/framework/beansxml/beansxmltoconfiguration): Converts Java/Jakarta EE `beans.xml` configuration files to Spring Framework `@Configuration` classes. +* [io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe](https://docs.openrewrite.org/recipes/io/quarkus/updates/camel/camel415/camelquarkusmigrationrecipe): Migrates `camel 4.14` Quarkus application to `camel 4.15`. +* [org.apache.camel.upgrade.camel415.CamelMigrationRecipe](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe): Migrates `camel 4.14` application to `camel 4.15`. +* [org.apache.camel.upgrade.camel415.aiNestedHeadersClasses](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/camel415/ainestedheadersclasses): Changed types of camel AI nested headers classes. +* [org.apache.camel.upgrade.camel415.dataFormats](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/camel415/dataformats): Refactored dataFormats. +* [org.apache.camel.upgrade.camel415.nettyAndNettyHttp](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/camel415/nettyandnettyhttp): Changed parameter in camel-netty and camel-netty-http + enhanced value. +* [org.apache.camel.upgrade.camel415.xmlDataFormats](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/camel415/xmldataformats): Refactored dataFormats (XML DSL). +* [org.apache.camel.upgrade.camel415.yamDataFormats](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/camel415/yamdataformats): Refactored dataFormats (YAML DSL). +* [org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml): Apache Camel XML DSL migration from version 4.9 o 4.10. +* [org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml): ARenames property of the component. +* [org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml): Apache Camel XML DSL migration from version 4.9 o 4.10. +* [org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml](https://docs.openrewrite.org/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml): ARenames property of the component. +* [org.openrewrite.featureflags.RemoveDoubleFlag](https://docs.openrewrite.org/recipes/featureflags/removedoubleflag): Replace method invocations for feature key with value, and simplify constant if branch execution. +* [org.openrewrite.featureflags.RemoveIntegerFlag](https://docs.openrewrite.org/recipes/featureflags/removeintegerflag): Replace method invocations for feature key with value, and simplify constant if branch execution. +* [org.openrewrite.featureflags.launchdarkly.RemoveDoubleVariation](https://docs.openrewrite.org/recipes/featureflags/launchdarkly/removedoublevariation): Replace `doubleVariation` invocations for feature key with value, and simplify constant if branch execution. +* [org.openrewrite.featureflags.launchdarkly.RemoveIntVariation](https://docs.openrewrite.org/recipes/featureflags/launchdarkly/removeintvariation): Replace `intVariation` invocations for feature key with value, and simplify constant if branch execution. +* [org.openrewrite.featureflags.openfeature.RemoveGetDoubleValue](https://docs.openrewrite.org/recipes/featureflags/openfeature/removegetdoublevalue): Replace `getDoubleValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution. +* [org.openrewrite.featureflags.openfeature.RemoveGetIntegerValue](https://docs.openrewrite.org/recipes/featureflags/openfeature/removegetintegervalue): Replace `getIntegerValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution. +* [org.openrewrite.featureflags.openfeature.RemoveGetStringValue](https://docs.openrewrite.org/recipes/featureflags/openfeature/removegetstringvalue): Replace `getStringValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution. +* [org.openrewrite.java.jackson.ReplaceStreamWriteCapability](https://docs.openrewrite.org/recipes/java/jackson/replacestreamwritecapability): In Jackson 3, `JsonGenerator.canWriteBinaryNatively()` and `canWriteFormattedNumbers()` were removed and replaced with the `StreamWriteCapability` enum. This recipe updates these method calls to use `getWriteCapabilities().isEnabled(StreamWriteCapability.*)` instead. +* [org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr](https://docs.openrewrite.org/recipes/java/migrate/guava/noguavapredicatesandor): Prefer `Predicate.and(Predicate)` over `Predicates.and(Predicate, Predicate)`. +* [org.openrewrite.java.search.HasMethod](https://docs.openrewrite.org/recipes/java/search/hasmethod): Marks files that have at least one occurrence of a method matching a pattern. +* [org.openrewrite.java.search.HasType](https://docs.openrewrite.org/recipes/java/search/hastype): Marks files that have at least one occurrence of a type, even if the name of that type doesn't appear in the source code. +* [org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile](https://docs.openrewrite.org/recipes/java/spring/separateapplicationpropertiesbyprofile): Separating `application.properties` into separate files based on profiles. +* [org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5](https://docs.openrewrite.org/recipes/java/spring/security6/upgradespringsecurity_6_5): Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. +* [org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses](https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainers2containerclasses): Change Testcontainers container classes to their new package locations in Testcontainers 2.x. +* [org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies](https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainers2dependencies): Change Testcontainers dependencies to adopt the new consistent `testcontainers-` prefix. +* [org.openrewrite.java.testing.testcontainers.Testcontainers2Migration](https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainers2migration): Change dependencies and types to migrate to testcontainers-java 2.x. +* [org.openrewrite.maven.MigrateToMaven4](https://docs.openrewrite.org/recipes/maven/migratetomaven4): Migrates Maven POMs from Maven 3 to Maven 4, addressing breaking changes and deprecations. This recipe updates property expressions, lifecycle phases, removes duplicate plugin declarations, and replaces removed properties to ensure compatibility with Maven 4. +* [org.openrewrite.maven.RemoveDuplicatePluginDeclarations](https://docs.openrewrite.org/recipes/maven/removeduplicateplugindeclarations): Maven 4 rejects duplicate plugin declarations (same groupId and artifactId) with an error. This recipe removes duplicate plugin declarations, keeping only the first occurrence. +* [org.openrewrite.maven.ReplaceDeprecatedLifecyclePhases](https://docs.openrewrite.org/recipes/maven/replacedeprecatedlifecyclephases): Maven 4 deprecated all `pre-*` and `post-*` lifecycle phases in favor of the `before:` and `after:` syntax. This recipe updates plugin phase declarations to use the new syntax, including `pre-clean` → `before:clean`, `pre-site` → `before:site`, `pre-integration-test` → `before:integration-test`, and their `post-*` equivalents. +* [org.openrewrite.maven.ReplaceModulesWithSubprojects](https://docs.openrewrite.org/recipes/maven/replacemoduleswithsubprojects): Maven 4 model version 4.1.0 deprecates the `` element in favor of `` to eliminate confusion with Java's Platform Module System (JPMS). This recipe renames `` to `` and `` children to ``. +* [org.openrewrite.maven.ReplaceRemovedRootDirectoryProperties](https://docs.openrewrite.org/recipes/maven/replaceremovedrootdirectoryproperties): Maven 4 removed support for deprecated root directory properties. This recipe replaces `${executionRootDirectory}` with `${session.rootDirectory}` and `${multiModuleProjectDirectory}` with `${project.rootDirectory}`. +* [org.openrewrite.maven.UpgradeToModelVersion410](https://docs.openrewrite.org/recipes/maven/upgradetomodelversion410): Upgrades Maven POMs from model version 4.0.0 to 4.1.0, enabling new Maven 4 features like ``, `bom` packaging, and automatic version inference. This recipe updates the `` element, `xmlns` namespace, and `xsi:schemaLocation` from 4.0.0 to 4.1.0. +* [org.openrewrite.maven.UseParentInference](https://docs.openrewrite.org/recipes/maven/useparentinference): Maven 4.1.0 supports automatic parent version inference when using a relative path. This recipe simplifies parent declarations by using the shorthand `` form when the parent is in the default location (`..`), removing the explicit ``, ``, ``, and `` elements. Maven automatically infers these values from the parent POM. +* [org.openrewrite.toml.ChangeKey](https://docs.openrewrite.org/recipes/toml/changekey): Change a TOML key, while leaving the value intact. +* [org.openrewrite.toml.ChangeTableRowValue](https://docs.openrewrite.org/recipes/toml/changetablerowvalue): Change a value in a TOML table row when the identifying property matches the specified matcher. +* [org.openrewrite.toml.ChangeValue](https://docs.openrewrite.org/recipes/toml/changevalue): Change the value of a TOML key. +* [org.openrewrite.toml.CreateTomlFile](https://docs.openrewrite.org/recipes/toml/createtomlfile): Create a new TOML file. +* [org.openrewrite.toml.DeleteKey](https://docs.openrewrite.org/recipes/toml/deletekey): Delete a TOML key-value pair. +* [org.openrewrite.toml.DeleteTable](https://docs.openrewrite.org/recipes/toml/deletetable): Delete a TOML table. +* [org.openrewrite.toml.DeleteTableRow](https://docs.openrewrite.org/recipes/toml/deletetablerow): Delete a TOML table row when one of its values matches the specified matcher. +* [org.openrewrite.toml.FindKey](https://docs.openrewrite.org/recipes/toml/findkey): Find TOML keys matching a path expression. +* [org.openrewrite.toml.MergeTableRow](https://docs.openrewrite.org/recipes/toml/mergetablerow): Merge a TOML row into an array table. If a row with the same identifying property exists, merge the values. Otherwise, insert a new row. +* [org.openrewrite.toml.ReplaceTableRow](https://docs.openrewrite.org/recipes/toml/replacetablerow): Replace a TOML table row with new content. If a row with the same identifying property exists, replace it entirely. + +## Removed Recipes + +* **io.moderne.java.spring.framework.webxml.DeleteEmptyWebXml**: Deletes `web.xml` files that contain only an empty `` root element with no child elements. +* **org.openrewrite.spring.webxml.MigrateToJakartaEEServletConfiguration**: Migrates `web.xml` content to Spring Boot Configuration classes using Jakarta EE namespace. +* **org.openrewrite.spring.webxml.MigrateToJavaXServletConfiguration**: Migrates `web.xml` content to Spring Boot Configuration classes using Java EE javax namespace. +* **org.openrewrite.spring.webxml.RemoveWebXml**: Migrates `web.xml` content to Spring Boot Configuration classes with respect to Java EE or Jakarta EE usage. + +## Changed Recipes + +* [org.openrewrite.maven.AddManagedDependency](https://docs.openrewrite.org/recipes/maven/addmanageddependency) was changed: + * Old Options: + * `addToRootPom: { type: Boolean, required: false }` + * `artifactId: { type: String, required: true }` + * `classifier: { type: String, required: false }` + * `groupId: { type: String, required: true }` + * `onlyIfUsing: { type: String, required: false }` + * `releasesOnly: { type: Boolean, required: false }` + * `scope: { type: String, required: false }` + * `type: { type: String, required: false }` + * `version: { type: String, required: true }` + * `versionPattern: { type: String, required: false }` + * New Options: + * `addToRootPom: { type: Boolean, required: false }` + * `artifactId: { type: String, required: true }` + * `because: { type: String, required: false }` + * `classifier: { type: String, required: false }` + * `groupId: { type: String, required: true }` + * `onlyIfUsing: { type: String, required: false }` + * `releasesOnly: { type: Boolean, required: false }` + * `scope: { type: String, required: false }` + * `type: { type: String, required: false }` + * `version: { type: String, required: true }` + * `versionPattern: { type: String, required: false }` +* [org.openrewrite.maven.UpgradeTransitiveDependencyVersion](https://docs.openrewrite.org/recipes/maven/upgradetransitivedependencyversion) was changed: + * Old Options: + * `addToRootPom: { type: Boolean, required: false }` + * `artifactId: { type: String, required: true }` + * `classifier: { type: String, required: false }` + * `groupId: { type: String, required: true }` + * `onlyIfUsing: { type: String, required: false }` + * `releasesOnly: { type: Boolean, required: false }` + * `scope: { type: String, required: false }` + * `type: { type: String, required: false }` + * `version: { type: String, required: true }` + * `versionPattern: { type: String, required: false }` + * New Options: + * `addToRootPom: { type: Boolean, required: false }` + * `artifactId: { type: String, required: true }` + * `because: { type: String, required: false }` + * `classifier: { type: String, required: false }` + * `groupId: { type: String, required: true }` + * `onlyIfUsing: { type: String, required: false }` + * `releasesOnly: { type: Boolean, required: false }` + * `scope: { type: String, required: false }` + * `type: { type: String, required: false }` + * `version: { type: String, required: true }` + * `versionPattern: { type: String, required: false }` \ No newline at end of file diff --git a/docs/recipes/ai/timefold/solver/migration/changeversion.md b/docs/recipes/ai/timefold/solver/migration/changeversion.md index fe417eecd3..bcef948ec7 100644 --- a/docs/recipes/ai/timefold/solver/migration/changeversion.md +++ b/docs/recipes/ai/timefold/solver/migration/changeversion.md @@ -30,27 +30,27 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Change Maven project property value](../../../../maven/changepropertyvalue) * key: `version.ai.timefold.solver` - * newValue: `1.26.2` + * newValue: `1.27.0` * addIfMissing: `false` * trustParent: `true` * [Change Maven project property value](../../../../maven/changepropertyvalue) * key: `version.timefold` - * newValue: `1.26.2` + * newValue: `1.27.0` * addIfMissing: `false` * trustParent: `true` * [Change Maven project property value](../../../../maven/changepropertyvalue) * key: `ai.timefold.solver.version` - * newValue: `1.26.2` + * newValue: `1.27.0` * addIfMissing: `false` * trustParent: `true` * [Change Maven project property value](../../../../maven/changepropertyvalue) * key: `timefold.version` - * newValue: `1.26.2` + * newValue: `1.27.0` * addIfMissing: `false` * trustParent: `true` * [Change Maven project property value](../../../../maven/changepropertyvalue) * key: `timefoldVersion` - * newValue: `1.26.2` + * newValue: `1.27.0` * addIfMissing: `false` * trustParent: `true` @@ -68,27 +68,27 @@ description: | recipeList: - org.openrewrite.maven.ChangePropertyValue: key: version.ai.timefold.solver - newValue: 1.26.2 + newValue: 1.27.0 addIfMissing: false trustParent: true - org.openrewrite.maven.ChangePropertyValue: key: version.timefold - newValue: 1.26.2 + newValue: 1.27.0 addIfMissing: false trustParent: true - org.openrewrite.maven.ChangePropertyValue: key: ai.timefold.solver.version - newValue: 1.26.2 + newValue: 1.27.0 addIfMissing: false trustParent: true - org.openrewrite.maven.ChangePropertyValue: key: timefold.version - newValue: 1.26.2 + newValue: 1.27.0 addIfMissing: false trustParent: true - org.openrewrite.maven.ChangePropertyValue: key: timefoldVersion - newValue: 1.26.2 + newValue: 1.27.0 addIfMissing: false trustParent: true diff --git a/docs/recipes/apache/commons/lang/wordutilstocommonstext.md b/docs/recipes/apache/commons/lang/wordutilstocommonstext.md index a448519c07..8796620982 100644 --- a/docs/recipes/apache/commons/lang/wordutilstocommonstext.md +++ b/docs/recipes/apache/commons/lang/wordutilstocommonstext.md @@ -98,6 +98,109 @@ This recipe is used as part of the following composite recipes: * [Migrates to Apache Commons Lang 3.x](/recipes/apache/commons/lang/upgradeapachecommonslang_2_3.md) +## Examples +##### Example 1 +`WordUtilsToCommonsTextTest#migrateWordUtilsToCommonsText` + + + + + + +###### Before +```java +import org.apache.commons.lang.WordUtils; + +class Lang2 { + String capitalize(String str) { + return WordUtils.capitalize(str); + } + + String wrap(String str, int width) { + return WordUtils.wrap(str, width); + } +} +``` + +###### After +```java +import org.apache.commons.text.WordUtils; + +class Lang2 { + String capitalize(String str) { + return WordUtils.capitalize(str); + } + + String wrap(String str, int width) { + return WordUtils.wrap(str, width); + } +} +``` + + + + +```diff +@@ -1,1 +1,1 @@ +-import org.apache.commons.lang.WordUtils; ++import org.apache.commons.text.WordUtils; + +``` + + + +--- + +##### Example 2 +`WordUtilsToCommonsTextTest#migrateWordUtilsToCommonsText` + + + + + + +###### Before +```java +import org.apache.commons.lang.WordUtils; + +class Lang2 { + String capitalize(String str) { + return WordUtils.capitalize(str); + } + + String wrap(String str, int width) { + return WordUtils.wrap(str, width); + } +} +``` + +###### After +```java +import org.apache.commons.text.WordUtils; + +class Lang2 { + String capitalize(String str) { + return WordUtils.capitalize(str); + } + + String wrap(String str, int width) { + return WordUtils.wrap(str, width); + } +} +``` + + + + +```diff +@@ -1,1 +1,1 @@ +-import org.apache.commons.lang.WordUtils; ++import org.apache.commons.text.WordUtils; + +``` + + + ## Usage diff --git a/docs/recipes/apache/httpclient4/mappingdeprecatedclasses.md b/docs/recipes/apache/httpclient4/mappingdeprecatedclasses.md index c778beb8d8..cab5adcddc 100644 --- a/docs/recipes/apache/httpclient4/mappingdeprecatedclasses.md +++ b/docs/recipes/apache/httpclient4/mappingdeprecatedclasses.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient4.MappingDeprecatedClasses** -_Uses new classes/methods instead of the deprecated ones_ +_Uses new classes/methods instead of the deprecated ones._ ## Recipe source @@ -49,7 +49,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient4.MappingDeprecatedClasses displayName: Maps deprecated classes from Apache HttpClient 4.5.x to suggested replacements description: | - Uses new classes/methods instead of the deprecated ones + Uses new classes/methods instead of the deprecated ones. recipeList: - org.openrewrite.java.ReplaceConstantWithAnotherConstant: existingFullyQualifiedConstantName: org.apache.http.client.params.CookiePolicy.RFC_2109 diff --git a/docs/recipes/apache/httpclient5/migrateauthscope.md b/docs/recipes/apache/httpclient5/migrateauthscope.md index 385ea6decf..d6597e2603 100644 --- a/docs/recipes/apache/httpclient5/migrateauthscope.md +++ b/docs/recipes/apache/httpclient5/migrateauthscope.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.MigrateAuthScope** -_Replace removed constant `org.apache.http.auth.AuthScope.AuthScope.ANY` with `new org.apache.hc.client5.http.auth.AuthScope(null, -1)`_ +_Replace removed constant `org.apache.http.auth.AuthScope.AuthScope.ANY` with `new org.apache.hc.client5.http.auth.AuthScope(null, -1)`._ ## Recipe source diff --git a/docs/recipes/apache/httpclient5/statusline.md b/docs/recipes/apache/httpclient5/statusline.md index 08b50a8f51..66421f05fb 100644 --- a/docs/recipes/apache/httpclient5/statusline.md +++ b/docs/recipes/apache/httpclient5/statusline.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.StatusLine** -_Migrates deprecated methods to their equivalent ones in 5.x_ +_Migrates deprecated methods to their equivalent ones in 5.x._ ## Recipe source @@ -50,7 +50,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.StatusLine displayName: Migrate to ApacheHttpClient 5.x deprecated methods from 4.x description: | - Migrates deprecated methods to their equivalent ones in 5.x + Migrates deprecated methods to their equivalent ones in 5.x. recipeList: - org.openrewrite.java.SimplifyMethodChain: methodPatternChain: [org.apache.http.HttpResponse getStatusLine(), org.apache.http.StatusLine getStatusCode()] diff --git a/docs/recipes/apache/httpclient5/upgradeapachehttpclient_5_deprecatedmethods.md b/docs/recipes/apache/httpclient5/upgradeapachehttpclient_5_deprecatedmethods.md index 8aebbde71d..35aea0a237 100644 --- a/docs/recipes/apache/httpclient5/upgradeapachehttpclient_5_deprecatedmethods.md +++ b/docs/recipes/apache/httpclient5/upgradeapachehttpclient_5_deprecatedmethods.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.UpgradeApacheHttpClient\_5\_DeprecatedMethods** -_Migrates deprecated methods to their equivalent ones in 5.x_ +_Migrates deprecated methods to their equivalent ones in 5.x._ ## Recipe source @@ -57,7 +57,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.UpgradeApacheHttpClient_5_DeprecatedMethods displayName: Migrate to ApacheHttpClient 5.x deprecated methods from 4.x description: | - Migrates deprecated methods to their equivalent ones in 5.x + Migrates deprecated methods to their equivalent ones in 5.x. recipeList: - org.openrewrite.java.ChangeMethodName: methodPattern: org.apache.hc.client5.http.config.RequestConfig.Builder setSocketTimeout(int) diff --git a/docs/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md b/docs/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md index fd5e01ac19..e70d9d1757 100644 --- a/docs/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md +++ b/docs/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.UpgradeApacheHttpClientDependencies** -_Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`_ +_Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`._ ### Tags @@ -62,7 +62,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.UpgradeApacheHttpClientDependencies displayName: Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies description: | - Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents` + Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`. tags: - apache - httpclient diff --git a/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioinputbuffers.md b/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioinputbuffers.md index 7c6f804033..a934218063 100644 --- a/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioinputbuffers.md +++ b/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioinputbuffers.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore\_5\_NioInputBuffers** -_Mapping of specifically `*InputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x_ +_Mapping of specifically `*InputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x._ ## Recipe source @@ -73,7 +73,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore_5_NioInputBuffers displayName: Migrate Apache HttpCore Nio Input Buffer classes to Apache HttpCore 5.x description: | - Mapping of specifically `*InputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x + Mapping of specifically `*InputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x. recipeList: - org.openrewrite.java.AddCommentToMethodInvocations: comment: TODO: Check this usage, as implementation has changed to match that of old `.available()` method. diff --git a/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_niooutputbuffers.md b/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_niooutputbuffers.md index 82257ab36e..9b0ba551df 100644 --- a/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_niooutputbuffers.md +++ b/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_niooutputbuffers.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore\_5\_NioOutputBuffers** -_Mapping of specifically `*OutputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x_ +_Mapping of specifically `*OutputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x._ ## Recipe source @@ -73,7 +73,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore_5_NioOutputBuffers displayName: Migrate Apache HttpCore Nio Output Buffer classes to Apache HttpCore 5.x description: | - Mapping of specifically `*OutputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x + Mapping of specifically `*OutputBuffer` classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x. recipeList: - org.openrewrite.java.AddCommentToMethodInvocations: comment: TODO: Check this usage, as implementation has changed to match that of old `.available()` method. diff --git a/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioutilmapping.md b/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioutilmapping.md index c7bb7f26ad..61a986edc3 100644 --- a/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioutilmapping.md +++ b/docs/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioutilmapping.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore\_5\_NioUtilMapping** -_Mapping of all the compatible utility classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x_ +_Mapping of all the compatible utility classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x._ ## Recipe source @@ -42,7 +42,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore_5_NioUtilMapping displayName: Migrate to Apache HttpCore Nio Util Classes to Apache HttpCore 5.x description: | - Mapping of all the compatible utility classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x + Mapping of all the compatible utility classes of Apache HttpCore 5.x from Apache HttpCore Nio 4.4.x. recipeList: - org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore_5_NioInputBuffers - org.openrewrite.apache.httpclient5.UpgradeApacheHttpCore_5_NioOutputBuffers diff --git a/docs/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md b/docs/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md index 4aff340934..144a37dc16 100644 --- a/docs/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md +++ b/docs/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.apache.httpclient5.UpgradeApacheHttpCoreNioDependencies** -_Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`_ +_Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`._ ### Tags @@ -52,7 +52,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.apache.httpclient5.UpgradeApacheHttpCoreNioDependencies displayName: Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency description: | - Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio` + Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`. tags: - apache - httpclient diff --git a/docs/recipes/apache/poi/replacesetboldweightwithsetbold.md b/docs/recipes/apache/poi/replacesetboldweightwithsetbold.md index c634a1abda..9624fb76c1 100644 --- a/docs/recipes/apache/poi/replacesetboldweightwithsetbold.md +++ b/docs/recipes/apache/poi/replacesetboldweightwithsetbold.md @@ -19,6 +19,13 @@ _Replace `Font.setBoldweight(short)` or equivalent with `Font.setBold(boolean)`. This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates to Apache POI 3.17](/recipes/apache/poi/upgradeapachepoi_3_17.md) + ## Example diff --git a/docs/recipes/apache/poi/replacesetcelltype.md b/docs/recipes/apache/poi/replacesetcelltype.md index f6c8cda2ac..0c01656c83 100644 --- a/docs/recipes/apache/poi/replacesetcelltype.md +++ b/docs/recipes/apache/poi/replacesetcelltype.md @@ -19,6 +19,13 @@ _`Cell.setCellType()` can be configured with either an integer or a the `CellTyp This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates to Apache POI 3.17](/recipes/apache/poi/upgradeapachepoi_3_17.md) + ## Example diff --git a/docs/recipes/apache/poi/upgradeapachepoi_3_17.md b/docs/recipes/apache/poi/upgradeapachepoi_3_17.md index 0562854292..4aa4efb77b 100644 --- a/docs/recipes/apache/poi/upgradeapachepoi_3_17.md +++ b/docs/recipes/apache/poi/upgradeapachepoi_3_17.md @@ -43,7 +43,9 @@ This recipe is available under the [Moderne Source Available License](https://do * groupId: `org.apache.poi` * artifactId: `poi*` * newVersion: `3.x` -* [Change method invocation return type](../../java/migrate/changemethodinvocationreturntype) +* [Replace `Font.setBoldweight(short)` with `Font.setBold(boolean)`](../../apache/poi/replacesetboldweightwithsetbold) +* [Apache POI use `Cell.setCellType(CellType)`](../../apache/poi/replacesetcelltype) +* [Change method invocation return type](../../java/changemethodinvocationreturntype) * methodPattern: `org.apache.poi.ss.usermodel.Cell getCellType()` * newReturnType: `org.apache.poi.ss.usermodel.CellType` * [Replace constant with another constant](../../java/replaceconstantwithanotherconstant) @@ -246,7 +248,9 @@ recipeList: groupId: org.apache.poi artifactId: poi* newVersion: 3.x - - org.openrewrite.java.migrate.ChangeMethodInvocationReturnType: + - org.openrewrite.apache.poi.ReplaceSetBoldweightWithSetBold + - org.openrewrite.apache.poi.ReplaceSetCellType + - org.openrewrite.java.ChangeMethodInvocationReturnType: methodPattern: org.apache.poi.ss.usermodel.Cell getCellType() newReturnType: org.apache.poi.ss.usermodel.CellType - org.openrewrite.java.ReplaceConstantWithAnotherConstant: diff --git a/docs/recipes/com/oracle/weblogic/rewrite/spring/framework/upgradetospringframework_6_2.md b/docs/recipes/com/oracle/weblogic/rewrite/spring/framework/upgradetospringframework_6_2.md index 4ccf7a4162..d83e9f43ed 100644 --- a/docs/recipes/com/oracle/weblogic/rewrite/spring/framework/upgradetospringframework_6_2.md +++ b/docs/recipes/com/oracle/weblogic/rewrite/spring/framework/upgradetospringframework_6_2.md @@ -41,7 +41,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Update Default Servlet Handler for Spring Framework if empty](../../../../../../com/oracle/weblogic/rewrite/spring/framework/defaultservlethandler) * [Replace Removed WebLogicJtaTransactionManager from Spring Framework 5.3.x to 6.2.x](../../../../../../com/oracle/weblogic/rewrite/spring/framework/replaceweblogicjtatransactionmanager) * [Replace Removed WebLogicLoadTimeWeaver from Spring Framework 5.3.x to 6.2.x](../../../../../../com/oracle/weblogic/rewrite/spring/framework/replaceweblogicloadtimeweaver) -* [Migrate to Spring Data 2.7](../../../../../../java/spring/data/upgradespringdata_2_7) +* [Migrate to Spring Data JPA 2.7](../../../../../../java/spring/data/upgradespringdata_2_7) * [Upgrade Spring Data BOM to 2024.1.x](../../../../../../com/oracle/weblogic/rewrite/spring/data/upgradespringdatabom) * [Upgrade Spring Data JPA to 3.4.6](../../../../../../com/oracle/weblogic/rewrite/spring/data/upgradespringdatajpa) diff --git a/docs/recipes/devcenter/README.md b/docs/recipes/devcenter/README.md index 8ce343c528..2c596e55f4 100644 --- a/docs/recipes/devcenter/README.md +++ b/docs/recipes/devcenter/README.md @@ -15,7 +15,7 @@ _Recipes that include further recipes, often including the individual recipes be ## Recipes * [Library upgrade](./libraryupgrade.md) -* [Move to JUnit 5](./junitjupiterupgrade.md) +* [Move to JUnit 6](./junitjupiterupgrade.md) * [Move to a later Java version](./javaversionupgrade.md) * [Parent POM upgrade](./parentpomupgrade.md) * [Report as security issues](./reportassecurityissues.md) diff --git a/docs/recipes/devcenter/apachedevcenter.md b/docs/recipes/devcenter/apachedevcenter.md index f9389ae1d6..214dba8e5b 100644 --- a/docs/recipes/devcenter/apachedevcenter.md +++ b/docs/recipes/devcenter/apachedevcenter.md @@ -37,7 +37,7 @@ This recipe is available under the [Moderne Source Available License](https://do * [Move to a later Java version](../devcenter/javaversionupgrade) * majorVersion: `25` * upgradeRecipe: `org.openrewrite.java.migrate.UpgradeToJava25` -* [Move to JUnit 5](../devcenter/junitjupiterupgrade) +* [Move to JUnit 6](../devcenter/junitjupiterupgrade) * [OWASP top ten](../devcenter/securitystarter) diff --git a/docs/recipes/devcenter/devcenterstarter.md b/docs/recipes/devcenter/devcenterstarter.md index 14b265420c..40b08ab230 100644 --- a/docs/recipes/devcenter/devcenterstarter.md +++ b/docs/recipes/devcenter/devcenterstarter.md @@ -37,7 +37,7 @@ This recipe is available under the [Moderne Source Available License](https://do * [Move to a later Java version](../devcenter/javaversionupgrade) * majorVersion: `25` * upgradeRecipe: `org.openrewrite.java.migrate.UpgradeToJava25` -* [Move to JUnit 5](../devcenter/junitjupiterupgrade) +* [Move to JUnit 6](../devcenter/junitjupiterupgrade) * [OWASP top ten](../devcenter/securitystarter) diff --git a/docs/recipes/devcenter/junitjupiterupgrade.md b/docs/recipes/devcenter/junitjupiterupgrade.md index 24fabf7fb9..7b16499b0d 100644 --- a/docs/recipes/devcenter/junitjupiterupgrade.md +++ b/docs/recipes/devcenter/junitjupiterupgrade.md @@ -1,11 +1,11 @@ --- -sidebar_label: "Move to JUnit 5" +sidebar_label: "Move to JUnit 6" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Move to JUnit 5 +# Move to JUnit 6 **io.moderne.devcenter.JUnitJupiterUpgrade** diff --git a/docs/recipes/devcenter/securitystarter.md b/docs/recipes/devcenter/securitystarter.md index 44ff4565a3..a95f73f5b9 100644 --- a/docs/recipes/devcenter/securitystarter.md +++ b/docs/recipes/devcenter/securitystarter.md @@ -74,6 +74,7 @@ This recipe is used as part of the following composite recipes: ## Examples ##### Example 1 +`ReportAsSecurityIssuesTest#reportSecret` @@ -124,6 +125,7 @@ class Foo { --- ##### Example 2 +`ReportAsSecurityIssuesTest#reportSecret` diff --git a/docs/recipes/featureflags/README.md b/docs/recipes/featureflags/README.md index 8b5728c17e..ad655630e2 100644 --- a/docs/recipes/featureflags/README.md +++ b/docs/recipes/featureflags/README.md @@ -14,5 +14,7 @@ _Recipes to perform feature flag migration tasks._ * [Remove a String feature flag for feature key](./removestringflag.md) * [Remove a boolean feature flag for feature key](./removebooleanflag.md) +* [Remove a double feature flag for feature key](./removedoubleflag.md) +* [Remove an integer feature flag for feature key](./removeintegerflag.md) diff --git a/docs/recipes/featureflags/launchdarkly/README.md b/docs/recipes/featureflags/launchdarkly/README.md index b2be1b214d..4825381180 100644 --- a/docs/recipes/featureflags/launchdarkly/README.md +++ b/docs/recipes/featureflags/launchdarkly/README.md @@ -19,5 +19,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Migrate `LDUser` to `LDContext`](./migrateusertocontext.md) * [Remove LaunchDarkly's `boolVariation` for feature key](./removeboolvariation.md) * [Remove LaunchDarkly's `boolVariation` for feature key](./removestringvariation.md) +* [Remove LaunchDarkly's `doubleVariation` for feature key](./removedoublevariation.md) +* [Remove LaunchDarkly's `intVariation` for feature key](./removeintvariation.md) diff --git a/docs/recipes/featureflags/launchdarkly/removedoublevariation.md b/docs/recipes/featureflags/launchdarkly/removedoublevariation.md new file mode 100644 index 0000000000..048b782c24 --- /dev/null +++ b/docs/recipes/featureflags/launchdarkly/removedoublevariation.md @@ -0,0 +1,271 @@ +--- +sidebar_label: "Remove LaunchDarkly's `doubleVariation` for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove LaunchDarkly's `doubleVariation` for feature key + +**org.openrewrite.featureflags.launchdarkly.RemoveDoubleVariation** + +_Replace `doubleVariation` invocations for feature key with value, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/launchdarkly/RemoveDoubleVariation.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `Double` | replacementValue | The value to replace the feature flag check with. | `3.14` | + + +## Definition + + + +* [Remove a double feature flag for feature key](../../featureflags/removedoubleflag) + * methodPattern: `com.launchdarkly.sdk.server.LDClient doubleVariation(String, com.launchdarkly.sdk.*, double)` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.featureflags.launchdarkly.RemoveDoubleVariation +displayName: Remove LaunchDarkly's `doubleVariation` for feature key +description: | + Replace `doubleVariation` invocations for feature key with value, and simplify constant if branch execution. + + +recipeList: + - org.openrewrite.featureflags.RemoveDoubleFlag: + methodPattern: com.launchdarkly.sdk.server.LDClient doubleVariation(String, com.launchdarkly.sdk.*, double) + +``` + + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|featureKey|`flag-key-123abc`| +|replacementValue|`3.14`| + + + + + + +###### Before +```java +import com.launchdarkly.sdk.LDContext; +import com.launchdarkly.sdk.server.LDClient; +class Foo { + private LDClient client = new LDClient("sdk-key-123abc"); + void bar() { + LDContext context = null; + double multiplier = client.doubleVariation("flag-key-123abc", context, 1.5); + System.out.println("Multiplier: " + multiplier); + } +} +``` + +###### After +```java +class Foo { + void bar() { + System.out.println("Multiplier: " + 3.14); + } +} +``` + + + + +```diff +@@ -1,2 +1,0 @@ +-import com.launchdarkly.sdk.LDContext; +-import com.launchdarkly.sdk.server.LDClient; +class Foo { +@@ -4,1 +2,0 @@ +import com.launchdarkly.sdk.server.LDClient; +class Foo { +- private LDClient client = new LDClient("sdk-key-123abc"); + void bar() { +@@ -6,3 +3,1 @@ + private LDClient client = new LDClient("sdk-key-123abc"); + void bar() { +- LDContext context = null; +- double multiplier = client.doubleVariation("flag-key-123abc", context, 1.5); +- System.out.println("Multiplier: " + multiplier); ++ System.out.println("Multiplier: " + 3.14); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveDoubleVariationExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveDoubleVariationExample +displayName: Remove LaunchDarkly's `doubleVariation` for feature key example +recipeList: + - org.openrewrite.featureflags.launchdarkly.RemoveDoubleVariation: + featureKey: flag-key-123abc + replacementValue: 3.14 +``` + +Now that `com.yourorg.RemoveDoubleVariationExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveDoubleVariationExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveDoubleVariationExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveDoubleVariation --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=3.14" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/launchdarkly/removeintvariation.md b/docs/recipes/featureflags/launchdarkly/removeintvariation.md new file mode 100644 index 0000000000..bf7908f882 --- /dev/null +++ b/docs/recipes/featureflags/launchdarkly/removeintvariation.md @@ -0,0 +1,271 @@ +--- +sidebar_label: "Remove LaunchDarkly's `intVariation` for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove LaunchDarkly's `intVariation` for feature key + +**org.openrewrite.featureflags.launchdarkly.RemoveIntVariation** + +_Replace `intVariation` invocations for feature key with value, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/launchdarkly/RemoveIntVariation.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `Integer` | replacementValue | The value to replace the feature flag check with. | `42` | + + +## Definition + + + +* [Remove an integer feature flag for feature key](../../featureflags/removeintegerflag) + * methodPattern: `com.launchdarkly.sdk.server.LDClient intVariation(String, com.launchdarkly.sdk.*, int)` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.featureflags.launchdarkly.RemoveIntVariation +displayName: Remove LaunchDarkly's `intVariation` for feature key +description: | + Replace `intVariation` invocations for feature key with value, and simplify constant if branch execution. + + +recipeList: + - org.openrewrite.featureflags.RemoveIntegerFlag: + methodPattern: com.launchdarkly.sdk.server.LDClient intVariation(String, com.launchdarkly.sdk.*, int) + +``` + + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|featureKey|`flag-key-123abc`| +|replacementValue|`100`| + + + + + + +###### Before +```java +import com.launchdarkly.sdk.LDContext; +import com.launchdarkly.sdk.server.LDClient; +class Foo { + private LDClient client = new LDClient("sdk-key-123abc"); + void bar() { + LDContext context = null; + int maxRetries = client.intVariation("flag-key-123abc", context, 3); + System.out.println("Max retries: " + maxRetries); + } +} +``` + +###### After +```java +class Foo { + void bar() { + System.out.println("Max retries: " + 100); + } +} +``` + + + + +```diff +@@ -1,2 +1,0 @@ +-import com.launchdarkly.sdk.LDContext; +-import com.launchdarkly.sdk.server.LDClient; +class Foo { +@@ -4,1 +2,0 @@ +import com.launchdarkly.sdk.server.LDClient; +class Foo { +- private LDClient client = new LDClient("sdk-key-123abc"); + void bar() { +@@ -6,3 +3,1 @@ + private LDClient client = new LDClient("sdk-key-123abc"); + void bar() { +- LDContext context = null; +- int maxRetries = client.intVariation("flag-key-123abc", context, 3); +- System.out.println("Max retries: " + maxRetries); ++ System.out.println("Max retries: " + 100); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveIntVariationExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveIntVariationExample +displayName: Remove LaunchDarkly's `intVariation` for feature key example +recipeList: + - org.openrewrite.featureflags.launchdarkly.RemoveIntVariation: + featureKey: flag-key-123abc + replacementValue: 42 +``` + +Now that `com.yourorg.RemoveIntVariationExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveIntVariationExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveIntVariationExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveIntVariation --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=42" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/openfeature/README.md b/docs/recipes/featureflags/openfeature/README.md index f447613dfa..ac76ae77d1 100644 --- a/docs/recipes/featureflags/openfeature/README.md +++ b/docs/recipes/featureflags/openfeature/README.md @@ -9,5 +9,8 @@ _Recipes to perform [OpenFeature](https://openfeature.dev/) migration tasks._ ## Recipes * [Remove OpenFeature's `getBooleanValue` for feature key](./removegetbooleanvalue.md) +* [Remove OpenFeature's `getDoubleValue` for feature key](./removegetdoublevalue.md) +* [Remove OpenFeature's `getIntegerValue` for feature key](./removegetintegervalue.md) +* [Remove OpenFeature's `getStringValue` for feature key](./removegetstringvalue.md) diff --git a/docs/recipes/featureflags/openfeature/removegetdoublevalue.md b/docs/recipes/featureflags/openfeature/removegetdoublevalue.md new file mode 100644 index 0000000000..bc87d26ff3 --- /dev/null +++ b/docs/recipes/featureflags/openfeature/removegetdoublevalue.md @@ -0,0 +1,261 @@ +--- +sidebar_label: "Remove OpenFeature's `getDoubleValue` for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove OpenFeature's `getDoubleValue` for feature key + +**org.openrewrite.featureflags.openfeature.RemoveGetDoubleValue** + +_Replace `getDoubleValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/openfeature/RemoveGetDoubleValue.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `Double` | replacementValue | The value to replace the feature flag check with. | `3.14` | + + +## Definition + + + +* [Remove a double feature flag for feature key](../../featureflags/removedoubleflag) + * methodPattern: `dev.openfeature.sdk.Features getDoubleValue(String, ..)` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.featureflags.openfeature.RemoveGetDoubleValue +displayName: Remove OpenFeature's `getDoubleValue` for feature key +description: | + Replace `getDoubleValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution. + + +recipeList: + - org.openrewrite.featureflags.RemoveDoubleFlag: + methodPattern: dev.openfeature.sdk.Features getDoubleValue(String, ..) + +``` + + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|featureKey|`flag-key-123abc`| +|replacementValue|`3.14`| + + + + + + +###### Before +```java +import dev.openfeature.sdk.Client; + +class Foo { + void bar(Client client) { + Double multiplier = client.getDoubleValue("flag-key-123abc", 1.5); + System.out.println("Multiplier: " + multiplier); + } +} +``` + +###### After +```java +import dev.openfeature.sdk.Client; + +class Foo { + void bar(Client client) { + System.out.println("Multiplier: " + 3.14); + } +} +``` + + + + +```diff +@@ -5,2 +5,1 @@ +class Foo { + void bar(Client client) { +- Double multiplier = client.getDoubleValue("flag-key-123abc", 1.5); +- System.out.println("Multiplier: " + multiplier); ++ System.out.println("Multiplier: " + 3.14); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveGetDoubleValueExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveGetDoubleValueExample +displayName: Remove OpenFeature's `getDoubleValue` for feature key example +recipeList: + - org.openrewrite.featureflags.openfeature.RemoveGetDoubleValue: + featureKey: flag-key-123abc + replacementValue: 3.14 +``` + +Now that `com.yourorg.RemoveGetDoubleValueExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveGetDoubleValueExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveGetDoubleValueExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveGetDoubleValue --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=3.14" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/openfeature/removegetintegervalue.md b/docs/recipes/featureflags/openfeature/removegetintegervalue.md new file mode 100644 index 0000000000..3d274e0e07 --- /dev/null +++ b/docs/recipes/featureflags/openfeature/removegetintegervalue.md @@ -0,0 +1,261 @@ +--- +sidebar_label: "Remove OpenFeature's `getIntegerValue` for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove OpenFeature's `getIntegerValue` for feature key + +**org.openrewrite.featureflags.openfeature.RemoveGetIntegerValue** + +_Replace `getIntegerValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/openfeature/RemoveGetIntegerValue.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `Integer` | replacementValue | The value to replace the feature flag check with. | `42` | + + +## Definition + + + +* [Remove an integer feature flag for feature key](../../featureflags/removeintegerflag) + * methodPattern: `dev.openfeature.sdk.Features getIntegerValue(String, ..)` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.featureflags.openfeature.RemoveGetIntegerValue +displayName: Remove OpenFeature's `getIntegerValue` for feature key +description: | + Replace `getIntegerValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution. + + +recipeList: + - org.openrewrite.featureflags.RemoveIntegerFlag: + methodPattern: dev.openfeature.sdk.Features getIntegerValue(String, ..) + +``` + + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|featureKey|`flag-key-123abc`| +|replacementValue|`100`| + + + + + + +###### Before +```java +import dev.openfeature.sdk.Client; + +class Foo { + void bar(Client client) { + Integer maxRetries = client.getIntegerValue("flag-key-123abc", 3); + System.out.println("Max retries: " + maxRetries); + } +} +``` + +###### After +```java +import dev.openfeature.sdk.Client; + +class Foo { + void bar(Client client) { + System.out.println("Max retries: " + 100); + } +} +``` + + + + +```diff +@@ -5,2 +5,1 @@ +class Foo { + void bar(Client client) { +- Integer maxRetries = client.getIntegerValue("flag-key-123abc", 3); +- System.out.println("Max retries: " + maxRetries); ++ System.out.println("Max retries: " + 100); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveGetIntegerValueExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveGetIntegerValueExample +displayName: Remove OpenFeature's `getIntegerValue` for feature key example +recipeList: + - org.openrewrite.featureflags.openfeature.RemoveGetIntegerValue: + featureKey: flag-key-123abc + replacementValue: 42 +``` + +Now that `com.yourorg.RemoveGetIntegerValueExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveGetIntegerValueExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveGetIntegerValueExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveGetIntegerValue --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=42" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/openfeature/removegetstringvalue.md b/docs/recipes/featureflags/openfeature/removegetstringvalue.md new file mode 100644 index 0000000000..9ba8d4c884 --- /dev/null +++ b/docs/recipes/featureflags/openfeature/removegetstringvalue.md @@ -0,0 +1,269 @@ +--- +sidebar_label: "Remove OpenFeature's `getStringValue` for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove OpenFeature's `getStringValue` for feature key + +**org.openrewrite.featureflags.openfeature.RemoveGetStringValue** + +_Replace `getStringValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/openfeature/RemoveGetStringValue.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `String` | replacementValue | The value to replace the feature flag check with. | `topic-456` | + + +## Definition + + + +* [Remove a String feature flag for feature key](../../featureflags/removestringflag) + * methodPattern: `dev.openfeature.sdk.Features getStringValue(String, ..)` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.featureflags.openfeature.RemoveGetStringValue +displayName: Remove OpenFeature's `getStringValue` for feature key +description: | + Replace `getStringValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution. + + +recipeList: + - org.openrewrite.featureflags.RemoveStringFlag: + methodPattern: dev.openfeature.sdk.Features getStringValue(String, ..) + +``` + + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|featureKey|`flag-key-123abc`| +|replacementValue|`production`| + + + + + + +###### Before +```java +import dev.openfeature.sdk.Client; + +class Foo { + void bar(Client client) { + String environment = client.getStringValue("flag-key-123abc", "default"); + if ("production".equals(environment)) { + System.out.println("Production mode"); + } else { + System.out.println("Default mode"); + } + } +} +``` + +###### After +```java +import dev.openfeature.sdk.Client; + +class Foo { + void bar(Client client) { + System.out.println("Production mode"); + } +} +``` + + + + +```diff +@@ -5,6 +5,1 @@ +class Foo { + void bar(Client client) { +- String environment = client.getStringValue("flag-key-123abc", "default"); +- if ("production".equals(environment)) { +- System.out.println("Production mode"); +- } else { +- System.out.println("Default mode"); +- } ++ System.out.println("Production mode"); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveGetStringValueExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveGetStringValueExample +displayName: Remove OpenFeature's `getStringValue` for feature key example +recipeList: + - org.openrewrite.featureflags.openfeature.RemoveGetStringValue: + featureKey: flag-key-123abc + replacementValue: topic-456 +``` + +Now that `com.yourorg.RemoveGetStringValueExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveGetStringValueExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveGetStringValueExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveGetStringValue --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=topic-456" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/removedoubleflag.md b/docs/recipes/featureflags/removedoubleflag.md new file mode 100644 index 0000000000..f632cb03d9 --- /dev/null +++ b/docs/recipes/featureflags/removedoubleflag.md @@ -0,0 +1,250 @@ +--- +sidebar_label: "Remove a double feature flag for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove a double feature flag for feature key + +**org.openrewrite.featureflags.RemoveDoubleFlag** + +_Replace method invocations for feature key with value, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/RemoveDoubleFlag.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | methodPattern | A method pattern to match against. The first argument must be the feature key as `String`. | `dev.openfeature.sdk.Client getDoubleValue(String, Double)` | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `Double` | replacementValue | The value to replace the feature flag check with. | `3.14` | + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Remove LaunchDarkly's `doubleVariation` for feature key](/recipes/featureflags/launchdarkly/removedoublevariation.md) +* [Remove OpenFeature's `getDoubleValue` for feature key](/recipes/featureflags/openfeature/removegetdoublevalue.md) + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|methodPattern|`com.acme.bank.InHouseFF getDoubleFeatureFlagValue(String, Double)`| +|featureKey|`flag-key-123abc`| +|replacementValue|`3.14`| + + + + + + +###### Before +```java +import com.acme.bank.InHouseFF; +class Foo { + private InHouseFF inHouseFF = new InHouseFF(); + void bar() { + Double multiplier = inHouseFF.getDoubleFeatureFlagValue("flag-key-123abc", 1.5); + System.out.println("Multiplier: " + multiplier); + } +} +``` + +###### After +```java +class Foo { + void bar() { + System.out.println("Multiplier: " + 3.14); + } +} +``` + + + + +```diff +@@ -1,1 +1,0 @@ +-import com.acme.bank.InHouseFF; +class Foo { +@@ -3,1 +2,0 @@ +import com.acme.bank.InHouseFF; +class Foo { +- private InHouseFF inHouseFF = new InHouseFF(); + void bar() { +@@ -5,2 +3,1 @@ + private InHouseFF inHouseFF = new InHouseFF(); + void bar() { +- Double multiplier = inHouseFF.getDoubleFeatureFlagValue("flag-key-123abc", 1.5); +- System.out.println("Multiplier: " + multiplier); ++ System.out.println("Multiplier: " + 3.14); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveDoubleFlagExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveDoubleFlagExample +displayName: Remove a double feature flag for feature key example +recipeList: + - org.openrewrite.featureflags.RemoveDoubleFlag: + methodPattern: dev.openfeature.sdk.Client getDoubleValue(String, Double) + featureKey: flag-key-123abc + replacementValue: 3.14 +``` + +Now that `com.yourorg.RemoveDoubleFlagExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveDoubleFlagExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveDoubleFlagExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveDoubleFlag --recipe-option "methodPattern=dev.openfeature.sdk.Client getDoubleValue(String, Double)" --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=3.14" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/removeintegerflag.md b/docs/recipes/featureflags/removeintegerflag.md new file mode 100644 index 0000000000..4538ca9431 --- /dev/null +++ b/docs/recipes/featureflags/removeintegerflag.md @@ -0,0 +1,250 @@ +--- +sidebar_label: "Remove an integer feature flag for feature key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Remove an integer feature flag for feature key + +**org.openrewrite.featureflags.RemoveIntegerFlag** + +_Replace method invocations for feature key with value, and simplify constant if branch execution._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-feature-flags/blob/main/src/main/java/org/openrewrite/featureflags/RemoveIntegerFlag.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-feature-flags/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-feature-flags/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | methodPattern | A method pattern to match against. The first argument must be the feature key as `String`. | `dev.openfeature.sdk.Client getIntegerValue(String, Integer)` | +| `String` | featureKey | The key of the feature flag to remove. | `flag-key-123abc` | +| `Integer` | replacementValue | The value to replace the feature flag check with. | `42` | + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Remove LaunchDarkly's `intVariation` for feature key](/recipes/featureflags/launchdarkly/removeintvariation.md) +* [Remove OpenFeature's `getIntegerValue` for feature key](/recipes/featureflags/openfeature/removegetintegervalue.md) + +## Example + +###### Parameters +| Parameter | Value | +| -- | -- | +|methodPattern|`com.acme.bank.InHouseFF getIntegerFeatureFlagValue(String, Integer)`| +|featureKey|`flag-key-123abc`| +|replacementValue|`42`| + + + + + + +###### Before +```java +import com.acme.bank.InHouseFF; +class Foo { + private InHouseFF inHouseFF = new InHouseFF(); + void bar() { + Integer maxRetries = inHouseFF.getIntegerFeatureFlagValue("flag-key-123abc", 3); + System.out.println("Max retries: " + maxRetries); + } +} +``` + +###### After +```java +class Foo { + void bar() { + System.out.println("Max retries: " + 42); + } +} +``` + + + + +```diff +@@ -1,1 +1,0 @@ +-import com.acme.bank.InHouseFF; +class Foo { +@@ -3,1 +2,0 @@ +import com.acme.bank.InHouseFF; +class Foo { +- private InHouseFF inHouseFF = new InHouseFF(); + void bar() { +@@ -5,2 +3,1 @@ + private InHouseFF inHouseFF = new InHouseFF(); + void bar() { +- Integer maxRetries = inHouseFF.getIntegerFeatureFlagValue("flag-key-123abc", 3); +- System.out.println("Max retries: " + maxRetries); ++ System.out.println("Max retries: " + 42); + } +``` + + + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.RemoveIntegerFlagExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.RemoveIntegerFlagExample +displayName: Remove an integer feature flag for feature key example +recipeList: + - org.openrewrite.featureflags.RemoveIntegerFlag: + methodPattern: dev.openfeature.sdk.Client getIntegerValue(String, Integer) + featureKey: flag-key-123abc + replacementValue: 42 +``` + +Now that `com.yourorg.RemoveIntegerFlagExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.RemoveIntegerFlagExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.RemoveIntegerFlagExample + + + + + org.openrewrite.recipe + rewrite-feature-flags + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe RemoveIntegerFlag --recipe-option "methodPattern=dev.openfeature.sdk.Client getIntegerValue(String, Integer)" --recipe-option "featureKey=flag-key-123abc" --recipe-option "replacementValue=42" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-feature-flags:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/featureflags/removestringflag.md b/docs/recipes/featureflags/removestringflag.md index 9c789b18a1..3d471d8130 100644 --- a/docs/recipes/featureflags/removestringflag.md +++ b/docs/recipes/featureflags/removestringflag.md @@ -33,6 +33,7 @@ This recipe is available under the [Moderne Source Available License](https://do This recipe is used as part of the following composite recipes: * [Remove LaunchDarkly's `boolVariation` for feature key](/recipes/featureflags/launchdarkly/removestringvariation.md) +* [Remove OpenFeature's `getStringValue` for feature key](/recipes/featureflags/openfeature/removegetstringvalue.md) ## Example diff --git a/docs/recipes/gradle/search/finddependencyhandler.md b/docs/recipes/gradle/search/finddependencyhandler.md index 6f7455d322..9ffcbdda7c 100644 --- a/docs/recipes/gradle/search/finddependencyhandler.md +++ b/docs/recipes/gradle/search/finddependencyhandler.md @@ -13,41 +13,13 @@ _Find the dependency handler containing any number of dependency definitions._ ## Recipe source -[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-gradle/src/main/resources/META-INF/rewrite/gradle.yml), +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-gradle/src/main/java/org/openrewrite/gradle/search/FindDependencyHandler.java), [Issue Tracker](https://github.com/openrewrite/rewrite/issues), [Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-gradle/) This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). -## Definition - - - -* [Find method usages](../../java/search/findmethods) - * methodPattern: `RewriteGradleProject dependencies(groovy.lang.Closure)` - * matchOverrides: `false` - - - - - -```yaml ---- -type: specs.openrewrite.org/v1beta/recipe -name: org.openrewrite.gradle.search.FindDependencyHandler -displayName: Find Gradle `dependencies` blocks -description: | - Find the dependency handler containing any number of dependency definitions. -recipeList: - - org.openrewrite.java.search.FindMethods: - methodPattern: RewriteGradleProject dependencies(groovy.lang.Closure) - matchOverrides: false - -``` - - - ## Usage This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. @@ -138,23 +110,6 @@ Please [contact Moderne](https://moderne.io/product) for more information about ## Data Tables - - -### Method calls -**org.openrewrite.java.table.MethodCalls** - -_The text of matching method invocations._ - -| Column Name | Description | -| ----------- | ----------- | -| Source file | The source file that the method call occurred in. | -| Method call | The text of the method call. | -| Class name | The class name of the method call. | -| Method name | The method name of the method call. | -| Argument types | The argument types of the method call. | - - - ### Source files that had results diff --git a/docs/recipes/hibernate/typedescriptortotype.md b/docs/recipes/hibernate/typedescriptortotype.md index d6d6f57d2e..743f1cb15c 100644 --- a/docs/recipes/hibernate/typedescriptortotype.md +++ b/docs/recipes/hibernate/typedescriptortotype.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.hibernate.TypeDescriptorToType** -_Rename `JavaTypeDescriptor` and `SqlTypeDescriptor` to `JavaType` and `SqlType` respectively. See https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#type-system_ +_Rename `JavaTypeDescriptor` and `SqlTypeDescriptor` to `JavaType` and `SqlType` respectively. See https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#type-system for more details._ ## Recipe source @@ -45,7 +45,7 @@ type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.hibernate.TypeDescriptorToType displayName: Rename `JavaTypeDescriptor` and `SqlTypeDescriptor` to `JavaType` and `SqlType` description: | - Rename `JavaTypeDescriptor` and `SqlTypeDescriptor` to `JavaType` and `SqlType` respectively. See https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#type-system + Rename `JavaTypeDescriptor` and `SqlTypeDescriptor` to `JavaType` and `SqlType` respectively. See https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#type-system for more details. recipeList: - org.openrewrite.java.ChangeType: oldFullyQualifiedTypeName: org.hibernate.type.descriptor.java.JavaTypeDescriptor diff --git a/docs/recipes/io/quarkus/updates/camel/README.md b/docs/recipes/io/quarkus/updates/camel/README.md index b73572f5ee..1e88f071ae 100644 --- a/docs/recipes/io/quarkus/updates/camel/README.md +++ b/docs/recipes/io/quarkus/updates/camel/README.md @@ -8,6 +8,7 @@ * [Camel412](/recipes/io/quarkus/updates/camel/camel412) * [Camel413](/recipes/io/quarkus/updates/camel/camel413) * [Camel414](/recipes/io/quarkus/updates/camel/camel414) +* [Camel415](/recipes/io/quarkus/updates/camel/camel415) * [Camel44](/recipes/io/quarkus/updates/camel/camel44) * [Camel47](/recipes/io/quarkus/updates/camel/camel47) * [Camel49](/recipes/io/quarkus/updates/camel/camel49) diff --git a/docs/recipes/io/quarkus/updates/camel/camel415/README.md b/docs/recipes/io/quarkus/updates/camel/camel415/README.md new file mode 100644 index 0000000000..15febfdcfc --- /dev/null +++ b/docs/recipes/io/quarkus/updates/camel/camel415/README.md @@ -0,0 +1,7 @@ +# Camel415 + +## Recipes + +* [Migrates `camel 4.14` application to `camel 4.15`](./camelquarkusmigrationrecipe.md) + + diff --git a/docs/recipes/io/quarkus/updates/camel/camel415/camelquarkusmigrationrecipe.md b/docs/recipes/io/quarkus/updates/camel/camel415/camelquarkusmigrationrecipe.md new file mode 100644 index 0000000000..409d1faddc --- /dev/null +++ b/docs/recipes/io/quarkus/updates/camel/camel415/camelquarkusmigrationrecipe.md @@ -0,0 +1,234 @@ +--- +sidebar_label: "Migrates `camel 4.14` application to `camel 4.15`" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrates `camel 4.14` application to `camel 4.15` + +**io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe** + +_Migrates `camel 4.14` Quarkus application to `camel 4.15`._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Migrates `camel 4.14` application to `camel 4.15`](../../../../../org/apache/camel/upgrade/camel415/camelmigrationrecipe) + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe +displayName: Migrates `camel 4.14` application to `camel 4.15` +description: | + Migrates `camel 4.14` Quarkus application to `camel 4.15`. +recipeList: + - org.apache.camel.upgrade.camel415.CamelMigrationRecipe + +``` + + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=io.quarkus.updates.camel.camel415.CamelQuarkusMigrationRecipe -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe CamelQuarkusMigrationRecipe +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/io/quarkus/updates/core/quarkus324/migratefromhibernateormsessionmethodsremovedin7.md b/docs/recipes/io/quarkus/updates/core/quarkus324/migratefromhibernateormsessionmethodsremovedin7.md index 342e73706f..d55fc6f203 100644 --- a/docs/recipes/io/quarkus/updates/core/quarkus324/migratefromhibernateormsessionmethodsremovedin7.md +++ b/docs/recipes/io/quarkus/updates/core/quarkus324/migratefromhibernateormsessionmethodsremovedin7.md @@ -61,9 +61,6 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Change method name](../../../../../java/changemethodname) * methodPattern: `org.hibernate.Session save(String, Object)` * newMethodName: `persist` -* [Change method name](../../../../../java/changemethodname) - * methodPattern: `org.hibernate.Session update(Object)` - * newMethodName: `merge` @@ -110,9 +107,6 @@ recipeList: - org.openrewrite.java.ChangeMethodName: methodPattern: org.hibernate.Session save(String, Object) newMethodName: persist - - org.openrewrite.java.ChangeMethodName: - methodPattern: org.hibernate.Session update(Object) - newMethodName: merge ``` diff --git a/docs/recipes/java/changemethodinvocationreturntype.md b/docs/recipes/java/changemethodinvocationreturntype.md index 052765fcdb..eccbf2af12 100644 --- a/docs/recipes/java/changemethodinvocationreturntype.md +++ b/docs/recipes/java/changemethodinvocationreturntype.md @@ -38,6 +38,7 @@ This recipe is used as part of the following composite recipes: * [Change SDK TransferManager types from v1 to v2](/recipes/software/amazon/awssdk/v2migration/changetransfermanagertypes.md) * [Change method invocation return type](/recipes/java/migrate/changemethodinvocationreturntype.md) * [Migrate to Apache HttpCore Nio Classes to Apache HttpCore 5.x](/recipes/apache/httpclient5/upgradeapachehttpcore_5_nioclassmapping.md) +* [Migrates to Apache POI 3.17](/recipes/apache/poi/upgradeapachepoi_3_17.md) ## Example diff --git a/docs/recipes/java/changemethodname.md b/docs/recipes/java/changemethodname.md index 4310e767c9..7626a99bee 100644 --- a/docs/recipes/java/changemethodname.md +++ b/docs/recipes/java/changemethodname.md @@ -74,7 +74,7 @@ This recipe is used as part of the following composite recipes: * [Migrate from Micronaut 2.x to 3.x](/recipes/java/micronaut/micronaut2to3migration.md) * [Migrate from springdoc-openapi-common to springdoc-openapi-starter-common](/recipes/java/springdoc/migratespringdoccommon.md) * [Migrate to ApacheHttpClient 5.x deprecated methods from 4.x](/recipes/apache/httpclient5/upgradeapachehttpclient_5_deprecatedmethods.md) -* [Migrate to Hibernate 6.6.x](/recipes/hibernate/migratetohibernate66.md) +* [Migrate to Hibernate 7.0.x](/recipes/hibernate/migratetohibernate70.md) * [Migrate to HtmlUnit 3.x](/recipes/java/testing/htmlunit/upgradehtmlunit_3.md) * [Migrate to Kafka 2.7](/recipes/kafka/migratetokafka27.md) * [Migrate to Kafka 3.0](/recipes/kafka/migratetokafka30.md) @@ -98,6 +98,7 @@ This recipe is used as part of the following composite recipes: * [Prefer `java.util.function.Predicate`](/recipes/java/migrate/guava/preferjavautilpredicate.md) * [Quarkus 1.13 migration from Quarkus 1.11](/recipes/quarkus/quarkus1to1_13migration.md) * [Recommended Fit API becomes Assignment Recommendation API](/recipes/ai/timefold/solver/migration/v8/solutionmanagerrecommendassignmentrecipe.md) +* [Refactored dataFormats](/recipes/org/apache/camel/upgrade/camel415/dataformats.md) * [Rename Jackson 2.x methods to 3.x equivalents](/recipes/java/jackson/upgradejackson_2_3_methodrenames.md) * [Replace deprecated Jakarta Servlet methods and classes](/recipes/java/migrate/jakarta/removalsservletjakarta10.md) * [Replace `ContainerState.getContainerIpAddress()` with `getHost()`](/recipes/java/testing/testcontainers/gethostmigration.md) diff --git a/docs/recipes/java/changemethodtargettostatic.md b/docs/recipes/java/changemethodtargettostatic.md index 7c2fd20e3c..d57d110e54 100644 --- a/docs/recipes/java/changemethodtargettostatic.md +++ b/docs/recipes/java/changemethodtargettostatic.md @@ -62,6 +62,7 @@ This recipe is used as part of the following composite recipes: * [Prefer `java.util.Objects#equals`](/recipes/java/migrate/guava/preferjavautilobjectsequals.md) * [Prefer `java.util.Objects#hash`](/recipes/java/migrate/guava/preferjavautilobjectshashcode.md) * [Prefer `java.util.Objects#requireNonNullElse`](/recipes/java/migrate/guava/preferjavautilobjectsrequirenonnullelse.md) +* [Prefer `java.util.function.Predicate`](/recipes/java/migrate/guava/preferjavautilpredicate.md) * [Replace PowerMock with raw Mockito](/recipes/java/testing/mockito/replacepowermockito.md) * [Replace `Paths.get` with `Path.of`](/recipes/java/migrate/nio/file/pathsgettopathof.md) * [Replace `org.apache.commons.lang3.Validate#notNull` with `Objects#requireNonNull`](/recipes/staticanalysis/replacevalidatenotnullhavingsingleargwithobjectsrequirenonnull.md) diff --git a/docs/recipes/java/changetype.md b/docs/recipes/java/changetype.md index 1452de3940..edfa323671 100644 --- a/docs/recipes/java/changetype.md +++ b/docs/recipes/java/changetype.md @@ -39,6 +39,7 @@ This recipe is used as part of the following composite recipes: * [Change auth related classes from v1 to v2](/recipes/software/amazon/awssdk/v2migration/changeauthtypes.md) * [Change config related classes from v1 to v2](/recipes/software/amazon/awssdk/v2migration/changeconfigtypes.md) * [Change region related classes](/recipes/software/amazon/awssdk/v2migration/changeregiontypes.md) +* [Changed types of camel AI nested headers classes](/recipes/org/apache/camel/upgrade/camel415/ainestedheadersclasses.md) * [Clean up various issues with the code.](/recipes/java/dropwizard/codecleanup.md) * [Each camel-debezium module has its own subpackage corresponding to the database type](/recipes/org/apache/camel/upgrade/camel49/debeziumchangetypes.md) * [JUnit Jupiter migration from JUnit 4.x](/recipes/java/testing/junit5/junit4to5migration.md) @@ -113,6 +114,7 @@ This recipe is used as part of the following composite recipes: * [Migrate to Spring Framework 6.2](/recipes/java/spring/framework/upgradespringframework_6_2.md) * [Migrate to Spring Kafka 3.0](/recipes/java/spring/kafka/upgradespringkafka_3_0.md) * [Migrate to Wicket 10.x](/recipes/org/apache/wicket/migratetowicket10.md) +* [Migrate to testcontainers-java 2.x](/recipes/java/testing/testcontainers/testcontainers2migration.md) * [Migrates from Netty 4.1.x to Netty 4.2.x](/recipes/netty/upgradenetty_4_1_to_4_2.md) * [Migrates to Apache Commons Collections 4.x](/recipes/apache/commons/collections/upgradeapachecommonscollections_3_4.md) * [Migrates to Apache Commons Lang 3.x](/recipes/apache/commons/lang/upgradeapachecommonslang_2_3.md) @@ -147,7 +149,7 @@ This recipe is used as part of the following composite recipes: * [Substitute deprecated Faces Managed Beans](/recipes/com/oracle/weblogic/rewrite/jakarta/facesmanagedbeansremoved3.md) * [Substitute removed Faces Managed Beans](/recipes/java/migrate/jakarta/facesmanagedbeansremoved.md) * [Tag Enum has been deprecated](/recipes/org/apache/camel/upgrade/camel41/tracingtag.md) -* [Testcontainers best practices](/recipes/java/testing/testcontainers/testcontainersbestpractices.md) +* [Testcontainers 2 container classes](/recipes/java/testing/testcontainers/testcontainers2containerclasses.md) * [The package scan classes has moved from camel-base-engine to camel-support - java](/recipes/org/apache/camel/upgrade/camel412/scanclassesmoved.md) * [Update Apache Commons Email to Email2 for Jakarta](/recipes/java/migrate/jakarta/updateapachecommonsemaildependencies.md) * [Update Jackson 2.x types to 3.x](/recipes/java/jackson/upgradejackson_2_3_typechanges.md) diff --git a/docs/recipes/java/dependencies/changedependency.md b/docs/recipes/java/dependencies/changedependency.md index 1caf2afee7..e104f8452a 100644 --- a/docs/recipes/java/dependencies/changedependency.md +++ b/docs/recipes/java/dependencies/changedependency.md @@ -146,6 +146,7 @@ This recipe is used as part of the following composite recipes: * [Mockito 4 to 5.x upgrade only](/recipes/java/testing/mockito/mockito4to5only.md) * [Modernize a Jenkins plugin to the latest recommended versions](/recipes/jenkins/modernizeplugin.md) * [Relocate `org.apache.commons:commons-io` to `commons-io:commons-io`](/recipes/apache/commons/io/relocateapachecommonsio.md) +* [Rename Testcontainers dependencies](/recipes/java/testing/testcontainers/testcontainers2dependencies.md) * [Replace Derby driver with Quarkus JDBC Derby](/recipes/quarkus/spring/derbydrivertoquarkus.md) * [Replace H2 driver with Quarkus JDBC H2](/recipes/quarkus/spring/h2drivertoquarkus.md) * [Update Apache Commons Email to Email2 for Jakarta](/recipes/java/migrate/jakarta/updateapachecommonsemaildependencies.md) diff --git a/docs/recipes/java/dependencies/dependencyvulnerabilitycheck.md b/docs/recipes/java/dependencies/dependencyvulnerabilitycheck.md index 7f210e7425..c6229a9188 100644 --- a/docs/recipes/java/dependencies/dependencyvulnerabilitycheck.md +++ b/docs/recipes/java/dependencies/dependencyvulnerabilitycheck.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.java.dependencies.DependencyVulnerabilityCheck** -_This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-06T1102._ +_This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-20T1103._ ## Recipe source diff --git a/docs/recipes/java/dependencies/upgradedependencyversion.md b/docs/recipes/java/dependencies/upgradedependencyversion.md index c6e2d5fa1f..5aa0af7a14 100644 --- a/docs/recipes/java/dependencies/upgradedependencyversion.md +++ b/docs/recipes/java/dependencies/upgradedependencyversion.md @@ -149,7 +149,7 @@ This recipe is used as part of the following composite recipes: * [OkHttp 3.x `MockWebServer` `@Rule` To 4.x `MockWebServer`](/recipes/java/testing/junit5/updatemockwebserver.md) * [Prefer the Java 11 standard library instead of Guava](/recipes/java/migrate/guava/noguavajava11.md) * [Quarkus 2.x migration from Quarkus 1.x](/recipes/quarkus/quarkus2/quarkus1to2migration.md) -* [Testcontainers best practices](/recipes/java/testing/testcontainers/testcontainersbestpractices.md) +* [Rename Testcontainers dependencies](/recipes/java/testing/testcontainers/testcontainers2dependencies.md) * [Update Apache Shiro Dependencies to 2.0.x](/recipes/java/migrate/jakarta/updateapacheshirodependencies.md) * [Update Eclipse Yasson Dependencies to 3.0.x](/recipes/java/migrate/jakarta/updateyassondependencies.md) * [Update EclipseLink Dependencies to 4.x](/recipes/java/migrate/jakarta/updateeclipselinkdependencies.md) diff --git a/docs/recipes/java/jackson/README.md b/docs/recipes/java/jackson/README.md index 2384a7f7cd..12f111afc9 100644 --- a/docs/recipes/java/jackson/README.md +++ b/docs/recipes/java/jackson/README.md @@ -25,6 +25,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Remove redundant `@JsonProperty` argument](./removeredundantjsonpropertyvalue.md) * [Remove redundant Jackson 3 feature flag configurations](./removeredundantfeatureflags.md) * [Remove registrations of modules built-in to Jackson 3](./removebuiltinmoduleregistrations.md) +* [Replace removed `JsonGenerator` capability methods with `StreamWriteCapability`](./replacestreamwritecapability.md) * [Use modern date/time serialization defaults](./usemoderndatetimeserialization.md) diff --git a/docs/recipes/java/jackson/replacestreamwritecapability.md b/docs/recipes/java/jackson/replacestreamwritecapability.md new file mode 100644 index 0000000000..1762d07999 --- /dev/null +++ b/docs/recipes/java/jackson/replacestreamwritecapability.md @@ -0,0 +1,269 @@ +--- +sidebar_label: "Replace removed `JsonGenerator` capability methods with `StreamWriteCapability`" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Replace removed `JsonGenerator` capability methods with `StreamWriteCapability` + +**org.openrewrite.java.jackson.ReplaceStreamWriteCapability** + +_In Jackson 3, `JsonGenerator.canWriteBinaryNatively()` and `canWriteFormattedNumbers()` were removed and replaced with the `StreamWriteCapability` enum. This recipe updates these method calls to use `getWriteCapabilities().isEnabled(StreamWriteCapability.*)` instead._ + +### Tags + +* [jackson-3](/reference/recipes-by-tag#jackson) + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-jackson/blob/main/src/main/java/org/openrewrite/java/jackson/ReplaceStreamWriteCapability.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-jackson/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-jackson/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates from Jackson 2.x to Jackson 3.x](/recipes/java/jackson/upgradejackson_2_3.md) + +## Example + + + + + + +###### Before +```java +import com.fasterxml.jackson.core.JsonGenerator; + +class Test { + boolean checkCapability(JsonGenerator generator) { + return generator.canWriteBinaryNatively(); + } +} +``` + +###### After +```java +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.StreamWriteCapability; + +class Test { + boolean checkCapability(JsonGenerator generator) { + return generator.getWriteCapabilities().isEnabled(StreamWriteCapability.CAN_WRITE_BINARY_NATIVELY); + } +} +``` + + + + +```diff +@@ -2,0 +2,1 @@ +import com.fasterxml.jackson.core.JsonGenerator; ++import com.fasterxml.jackson.core.StreamWriteCapability; + +@@ -5,1 +6,1 @@ +class Test { + boolean checkCapability(JsonGenerator generator) { +- return generator.canWriteBinaryNatively(); ++ return generator.getWriteCapabilities().isEnabled(StreamWriteCapability.CAN_WRITE_BINARY_NATIVELY); + } +``` + + + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-jackson` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.openrewrite.java.jackson.ReplaceStreamWriteCapability") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-jackson:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JACKSON}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-jackson:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JACKSON}}") + } + rewrite { + activeRecipe("org.openrewrite.java.jackson.ReplaceStreamWriteCapability") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.jackson.ReplaceStreamWriteCapability + + + + + org.openrewrite.recipe + rewrite-jackson + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JACKSON}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-jackson:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.jackson.ReplaceStreamWriteCapability -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplaceStreamWriteCapability +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-jackson:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JACKSON}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/jackson/upgradejackson_2_3.md b/docs/recipes/java/jackson/upgradejackson_2_3.md index 48e877ea47..68d7d4ed64 100644 --- a/docs/recipes/java/jackson/upgradejackson_2_3.md +++ b/docs/recipes/java/jackson/upgradejackson_2_3.md @@ -41,6 +41,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Remove redundant Jackson 3 feature flag configurations](../../java/jackson/upgradejackson_2_3_removeredundantfeatureflags) * [Remove registrations of modules built-in to Jackson 3](../../java/jackson/removebuiltinmoduleregistrations) * [Use modern date/time serialization defaults](../../java/jackson/usemoderndatetimeserialization) +* [Replace removed `JsonGenerator` capability methods with `StreamWriteCapability`](../../java/jackson/replacestreamwritecapability) * [Update Jackson package names from 2.x to 3.x](../../java/jackson/upgradejackson_2_3_packagechanges) @@ -63,6 +64,7 @@ recipeList: - org.openrewrite.java.jackson.UpgradeJackson_2_3_RemoveRedundantFeatureFlags - org.openrewrite.java.jackson.RemoveBuiltInModuleRegistrations - org.openrewrite.java.jackson.UseModernDateTimeSerialization + - org.openrewrite.java.jackson.ReplaceStreamWriteCapability - org.openrewrite.java.jackson.UpgradeJackson_2_3_PackageChanges ``` diff --git a/docs/recipes/java/jackson/upgradejackson_2_3_dependencies.md b/docs/recipes/java/jackson/upgradejackson_2_3_dependencies.md index c7c5ee00d6..605c517fc4 100644 --- a/docs/recipes/java/jackson/upgradejackson_2_3_dependencies.md +++ b/docs/recipes/java/jackson/upgradejackson_2_3_dependencies.md @@ -60,6 +60,48 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * newGroupId: `tools.jackson.core` * newArtifactId: `jackson-databind` * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-yaml` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-yaml` + * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-xml` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-xml` + * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-csv` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-csv` + * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-cbor` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-cbor` + * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-avro` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-avro` + * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-smile` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-smile` + * newVersion: `3.0.x` +* [Change Gradle or Maven dependency](../../java/dependencies/changedependency) + * oldGroupId: `com.fasterxml.jackson.dataformat` + * oldArtifactId: `jackson-dataformat-ion` + * newGroupId: `tools.jackson.dataformat` + * newArtifactId: `jackson-dataformat-ion` + * newVersion: `3.0.x` * [Change Gradle or Maven dependency](../../java/dependencies/changedependency) * oldGroupId: `com.fasterxml.jackson.datatype` * oldArtifactId: `jackson-datatype-jdk8` @@ -116,6 +158,48 @@ recipeList: newGroupId: tools.jackson.core newArtifactId: jackson-databind newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-yaml + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-yaml + newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-xml + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-xml + newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-csv + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-csv + newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-cbor + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-cbor + newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-avro + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-avro + newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-smile + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-smile + newVersion: 3.0.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: com.fasterxml.jackson.dataformat + oldArtifactId: jackson-dataformat-ion + newGroupId: tools.jackson.dataformat + newArtifactId: jackson-dataformat-ion + newVersion: 3.0.x - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.fasterxml.jackson.datatype oldArtifactId: jackson-datatype-jdk8 diff --git a/docs/recipes/java/jackson/upgradejackson_2_3_methodrenames.md b/docs/recipes/java/jackson/upgradejackson_2_3_methodrenames.md index 12b4d35a70..11d7ec5a1e 100644 --- a/docs/recipes/java/jackson/upgradejackson_2_3_methodrenames.md +++ b/docs/recipes/java/jackson/upgradejackson_2_3_methodrenames.md @@ -59,6 +59,12 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Change method name](../../java/changemethodname) * methodPattern: `com.fasterxml.jackson.databind.JsonNode elements()` * newMethodName: `values` +* [Change method name](../../java/changemethodname) + * methodPattern: `com.fasterxml.jackson.databind.JsonNode isContainerNode()` + * newMethodName: `isContainer` +* [Change method name](../../java/changemethodname) + * methodPattern: `com.fasterxml.jackson.databind.JsonNode fields()` + * newMethodName: `entries` @@ -101,6 +107,12 @@ recipeList: - org.openrewrite.java.ChangeMethodName: methodPattern: com.fasterxml.jackson.databind.JsonNode elements() newMethodName: values + - org.openrewrite.java.ChangeMethodName: + methodPattern: com.fasterxml.jackson.databind.JsonNode isContainerNode() + newMethodName: isContainer + - org.openrewrite.java.ChangeMethodName: + methodPattern: com.fasterxml.jackson.databind.JsonNode fields() + newMethodName: entries ``` diff --git a/docs/recipes/java/jackson/upgradejackson_2_3_typechanges.md b/docs/recipes/java/jackson/upgradejackson_2_3_typechanges.md index 0ff73ba1c2..940489d743 100644 --- a/docs/recipes/java/jackson/upgradejackson_2_3_typechanges.md +++ b/docs/recipes/java/jackson/upgradejackson_2_3_typechanges.md @@ -32,6 +32,45 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.yaml.YAMLReadFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.yaml.YAMLWriteFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.xml.XmlReadFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.xml.XmlWriteFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.csv.CsvParser$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.csv.CsvReadFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.csv.CsvGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.csv.CsvWriteFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.cbor.CBORGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.cbor.CBORWriteFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.avro.AvroParser$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.avro.AvroReadFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.avro.AvroGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.avro.AvroWriteFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.smile.SmileParser$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.smile.SmileReadFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.smile.SmileGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.smile.SmileWriteFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.ion.IonParser$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.ion.IonReadFeature` +* [Change type](../../java/changetype) + * oldFullyQualifiedTypeName: `com.fasterxml.jackson.dataformat.ion.IonGenerator$Feature` + * newFullyQualifiedTypeName: `tools.jackson.dataformat.ion.IonWriteFeature` * [Change type](../../java/changetype) * oldFullyQualifiedTypeName: `com.fasterxml.jackson.core.JsonParseException` * newFullyQualifiedTypeName: `tools.jackson.core.StreamReadException` @@ -95,6 +134,45 @@ description: | tags: - jackson-3 recipeList: + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.yaml.YAMLReadFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.yaml.YAMLWriteFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.xml.XmlReadFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.xml.XmlWriteFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.csv.CsvParser$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.csv.CsvReadFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.csv.CsvGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.csv.CsvWriteFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.cbor.CBORGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.cbor.CBORWriteFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.avro.AvroParser$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.avro.AvroReadFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.avro.AvroGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.avro.AvroWriteFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.smile.SmileParser$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.smile.SmileReadFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.smile.SmileGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.smile.SmileWriteFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.ion.IonParser$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.ion.IonReadFeature + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: com.fasterxml.jackson.dataformat.ion.IonGenerator$Feature + newFullyQualifiedTypeName: tools.jackson.dataformat.ion.IonWriteFeature - org.openrewrite.java.ChangeType: oldFullyQualifiedTypeName: com.fasterxml.jackson.core.JsonParseException newFullyQualifiedTypeName: tools.jackson.core.StreamReadException diff --git a/docs/recipes/java/migrate/README.md b/docs/recipes/java/migrate/README.md index 73d0050398..a4c655c59c 100644 --- a/docs/recipes/java/migrate/README.md +++ b/docs/recipes/java/migrate/README.md @@ -45,6 +45,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Migrate to Java 17](./upgradetojava17.md) * [Migrate to Java 21](./upgradetojava21.md) * [Migrate to Java 25](./upgradetojava25.md) +* [Migrate to Java 6](./upgradetojava6.md) * [Migrate to Java 7](./upgradetojava7.md) * [Migrate to Java 8](./upgradetojava8.md) * [Migrate to JavaEE7](./javaee7-recipe.md) @@ -84,7 +85,6 @@ _Recipes that include further recipes, often including the individual recipes be * [MBean and MXBean interfaces must be public](./mxbeanrule.md) * [Migrate com.intellij:annotations to org.jetbrains:annotations](./comintellijannotationstoorgjetbrainsannotations.md) * [Migrate from IBM Runtimes to Oracle Runtimes](./ibmjdktooraclejdk.md) -* [Migrate to Java 6](./upgradetojava6.md) * [Migrate to JavaEE6](./javaee6.md) * [Prefer `java.util.Base64` instead of `sun.misc`](./usejavautilbase64.md) * [Remove `Thread.countStackFrames()` method](./deprecatedcountstackframesmethod.md) diff --git a/docs/recipes/java/migrate/changemethodinvocationreturntype.md b/docs/recipes/java/migrate/changemethodinvocationreturntype.md index f363d3e01d..8878317f9f 100644 --- a/docs/recipes/java/migrate/changemethodinvocationreturntype.md +++ b/docs/recipes/java/migrate/changemethodinvocationreturntype.md @@ -58,7 +58,6 @@ recipeList: This recipe is used as part of the following composite recipes: * [Migrate `ConsumerGroupState` to `GroupState`](/recipes/kafka/migrateconsumergroupstatetogroupstate.md) -* [Migrates to Apache POI 3.17](/recipes/apache/poi/upgradeapachepoi_3_17.md) ## Example diff --git a/docs/recipes/java/migrate/guava/README.md b/docs/recipes/java/migrate/guava/README.md index 25869f5db4..633d38074a 100644 --- a/docs/recipes/java/migrate/guava/README.md +++ b/docs/recipes/java/migrate/guava/README.md @@ -39,6 +39,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Prefer `Long#parseUnsignedInt`](./preferlongparseunsignedlong.md) * [Prefer `Long#remainderUnsigned`](./preferlongremainderunsigned.md) * [Prefer `Map.of(..)` in Java 9 or higher](./noguavaimmutablemapof.md) +* [Prefer `Predicate.and(Predicate)`](./noguavapredicatesandor.md) * [Prefer `Runnable::run`](./noguavadirectexecutor.md) * [Prefer `Set.of(..)` in Java 9 or higher](./noguavaimmutablesetof.md) * [Prefer `Short#compare`](./prefershortcompare.md) diff --git a/docs/recipes/java/migrate/guava/noguava.md b/docs/recipes/java/migrate/guava/noguava.md index c9f81adcd3..c1d4c0d721 100644 --- a/docs/recipes/java/migrate/guava/noguava.md +++ b/docs/recipes/java/migrate/guava/noguava.md @@ -41,8 +41,10 @@ This recipe is available under the [Moderne Source Available License](https://do * [Prefer `new CopyOnWriteArrayList<>()`](../../../java/migrate/guava/noguavalistsnewcopyonwritearraylist) * [Prefer `new LinkedList<>()`](../../../java/migrate/guava/noguavalistsnewlinkedlist) * [Prefer `new TreeMap<>()`](../../../java/migrate/guava/noguavamapsnewtreemap) +* [Prefer `Predicate.and(Predicate)`](../../../java/migrate/guava/noguavapredicatesandor) * [Prefer `Arrays.asList(..)` over Guava primitives](../../../java/migrate/guava/noguavaprimitiveaslist) * [Refaster style Guava to Java migration recipes](../../../java/migrate/guava/noguavarefasterrecipes) +* [Prefer `new HashMap<>()`](../../../java/migrate/guava/noguavamapsnewhashmap) * [Prefer `new HashSet<>()`](../../../java/migrate/guava/noguavasetsnewhashset) * [Prefer `new ConcurrentHashMap<>()`](../../../java/migrate/guava/noguavasetsnewconcurrenthashset) * [Prefer `new LinkedHashSet<>()`](../../../java/migrate/guava/noguavasetsnewlinkedhashset) @@ -96,8 +98,10 @@ recipeList: - org.openrewrite.java.migrate.guava.NoGuavaListsNewCopyOnWriteArrayList - org.openrewrite.java.migrate.guava.NoGuavaListsNewLinkedList - org.openrewrite.java.migrate.guava.NoGuavaMapsNewTreeMap + - org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr - org.openrewrite.java.migrate.guava.NoGuavaPrimitiveAsList - org.openrewrite.java.migrate.guava.NoGuavaRefasterRecipes + - org.openrewrite.java.migrate.guava.NoGuavaMapsNewHashMap - org.openrewrite.java.migrate.guava.NoGuavaSetsNewHashSet - org.openrewrite.java.migrate.guava.NoGuavaSetsNewConcurrentHashSet - org.openrewrite.java.migrate.guava.NoGuavaSetsNewLinkedHashSet diff --git a/docs/recipes/java/migrate/guava/noguavamapsnewhashmap.md b/docs/recipes/java/migrate/guava/noguavamapsnewhashmap.md index c8bb355fe2..3798bf9097 100644 --- a/docs/recipes/java/migrate/guava/noguavamapsnewhashmap.md +++ b/docs/recipes/java/migrate/guava/noguavamapsnewhashmap.md @@ -23,6 +23,13 @@ _Prefer the Java standard library over third-party usage of Guava in simple case This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Prefer the Java standard library instead of Guava](/recipes/java/migrate/guava/noguava.md) + ## Example diff --git a/docs/recipes/java/migrate/guava/noguavapredicatesandor.md b/docs/recipes/java/migrate/guava/noguavapredicatesandor.md new file mode 100644 index 0000000000..7cac0b7142 --- /dev/null +++ b/docs/recipes/java/migrate/guava/noguavapredicatesandor.md @@ -0,0 +1,269 @@ +--- +sidebar_label: "Prefer `Predicate.and(Predicate)`" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Prefer `Predicate.and(Predicate)` + +**org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr** + +_Prefer `Predicate.and(Predicate)` over `Predicates.and(Predicate, Predicate)`._ + +### Tags + +* [guava](/reference/recipes-by-tag#guava) + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-migrate-java/blob/main/src/main/java/org/openrewrite/java/migrate/guava/NoGuavaPredicatesAndOr.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-migrate-java/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-migrate-java/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Prefer the Java standard library instead of Guava](/recipes/java/migrate/guava/noguava.md) + +## Example + + + + + + +###### Before +```java +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; + +class Test { + Predicate isNotNull = s -> s != null; + Predicate isNotEmpty = s -> !s.isEmpty(); + Predicate combined = Predicates.and(isNotNull, isNotEmpty); +} +``` + +###### After +```java +import com.google.common.base.Predicate; + +class Test { + Predicate isNotNull = s -> s != null; + Predicate isNotEmpty = s -> !s.isEmpty(); + Predicate combined = isNotNull.and(isNotEmpty); +} +``` + + + + +```diff +@@ -2,1 +2,0 @@ +import com.google.common.base.Predicate; +-import com.google.common.base.Predicates; + +@@ -7,1 +6,1 @@ + Predicate isNotNull = s -> s != null; + Predicate isNotEmpty = s -> !s.isEmpty(); +- Predicate combined = Predicates.and(isNotNull, isNotEmpty); ++ Predicate combined = isNotNull.and(isNotEmpty); +} +``` + + + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-migrate-java` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-migrate-java:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MIGRATE_JAVA}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-migrate-java:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MIGRATE_JAVA}}") + } + rewrite { + activeRecipe("org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr + + + + + org.openrewrite.recipe + rewrite-migrate-java + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MIGRATE_JAVA}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe NoGuavaPredicatesAndOr +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-migrate-java:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MIGRATE_JAVA}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/migrate/guava/preferjavautilpredicate.md b/docs/recipes/java/migrate/guava/preferjavautilpredicate.md index 037b6f03d5..8aeb8af30e 100644 --- a/docs/recipes/java/migrate/guava/preferjavautilpredicate.md +++ b/docs/recipes/java/migrate/guava/preferjavautilpredicate.md @@ -33,6 +33,15 @@ This recipe is available under the [Moderne Source Available License](https://do +* [Change method target to static](../../../java/changemethodtargettostatic) + * methodPattern: `com.google.common.base.Predicates not(com.google.common.base.Predicate)` + * fullyQualifiedTargetTypeName: `java.util.function.Predicate` +* [Change method name](../../../java/changemethodname) + * methodPattern: `com.google.common.base.Predicates equalTo(..)` + * newMethodName: `isEqual` +* [Change method target to static](../../../java/changemethodtargettostatic) + * methodPattern: `com.google.common.base.Predicates isEqual(..)` + * fullyQualifiedTargetTypeName: `java.util.function.Predicate` * [Change method name](../../../java/changemethodname) * methodPattern: `com.google.common.base.Predicate apply(..)` * newMethodName: `test` @@ -56,6 +65,15 @@ tags: - RSPEC-S4738 - guava recipeList: + - org.openrewrite.java.ChangeMethodTargetToStatic: + methodPattern: com.google.common.base.Predicates not(com.google.common.base.Predicate) + fullyQualifiedTargetTypeName: java.util.function.Predicate + - org.openrewrite.java.ChangeMethodName: + methodPattern: com.google.common.base.Predicates equalTo(..) + newMethodName: isEqual + - org.openrewrite.java.ChangeMethodTargetToStatic: + methodPattern: com.google.common.base.Predicates isEqual(..) + fullyQualifiedTargetTypeName: java.util.function.Predicate - org.openrewrite.java.ChangeMethodName: methodPattern: com.google.common.base.Predicate apply(..) newMethodName: test diff --git a/docs/recipes/java/migrate/jacoco/upgradejacoco.md b/docs/recipes/java/migrate/jacoco/upgradejacoco.md index ff8c40d282..753a14f029 100644 --- a/docs/recipes/java/migrate/jacoco/upgradejacoco.md +++ b/docs/recipes/java/migrate/jacoco/upgradejacoco.md @@ -72,7 +72,7 @@ recipeList: This recipe is used as part of the following composite recipes: -* [Add missing `isWrapperFor` and `unwrap` methods.](/recipes/java/migrate/jrewrapperinterface.md) +* [Migrate to Java 6](/recipes/java/migrate/upgradetojava6.md) ## Examples ##### Example 1 diff --git a/docs/recipes/java/migrate/jrewrapperinterface.md b/docs/recipes/java/migrate/jrewrapperinterface.md index 041b7eb178..b8e915e8af 100644 --- a/docs/recipes/java/migrate/jrewrapperinterface.md +++ b/docs/recipes/java/migrate/jrewrapperinterface.md @@ -28,7 +28,6 @@ This recipe is available under the [Moderne Source Available License](https://do -* [Upgrade JaCoCo](../../java/migrate/jacoco/upgradejacoco) * [Adds missing method implementations](../../java/migrate/addmissingmethodimplementation) * fullyQualifiedClassName: `java.sql.Wrapper` * methodPattern: `*..* isWrapperFor(..)` @@ -50,7 +49,6 @@ displayName: Add missing `isWrapperFor` and `unwrap` methods. description: | Add method implementations stubs to classes that implement `java.sql.Wrapper`. recipeList: - - org.openrewrite.java.migrate.jacoco.UpgradeJaCoCo - org.openrewrite.java.migrate.AddMissingMethodImplementation: fullyQualifiedClassName: java.sql.Wrapper methodPattern: *..* isWrapperFor(..) @@ -262,23 +260,4 @@ _Statistics used in analyzing the performance of recipes._ - - -### Maven metadata failures -**org.openrewrite.maven.table.MavenMetadataFailures** - -_Attempts to resolve maven metadata that failed._ - -| Column Name | Description | -| ----------- | ----------- | -| Group id | The groupId of the artifact for which the metadata download failed. | -| Artifact id | The artifactId of the artifact for which the metadata download failed. | -| Version | The version of the artifact for which the metadata download failed. | -| Maven repository | The URL of the Maven repository that the metadata download failed on. | -| Snapshots | Does the repository support snapshots. | -| Releases | Does the repository support releases. | -| Failure | The reason the metadata download failed. | - - - diff --git a/docs/recipes/java/migrate/lang/nullcheckasswitchcase.md b/docs/recipes/java/migrate/lang/nullcheckasswitchcase.md index 20f00a10d7..81c6926900 100644 --- a/docs/recipes/java/migrate/lang/nullcheckasswitchcase.md +++ b/docs/recipes/java/migrate/lang/nullcheckasswitchcase.md @@ -19,6 +19,13 @@ _In later Java 21+, null checks are valid in switch cases. This recipe will only This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Java 21](/recipes/java/migrate/upgradetojava21.md) + ## Example diff --git a/docs/recipes/java/migrate/switchpatternmatching.md b/docs/recipes/java/migrate/switchpatternmatching.md index 2b9131f33f..45339f2d4c 100644 --- a/docs/recipes/java/migrate/switchpatternmatching.md +++ b/docs/recipes/java/migrate/switchpatternmatching.md @@ -56,6 +56,13 @@ recipeList: +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Java 21](/recipes/java/migrate/upgradetojava21.md) + + ## Usage This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-migrate-java` in your build file or by running a shell command (in which case no build changes are needed): diff --git a/docs/recipes/java/migrate/upgradetojava21.md b/docs/recipes/java/migrate/upgradetojava21.md index 63551a60f3..02f6fe12f9 100644 --- a/docs/recipes/java/migrate/upgradetojava21.md +++ b/docs/recipes/java/migrate/upgradetojava21.md @@ -47,6 +47,8 @@ This recipe is available under the [Moderne Source Available License](https://do * [Convert assigning Switch statements to Switch expressions](../../java/migrate/lang/switchcaseassignmentstoswitchexpression) * [Convert switch cases where every case returns into a returned switch expression](../../java/migrate/lang/switchcasereturnstoswitchexpression) * [Convert switch expression yield to arrow](../../java/migrate/lang/switchexpressionyieldtoarrow) +* [Adopt switch pattern matching (JEP 441)](../../java/migrate/switchpatternmatching) +* [Add null check to existing switch cases](../../java/migrate/lang/nullcheckasswitchcase) @@ -77,6 +79,8 @@ recipeList: - org.openrewrite.java.migrate.lang.SwitchCaseAssignmentsToSwitchExpression - org.openrewrite.java.migrate.lang.SwitchCaseReturnsToSwitchExpression - org.openrewrite.java.migrate.lang.SwitchExpressionYieldToArrow + - org.openrewrite.java.migrate.SwitchPatternMatching + - org.openrewrite.java.migrate.lang.NullCheckAsSwitchCase ``` diff --git a/docs/recipes/java/migrate/upgradetojava6.md b/docs/recipes/java/migrate/upgradetojava6.md index ae0b1cc5db..4524567b1c 100644 --- a/docs/recipes/java/migrate/upgradetojava6.md +++ b/docs/recipes/java/migrate/upgradetojava6.md @@ -21,6 +21,10 @@ _This recipe will apply changes commonly needed when upgrading to Java 6. This r [Issue Tracker](https://github.com/openrewrite/rewrite-migrate-java/issues), [Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-migrate-java/) +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). @@ -28,6 +32,8 @@ This recipe is available under the [Moderne Source Available License](https://do +* [Upgrade JaCoCo](../../java/migrate/jacoco/upgradejacoco) +* [Prefer `EnumSet of(..)`](../../java/migrate/util/useenumsetof) * [Add missing `isWrapperFor` and `unwrap` methods.](../../java/migrate/jrewrapperinterface) @@ -44,6 +50,8 @@ description: | tags: - java6 recipeList: + - org.openrewrite.java.migrate.jacoco.UpgradeJaCoCo + - org.openrewrite.java.migrate.util.UseEnumSetOf - org.openrewrite.java.migrate.JREWrapperInterface ``` diff --git a/docs/recipes/java/migrate/util/useenumsetof.md b/docs/recipes/java/migrate/util/useenumsetof.md index ec1423f3b7..8bbacdd373 100644 --- a/docs/recipes/java/migrate/util/useenumsetof.md +++ b/docs/recipes/java/migrate/util/useenumsetof.md @@ -19,6 +19,13 @@ _Prefer `EnumSet of(..)` instead of using `Set of(..)` when the arguments are en This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Java 6](/recipes/java/migrate/upgradetojava6.md) + ## Example diff --git a/docs/recipes/java/recipes/recipetestingbestpractices.md b/docs/recipes/java/recipes/recipetestingbestpractices.md index 6795d0bb43..b16078fc59 100644 --- a/docs/recipes/java/recipes/recipetestingbestpractices.md +++ b/docs/recipes/java/recipes/recipetestingbestpractices.md @@ -45,6 +45,10 @@ This recipe is available under the [Moderne Source Available License](https://do * [Reorder annotations alphabetically](../../staticanalysis/reorderannotations) * [Use static import](../../java/usestaticimport) * methodPattern: `org.openrewrite..Assertions *(..)` +* [Use static import](../../java/usestaticimport) + * methodPattern: `org.openrewrite.test.RewriteTest *(..)` +* [Use static import](../../java/usestaticimport) + * methodPattern: `org.openrewrite.test.SourceSpecs *(..)` @@ -75,6 +79,10 @@ recipeList: - org.openrewrite.staticanalysis.ReorderAnnotations - org.openrewrite.java.UseStaticImport: methodPattern: org.openrewrite..Assertions *(..) + - org.openrewrite.java.UseStaticImport: + methodPattern: org.openrewrite.test.RewriteTest *(..) + - org.openrewrite.java.UseStaticImport: + methodPattern: org.openrewrite.test.SourceSpecs *(..) ``` diff --git a/docs/recipes/java/search/README.md b/docs/recipes/java/search/README.md index 65d8af1863..122c9a48ca 100644 --- a/docs/recipes/java/search/README.md +++ b/docs/recipes/java/search/README.md @@ -19,6 +19,8 @@ _Recipes that include further recipes, often including the individual recipes be * [Find files compiled at a specific Java version](./hasjavaversion.md) * [Find files in a source set](./hassourceset.md) * [Find files that are likely not tests](./islikelynottest.md) +* [Find files that have at least one use of a method](./hasmethod.md) +* [Find files that have at least one use of a type](./hastype.md) * [Find files with a particular build tool version](./hasbuildtoolversion.md) * [Find implementing classes](./findimplementations.md) * [Find literals](./findliterals.md) diff --git a/docs/recipes/java/search/findmethods.md b/docs/recipes/java/search/findmethods.md index e6a84139c9..9bdfead975 100644 --- a/docs/recipes/java/search/findmethods.md +++ b/docs/recipes/java/search/findmethods.md @@ -31,7 +31,6 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac This recipe is used as part of the following composite recipes: -* [Find Gradle `dependencies` blocks](/recipes/gradle/search/finddependencyhandler.md) * [Find Jackson default type mapping enablement](/recipes/java/security/search/findjacksondefaulttypemapping.md) * [Find Virtual Thread opportunities](/recipes/java/migrate/lang/findvirtualthreadopportunities.md) * [Find non-virtual `ExecutorService` creation](/recipes/java/migrate/lang/findnonvirtualexecutors.md) diff --git a/docs/recipes/java/search/hasmethod.md b/docs/recipes/java/search/hasmethod.md new file mode 100644 index 0000000000..6fd2eab8eb --- /dev/null +++ b/docs/recipes/java/search/hasmethod.md @@ -0,0 +1,169 @@ +--- +sidebar_label: "Find files that have at least one use of a method" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Find files that have at least one use of a method + +**org.openrewrite.java.search.HasMethod** + +_Marks files that have at least one occurrence of a method matching a pattern._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-java/src/main/java/org/openrewrite/java/search/HasMethod.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-java/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | methodPattern | A [method pattern](https://docs.openrewrite.org/reference/method-patterns) is used to find matching method invocations. For example, to find all method invocations in the Guava library, use the pattern: `com.google.common..*#*(..)`.

The pattern format is `#()`.

`..*` includes all subpackages of `com.google.common`.
`*(..)` matches any method name with any number of arguments.

For more specific queries, like Guava's `ImmutableMap`, use `com.google.common.collect.ImmutableMap#*(..)` to narrow down the results. | `java.util.List add(..)` | +| `Boolean` | matchOverrides | *Optional*. When enabled, find methods that are overrides of the method pattern. | | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.HasMethodExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.HasMethodExample +displayName: Find files that have at least one use of a method example +recipeList: + - org.openrewrite.java.search.HasMethod: + methodPattern: java.util.List add(..) +``` + +Now that `com.yourorg.HasMethodExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.HasMethodExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.HasMethodExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe HasMethod --recipe-option "methodPattern=java.util.List add(..)" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-java:{{VERSION_ORG_OPENREWRITE_REWRITE_JAVA}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/search/hastype.md b/docs/recipes/java/search/hastype.md new file mode 100644 index 0000000000..c3d3dfeab4 --- /dev/null +++ b/docs/recipes/java/search/hastype.md @@ -0,0 +1,169 @@ +--- +sidebar_label: "Find files that have at least one use of a type" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Find files that have at least one use of a type + +**org.openrewrite.java.search.HasType** + +_Marks files that have at least one occurrence of a type, even if the name of that type doesn't appear in the source code._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-java/src/main/java/org/openrewrite/java/search/HasType.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-java/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | fullyQualifiedTypeName | A fully-qualified type name, that is used to find matching type references. Supports glob expressions. `java..*` finds every type from every subpackage of the `java` package. | `java.util.List` | +| `Boolean` | checkAssignability | *Optional*. When enabled, find type references that are assignable to the provided type. | | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.HasTypeExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.HasTypeExample +displayName: Find files that have at least one use of a type example +recipeList: + - org.openrewrite.java.search.HasType: + fullyQualifiedTypeName: java.util.List +``` + +Now that `com.yourorg.HasTypeExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.HasTypeExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.HasTypeExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe HasType --recipe-option "fullyQualifiedTypeName=java.util.List" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-java:{{VERSION_ORG_OPENREWRITE_REWRITE_JAVA}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/spring/README.md b/docs/recipes/java/spring/README.md index 7d92d0e84d..e143e64e45 100644 --- a/docs/recipes/java/spring/README.md +++ b/docs/recipes/java/spring/README.md @@ -47,6 +47,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Remove unnecessary `@Repository` annotation from Spring Data `Repository` sub-interface](./norepoannotationonrepointerface.md) * [Rename bean](./renamebean.md) * [Separate application YAML by profile](./separateapplicationyamlbyprofile.md) +* [Separate `application.properties` by profile](./separateapplicationpropertiesbyprofile.md) * [Update the API manifest](./updateapimanifest.md) diff --git a/docs/recipes/java/spring/boot/README.md b/docs/recipes/java/spring/boot/README.md index e14bc8ad68..1b4ad32cb0 100644 --- a/docs/recipes/java/spring/boot/README.md +++ b/docs/recipes/java/spring/boot/README.md @@ -8,6 +8,7 @@ _Recipes that include further recipes, often including the individual recipes be ## Recipes +* [Convert field injection to constructor injection](./fieldtoconstructorinjection.md) * [Is likely a Spring Boot project](./islikelyspringboot.md) * [Is likely not a Spring Boot project](./islikelynotspringboot.md) * [Migrate Spring Framework Dependencies to Spring Boot](./migratespringframeworkdependenciestospringboot.md) diff --git a/docs/recipes/spring/webxml/migratetojavaxservletconfiguration.md b/docs/recipes/java/spring/boot/fieldtoconstructorinjection.md similarity index 84% rename from docs/recipes/spring/webxml/migratetojavaxservletconfiguration.md rename to docs/recipes/java/spring/boot/fieldtoconstructorinjection.md index 9180001fca..95013d68b6 100644 --- a/docs/recipes/spring/webxml/migratetojavaxservletconfiguration.md +++ b/docs/recipes/java/spring/boot/fieldtoconstructorinjection.md @@ -1,15 +1,15 @@ --- -sidebar_label: "Migrate `web.xml` using Java EE" +sidebar_label: "Convert field injection to constructor injection" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrate `web.xml` using Java EE +# Convert field injection to constructor injection -**org.openrewrite.spring.webxml.MigrateToJavaXServletConfiguration** +**io.moderne.java.spring.boot.FieldToConstructorInjection** -_Migrates `web.xml` content to Spring Boot Configuration classes using Java EE javax namespace._ +_Converts `@Autowired` field injection to constructor injection pattern. For non-final classes, adds both a no-args constructor and the autowired constructor to maintain compatibility with extending classes. Moves `@Qualifier` annotations to constructor parameters._ ## Recipe source @@ -23,7 +23,7 @@ This recipe is available under the [Moderne Proprietary License](https://docs.mo This recipe is used as part of the following composite recipes: -* [Migrate `web.xml` to Java Configuration](/recipes/spring/webxml/removewebxml.md) +* [Spring Boot 3.5 best practices](/recipes/java/spring/boot3/springboot3bestpractices.md) ## Usage @@ -37,7 +37,7 @@ This recipe has no required configuration options. Users of Moderne can run it v You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. ```shell title="shell" -mod run . --recipe MigrateToJavaXServletConfiguration +mod run . --recipe FieldToConstructorInjection ``` If the recipe is not available locally, then you can install it using: @@ -51,7 +51,7 @@ mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MOD import RecipeCallout from '@site/src/components/ModerneLink'; - + The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. diff --git a/docs/recipes/java/spring/boot2/springboot2bestpractices.md b/docs/recipes/java/spring/boot2/springboot2bestpractices.md index cc44d6d96d..959dbdf265 100644 --- a/docs/recipes/java/spring/boot2/springboot2bestpractices.md +++ b/docs/recipes/java/spring/boot2/springboot2bestpractices.md @@ -38,6 +38,8 @@ This recipe is available under the [Moderne Source Available License](https://do * [Remove the `@Autowired` annotation on inferred constructor](../../../java/spring/noautowiredonconstructor) * [Migrate `RestTemplateBuilder`](../../../java/spring/boot2/resttemplatebuilderrequestfactory) * [Replace `EnvironmentTestUtils` with `TestPropertyValues`](../../../java/spring/boot2/replacedeprecatedenvironmenttestutils) +* [Separate `application.properties` by profile](../../../java/spring/separateapplicationpropertiesbyprofile) +* [Separate application YAML by profile](../../../java/spring/separateapplicationyamlbyprofile) @@ -59,6 +61,8 @@ recipeList: - org.openrewrite.java.spring.NoAutowiredOnConstructor - org.openrewrite.java.spring.boot2.RestTemplateBuilderRequestFactory - org.openrewrite.java.spring.boot2.ReplaceDeprecatedEnvironmentTestUtils + - org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile + - org.openrewrite.java.spring.SeparateApplicationYamlByProfile ``` diff --git a/docs/recipes/java/spring/boot2/upgradespringboot_2_5.md b/docs/recipes/java/spring/boot2/upgradespringboot_2_5.md index 8724426cec..957c7c2cb0 100644 --- a/docs/recipes/java/spring/boot2/upgradespringboot_2_5.md +++ b/docs/recipes/java/spring/boot2/upgradespringboot_2_5.md @@ -29,7 +29,7 @@ This recipe is available under the [Moderne Source Available License](https://do * [Migrate to Spring Boot 2.4](../../../java/spring/boot2/upgradespringboot_2_4) -* [Migrate to Spring Data 2.5](../../../java/spring/data/upgradespringdata_2_5) +* [Migrate to Spring Data JPA 2.5](../../../java/spring/data/upgradespringdata_2_5) * [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) * groupId: `org.springframework.boot` * artifactId: `*` diff --git a/docs/recipes/java/spring/boot2/upgradespringboot_2_7.md b/docs/recipes/java/spring/boot2/upgradespringboot_2_7.md index 02cbd0da2d..9bacf376ae 100644 --- a/docs/recipes/java/spring/boot2/upgradespringboot_2_7.md +++ b/docs/recipes/java/spring/boot2/upgradespringboot_2_7.md @@ -54,7 +54,7 @@ This recipe is available under the [Moderne Source Available License](https://do * groupId: `org.springframework` * artifactId: `*` * newVersion: `5.3.x` -* [Migrate to Spring Data 2.7](../../../java/spring/data/upgradespringdata_2_7) +* [Migrate to Spring Data JPA 2.7](../../../java/spring/data/upgradespringdata_2_7) * [Migrate to Spring Security 5.7](../../../java/spring/security5/upgradespringsecurity_5_7) * [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) * groupId: `org.springdoc` diff --git a/docs/recipes/java/spring/boot3/replacetaskexecutornamebyapplicationtaskexecutorname.md b/docs/recipes/java/spring/boot3/replacetaskexecutornamebyapplicationtaskexecutorname.md index 525c83145d..e5446c26da 100644 --- a/docs/recipes/java/spring/boot3/replacetaskexecutornamebyapplicationtaskexecutorname.md +++ b/docs/recipes/java/spring/boot3/replacetaskexecutornamebyapplicationtaskexecutorname.md @@ -32,6 +32,7 @@ This recipe is used as part of the following composite recipes: ## Examples ##### Example 1 +`ReplaceTaskExecutorNameByApplicationTaskExecutorNameTest#qualifier` @@ -87,6 +88,7 @@ class Test { --- ##### Example 2 +`ReplaceTaskExecutorNameByApplicationTaskExecutorNameTest#qualifier` diff --git a/docs/recipes/java/spring/boot3/upgradespringboot_3_4-community-edition.md b/docs/recipes/java/spring/boot3/upgradespringboot_3_4-community-edition.md index 6c589fa7ac..f631d47b92 100644 --- a/docs/recipes/java/spring/boot3/upgradespringboot_3_4-community-edition.md +++ b/docs/recipes/java/spring/boot3/upgradespringboot_3_4-community-edition.md @@ -36,7 +36,7 @@ This recipe is available under the [Moderne Source Available License](https://do * [Migrate to Spring Boot 3.3](../../../java/spring/boot3/upgradespringboot_3_3) * [Migrate to Spring Framework 6.2](../../../java/spring/framework/upgradespringframework_6_2) * [Migrate to Spring Cloud 2024](../../../java/spring/cloud2024/upgradespringcloud_2024) -* [Migrate to Spring Data 3.4](../../../java/spring/data/upgradespringdata_3_4) +* [Migrate to Spring Data JPA 3.4](../../../java/spring/data/upgradespringdata_3_4) * [Migrate to Spring Security 6.4](../../../java/spring/security6/upgradespringsecurity_6_4) * [Migrate Spring Boot properties to 3.4](../../../java/spring/boot3/springbootproperties_3_4) * [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) diff --git a/docs/recipes/java/spring/boot3/upgradespringboot_3_5-community-edition.md b/docs/recipes/java/spring/boot3/upgradespringboot_3_5-community-edition.md index 049684c971..0e4237d600 100644 --- a/docs/recipes/java/spring/boot3/upgradespringboot_3_5-community-edition.md +++ b/docs/recipes/java/spring/boot3/upgradespringboot_3_5-community-edition.md @@ -36,6 +36,7 @@ This recipe is available under the [Moderne Source Available License](https://do * [Migrate to Spring Boot 3.4](../../../java/spring/boot3/upgradespringboot_3_4-community-edition) * [Migrate Spring Boot properties to 3.5](../../../java/spring/boot3/springbootproperties_3_5) * [Migrate to Spring Cloud 2025](../../../java/spring/cloud2025/upgradespringcloud_2025) +* [Migrate to Spring Security 6.5](../../../java/spring/security6/upgradespringsecurity_6_5) * [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) * groupId: `org.springframework.boot` * artifactId: `*` @@ -76,6 +77,7 @@ recipeList: - org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_4 - org.openrewrite.java.spring.boot3.SpringBootProperties_3_5 - org.openrewrite.java.spring.cloud2025.UpgradeSpringCloud_2025 + - org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5 - org.openrewrite.java.dependencies.UpgradeDependencyVersion: groupId: org.springframework.boot artifactId: "*" diff --git a/docs/recipes/java/spring/data/README.md b/docs/recipes/java/spring/data/README.md index 03615eb2ff..b9310d3631 100644 --- a/docs/recipes/java/spring/data/README.md +++ b/docs/recipes/java/spring/data/README.md @@ -5,15 +5,15 @@ _Recipes that include further recipes, often including the individual recipes below._ * [Migrate to Spring Data 2.3](./upgradespringdata_2_3.md) -* [Migrate to Spring Data 2.5](./upgradespringdata_2_5.md) +* [Migrate to Spring Data JPA 2.5](./upgradespringdata_2_5.md) * [Use `JpaRepository#getReferenceById(ID id)`](./usejparepositorygetreferencebyid.md) ## Recipes * [Convert `JdbcTemplate.queryForLong(..)` to `queryForObject(..)`](./jdbctemplatequeryforlongmigration.md) * [Make AuditorAware.getCurrentAuditor return `Optional`](./migrateauditorawaretooptional.md) -* [Migrate to Spring Data 2.7](./upgradespringdata_2_7.md) -* [Migrate to Spring Data 3.4](./upgradespringdata_3_4.md) +* [Migrate to Spring Data JPA 2.7](./upgradespringdata_2_7.md) +* [Migrate to Spring Data JPA 3.4](./upgradespringdata_3_4.md) * [Replace `@Query` annotation by `@NativeQuery` when possible](./migratequerytonativequery.md) * [Use `JpaRepository#deleteAllInBatch(Iterable<T> entities)`](./usejparepositorydeleteallinbatch.md) * [Use `JpaRepository#getById(ID id)`](./usejparepositorygetbyid.md) diff --git a/docs/recipes/java/spring/data/migratequerytonativequery.md b/docs/recipes/java/spring/data/migratequerytonativequery.md index 91eb87f4ca..af917cf948 100644 --- a/docs/recipes/java/spring/data/migratequerytonativequery.md +++ b/docs/recipes/java/spring/data/migratequerytonativequery.md @@ -24,7 +24,7 @@ This recipe is available under the [Moderne Source Available License](https://do This recipe is used as part of the following composite recipes: -* [Migrate to Spring Data 3.4](/recipes/java/spring/data/upgradespringdata_3_4.md) +* [Migrate to Spring Data JPA 3.4](/recipes/java/spring/data/upgradespringdata_3_4.md) ## Example diff --git a/docs/recipes/java/spring/data/upgradespringdata_2_5.md b/docs/recipes/java/spring/data/upgradespringdata_2_5.md index de87082958..6f6ddd3dfd 100644 --- a/docs/recipes/java/spring/data/upgradespringdata_2_5.md +++ b/docs/recipes/java/spring/data/upgradespringdata_2_5.md @@ -1,11 +1,11 @@ --- -sidebar_label: "Migrate to Spring Data 2.5" +sidebar_label: "Migrate to Spring Data JPA 2.5" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrate to Spring Data 2.5 +# Migrate to Spring Data JPA 2.5 **org.openrewrite.java.spring.data.UpgradeSpringData\_2\_5** @@ -39,7 +39,7 @@ This recipe is available under the [Moderne Source Available License](https://do --- type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.java.spring.data.UpgradeSpringData_2_5 -displayName: Migrate to Spring Data 2.5 +displayName: Migrate to Spring Data JPA 2.5 description: | Migrate applications to the latest Spring Data 2.5 release. recipeList: diff --git a/docs/recipes/java/spring/data/upgradespringdata_2_7.md b/docs/recipes/java/spring/data/upgradespringdata_2_7.md index f841a9ae47..971260ab04 100644 --- a/docs/recipes/java/spring/data/upgradespringdata_2_7.md +++ b/docs/recipes/java/spring/data/upgradespringdata_2_7.md @@ -1,15 +1,15 @@ --- -sidebar_label: "Migrate to Spring Data 2.7" +sidebar_label: "Migrate to Spring Data JPA 2.7" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrate to Spring Data 2.7 +# Migrate to Spring Data JPA 2.7 **org.openrewrite.java.spring.data.UpgradeSpringData\_2\_7** -_Migrate applications to the latest Spring Data 2.7 release._ +_Migrate applications to the latest Spring Data JPA 2.7 release._ ## Recipe source @@ -34,9 +34,9 @@ This recipe is available under the [Moderne Source Available License](https://do --- type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.java.spring.data.UpgradeSpringData_2_7 -displayName: Migrate to Spring Data 2.7 +displayName: Migrate to Spring Data JPA 2.7 description: | - Migrate applications to the latest Spring Data 2.7 release. + Migrate applications to the latest Spring Data JPA 2.7 release. recipeList: - org.openrewrite.java.spring.data.UseJpaRepositoryGetReferenceById diff --git a/docs/recipes/java/spring/data/upgradespringdata_3_4.md b/docs/recipes/java/spring/data/upgradespringdata_3_4.md index 05e8f4975d..46d011715e 100644 --- a/docs/recipes/java/spring/data/upgradespringdata_3_4.md +++ b/docs/recipes/java/spring/data/upgradespringdata_3_4.md @@ -1,15 +1,15 @@ --- -sidebar_label: "Migrate to Spring Data 3.4" +sidebar_label: "Migrate to Spring Data JPA 3.4" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrate to Spring Data 3.4 +# Migrate to Spring Data JPA 3.4 **org.openrewrite.java.spring.data.UpgradeSpringData\_3\_4** -_Migrate applications to the latest Spring Data 3.4 release._ +_Migrate applications to the latest Spring Data JPA 3.4 release._ ## Recipe source @@ -34,9 +34,9 @@ This recipe is available under the [Moderne Source Available License](https://do --- type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.java.spring.data.UpgradeSpringData_3_4 -displayName: Migrate to Spring Data 3.4 +displayName: Migrate to Spring Data JPA 3.4 description: | - Migrate applications to the latest Spring Data 3.4 release. + Migrate applications to the latest Spring Data JPA 3.4 release. recipeList: - org.openrewrite.java.spring.data.MigrateQueryToNativeQuery diff --git a/docs/recipes/java/spring/data/usejparepositorydeleteallinbatch.md b/docs/recipes/java/spring/data/usejparepositorydeleteallinbatch.md index 819f9b01dd..3f6ab6b30e 100644 --- a/docs/recipes/java/spring/data/usejparepositorydeleteallinbatch.md +++ b/docs/recipes/java/spring/data/usejparepositorydeleteallinbatch.md @@ -54,7 +54,7 @@ recipeList: This recipe is used as part of the following composite recipes: -* [Migrate to Spring Data 2.5](/recipes/java/spring/data/upgradespringdata_2_5.md) +* [Migrate to Spring Data JPA 2.5](/recipes/java/spring/data/upgradespringdata_2_5.md) ## Usage diff --git a/docs/recipes/java/spring/data/usejparepositorygetbyid.md b/docs/recipes/java/spring/data/usejparepositorygetbyid.md index 752250c983..948a26839f 100644 --- a/docs/recipes/java/spring/data/usejparepositorygetbyid.md +++ b/docs/recipes/java/spring/data/usejparepositorygetbyid.md @@ -54,7 +54,7 @@ recipeList: This recipe is used as part of the following composite recipes: -* [Migrate to Spring Data 2.5](/recipes/java/spring/data/upgradespringdata_2_5.md) +* [Migrate to Spring Data JPA 2.5](/recipes/java/spring/data/upgradespringdata_2_5.md) ## Usage diff --git a/docs/recipes/java/spring/data/usejparepositorygetreferencebyid.md b/docs/recipes/java/spring/data/usejparepositorygetreferencebyid.md index ee5422b2ca..e795ac27ff 100644 --- a/docs/recipes/java/spring/data/usejparepositorygetreferencebyid.md +++ b/docs/recipes/java/spring/data/usejparepositorygetreferencebyid.md @@ -66,7 +66,7 @@ recipeList: This recipe is used as part of the following composite recipes: -* [Migrate to Spring Data 2.7](/recipes/java/spring/data/upgradespringdata_2_7.md) +* [Migrate to Spring Data JPA 2.7](/recipes/java/spring/data/upgradespringdata_2_7.md) ## Examples ##### Example 1 diff --git a/docs/recipes/java/spring/framework/README.md b/docs/recipes/java/spring/framework/README.md index 966ac122c8..ff841cdf28 100644 --- a/docs/recipes/java/spring/framework/README.md +++ b/docs/recipes/java/spring/framework/README.md @@ -2,6 +2,7 @@ ## Categories +* [Beansxml](/recipes/java/spring/framework/beansxml) * [Webxml](/recipes/java/spring/framework/webxml) ## Composite Recipes diff --git a/docs/recipes/java/spring/framework/beansxml/README.md b/docs/recipes/java/spring/framework/beansxml/README.md new file mode 100644 index 0000000000..3bbd5e5d8f --- /dev/null +++ b/docs/recipes/java/spring/framework/beansxml/README.md @@ -0,0 +1,7 @@ +# Beansxml + +## Recipes + +* [Migrate `beans.xml` to Spring Framework configuration class](./beansxmltoconfiguration.md) + + diff --git a/docs/recipes/java/spring/framework/webxml/deleteemptywebxml.md b/docs/recipes/java/spring/framework/beansxml/beansxmltoconfiguration.md similarity index 74% rename from docs/recipes/java/spring/framework/webxml/deleteemptywebxml.md rename to docs/recipes/java/spring/framework/beansxml/beansxmltoconfiguration.md index 0f4f5415af..f93458faa5 100644 --- a/docs/recipes/java/spring/framework/webxml/deleteemptywebxml.md +++ b/docs/recipes/java/spring/framework/beansxml/beansxmltoconfiguration.md @@ -1,15 +1,15 @@ --- -sidebar_label: "Delete empty `web.xml` files" +sidebar_label: "Migrate `beans.xml` to Spring Framework configuration class" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Delete empty `web.xml` files +# Migrate `beans.xml` to Spring Framework configuration class -**io.moderne.java.spring.framework.webxml.DeleteEmptyWebXml** +**io.moderne.java.spring.framework.beansxml.BeansXmlToConfiguration** -_Deletes `web.xml` files that contain only an empty `` root element with no child elements._ +_Converts Java/Jakarta EE `beans.xml` configuration files to Spring Framework `@Configuration` classes._ ## Recipe source @@ -21,11 +21,48 @@ This recipe is available under the [Moderne Proprietary License](https://docs.mo ## Example + +###### New file +```java title="com/example/BeansConfiguration.java" +package com.example; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class BeansConfiguration { + @Bean + public UserService userService() { + UserService bean = new UserService(); + return bean; + } +} +``` + + ###### Unchanged -```xml +```java +package com.example; + +public class UserService { } +``` + +###### Unchanged +```mavenProject +main +``` + +###### Unchanged +```xml title="src/main/resources/META-INF/beans.xml" - - + + + + + ``` @@ -40,7 +77,7 @@ This recipe has no required configuration options. Users of Moderne can run it v You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. ```shell title="shell" -mod run . --recipe DeleteEmptyWebXml +mod run . --recipe BeansXmlToConfiguration ``` If the recipe is not available locally, then you can install it using: @@ -54,7 +91,7 @@ mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MOD import RecipeCallout from '@site/src/components/ModerneLink'; - + The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. diff --git a/docs/recipes/java/spring/framework/webxml/README.md b/docs/recipes/java/spring/framework/webxml/README.md index 754a7dde09..d6cb051cd0 100644 --- a/docs/recipes/java/spring/framework/webxml/README.md +++ b/docs/recipes/java/spring/framework/webxml/README.md @@ -2,7 +2,6 @@ ## Recipes -* [Delete empty `web.xml` files](./deleteemptywebxml.md) * [Migrate `web.xml` to `WebApplicationInitializer`](./webxmltowebapplicationinitializer.md) diff --git a/docs/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md b/docs/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md index 004728f9c8..1f1491961f 100644 --- a/docs/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md +++ b/docs/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **io.moderne.java.spring.framework.webxml.WebXmlToWebApplicationInitializer** -_Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests._ +_Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests.It creates a `WebXmlWebAppInitializer` class in `src/main/java` with respect to submodules if they contain java files.**If it finds an existing `WebXmlWebAppInitializer`, it skips the creation**._ ## Recipe source @@ -57,11 +57,11 @@ main ``` - + ###### Before -```xml +```xml title="src/main/webapp/WEB-INF/web.xml" @@ -81,7 +81,7 @@ main ``` ###### After -```xml +```xml title="src/main/webapp/WEB-INF/web.xml" @@ -94,6 +94,8 @@ main ```diff +--- src/main/webapp/WEB-INF/web.xml ++++ src/main/webapp/WEB-INF/web.xml @@ -6,10 +6,0 @@ diff --git a/docs/recipes/java/spring/security6/README.md b/docs/recipes/java/spring/security6/README.md index e49c3c1def..45acac8dce 100644 --- a/docs/recipes/java/spring/security6/README.md +++ b/docs/recipes/java/spring/security6/README.md @@ -15,6 +15,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Migrate to Spring Security 6.4](./upgradespringsecurity_6_4.md) * [Migrate to Spring Security 6.4](./upgradespringsecurity_6_4.md) * [Migrate to Spring Security 6.5](./upgradespringsecurity_6_5.md) +* [Migrate to Spring Security 6.5](./upgradespringsecurity_6_5.md) ## Recipes diff --git a/docs/recipes/java/spring/security6/upgradespringsecurity_6_5.md b/docs/recipes/java/spring/security6/upgradespringsecurity_6_5.md index dceaf47062..6ab5988a66 100644 --- a/docs/recipes/java/spring/security6/upgradespringsecurity_6_5.md +++ b/docs/recipes/java/spring/security6/upgradespringsecurity_6_5.md @@ -7,7 +7,7 @@ import TabItem from '@theme/TabItem'; # Migrate to Spring Security 6.5 -**io.moderne.java.spring.security6.UpgradeSpringSecurity\_6\_5** +**org.openrewrite.java.spring.security6.UpgradeSpringSecurity\_6\_5** _Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ @@ -18,25 +18,177 @@ _Migrate applications to the latest Spring Security 6.5 release. This recipe wil ## Recipe source -This recipe is only available to users of [Moderne](https://docs.moderne.io/). +[GitHub](https://github.com/openrewrite/rewrite-spring/blob/main/src/main/resources/META-INF/rewrite/spring-security-65.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite-spring/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-spring/) +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: -This recipe is available under the [Moderne Proprietary License](https://docs.moderne.io/licensing/overview). +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). +## Definition + + + +* [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) + * groupId: `org.springframework.security` + * artifactId: `*` + * newVersion: `6.5.x` + * overrideManagedVersion: `false` +* [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) + * groupId: `org.springframework.security` + * artifactId: `spring-security-oauth2-authorization-server` + * newVersion: `1.5.x` + * overrideManagedVersion: `false` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5 +displayName: Migrate to Spring Security 6.5 +description: | + Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. +tags: + - spring + - security +recipeList: + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: org.springframework.security + artifactId: "*" + newVersion: 6.5.x + overrideManagedVersion: false + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: org.springframework.security + artifactId: spring-security-oauth2-authorization-server + newVersion: 1.5.x + overrideManagedVersion: false + +``` + + + ## Used by This recipe is used as part of the following composite recipes: -* [Migrate to Spring Boot 3.5](/recipes/java/spring/boot3/upgradespringboot_3_5-moderne-edition.md) +* [Migrate to Spring Boot 3.5](/recipes/java/spring/boot3/upgradespringboot_3_5-community-edition.md) ## Usage -This recipe has no required configuration options. Users of Moderne can run it via the Moderne CLI: +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-spring` in your build file or by running a shell command (in which case no build changes are needed): + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} +rewrite { + activeRecipe("org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5") + setExportDatatables(true) +} +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-spring:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-spring:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}}") + } + rewrite { + activeRecipe("org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5 + + + + + org.openrewrite.recipe + rewrite-spring + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5 -Drewrite.exportDatatables=true +``` + You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. @@ -47,7 +199,7 @@ mod run . --recipe UpgradeSpringSecurity_6_5 If the recipe is not available locally, then you can install it using: ```shell -mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MODERNE_RECIPE_REWRITE_SPRING}} +mod config recipes jar install org.openrewrite.recipe:rewrite-spring:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}} ``` @@ -56,7 +208,7 @@ mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MOD import RecipeCallout from '@site/src/components/ModerneLink'; - + The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. diff --git a/docs/recipes/java/spring/separateapplicationpropertiesbyprofile.md b/docs/recipes/java/spring/separateapplicationpropertiesbyprofile.md new file mode 100644 index 0000000000..f5a582e184 --- /dev/null +++ b/docs/recipes/java/spring/separateapplicationpropertiesbyprofile.md @@ -0,0 +1,334 @@ +--- +sidebar_label: "Separate `application.properties` by profile" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Separate `application.properties` by profile + +**org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile** + +_Separating `application.properties` into separate files based on profiles._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-spring/blob/main/src/main/java/org/openrewrite/java/spring/SeparateApplicationPropertiesByProfile.java), +[Issue Tracker](https://github.com/openrewrite/rewrite-spring/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-spring/) + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Spring Boot 2.x best practices](/recipes/java/spring/boot2/springboot2bestpractices.md) + +## Example + + +###### Unchanged +```mavenProject +parent +``` + + +###### New file +```properties title="application-local.properties" +app.config.currentEnvironment=LOCAL +``` + + + + + + +###### Before +```properties title="application-dev.properties" +line1=line1 +``` + +###### After +```properties title="application-dev.properties" +line1=line1 +oauth2.clientId=9999999999999999999999 +service.domainUrl= https://this.is.my.dev.url.com +app.config.currentEnvironment=DEV +``` + + + + +```diff +--- application-dev.properties ++++ application-dev.properties +@@ -2,0 +2,3 @@ +line1=line1 ++oauth2.clientId=9999999999999999999999 ++service.domainUrl= https://this.is.my.dev.url.com ++app.config.currentEnvironment=DEV + +``` + + + + + + + +###### Before +```properties title="application.properties" +spring.application.name=Openrewrite-PR-Service +#PR-Service +base-url.PR-services=http://my.url.com +exchange-token=1234567890 +exchange-tokens=${base-url.PR-services}/exchange-token +!--- +spring.config.activate.on-profile=dev +oauth2.clientId=9999999999999999999999 +service.domainUrl= https://this.is.my.dev.url.com +app.config.currentEnvironment=DEV +#--- +spring.config.activate.on-profile=local +app.config.currentEnvironment=LOCAL + + +#--- +#### XX Configuration #### +spring.config.activate.on-profile=prod +oauth2.clientId=77777777777777 +service.domainUrl=https://this.is.my.prod.url.com +``` + +###### After +```properties title="application.properties" +spring.application.name=Openrewrite-PR-Service +#PR-Service +base-url.PR-services=http://my.url.com +exchange-token=1234567890 +exchange-tokens=${base-url.PR-services}/exchange-token +``` + + + + +```diff +--- application.properties ++++ application.properties +@@ -6,8 +6,0 @@ +exchange-token=1234567890 +exchange-tokens=${base-url.PR-services}/exchange-token +-!--- +-spring.config.activate.on-profile=dev +-oauth2.clientId=9999999999999999999999 +-service.domainUrl= https://this.is.my.dev.url.com +-app.config.currentEnvironment=DEV +-#--- +-spring.config.activate.on-profile=local +-app.config.currentEnvironment=LOCAL + +@@ -15,7 +7,0 @@ +app.config.currentEnvironment=LOCAL + +- +-#--- +-#### XX Configuration #### +-spring.config.activate.on-profile=prod +-oauth2.clientId=77777777777777 +-service.domainUrl=https://this.is.my.prod.url.com +- +``` + + + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-spring` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-spring:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-spring:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}}") + } + rewrite { + activeRecipe("org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile + + + + + org.openrewrite.recipe + rewrite-spring + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.spring.SeparateApplicationPropertiesByProfile -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe SeparateApplicationPropertiesByProfile +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-spring:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/spring/separateapplicationyamlbyprofile.md b/docs/recipes/java/spring/separateapplicationyamlbyprofile.md index bdef6aa730..d0b12f58a0 100644 --- a/docs/recipes/java/spring/separateapplicationyamlbyprofile.md +++ b/docs/recipes/java/spring/separateapplicationyamlbyprofile.md @@ -19,6 +19,13 @@ _The Spring team's recommendation is to separate profile properties into their o This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Spring Boot 2.x best practices](/recipes/java/spring/boot2/springboot2bestpractices.md) + ## Example diff --git a/docs/recipes/java/testing/junit5/README.md b/docs/recipes/java/testing/junit5/README.md index 94dd9b7fff..0720d991df 100644 --- a/docs/recipes/java/testing/junit5/README.md +++ b/docs/recipes/java/testing/junit5/README.md @@ -7,7 +7,7 @@ _Best practices for JUnit Jupiter tests._ _Recipes that include further recipes, often including the individual recipes below._ * [Clean Up Assertions](./cleanupassertions.md) -* [Exclude JUnit 4, unless Testcontainers is used](./excludejunit4unlessusingtestcontainers.md) +* [Exclude JUnit 4, unless Spring Boot Testcontainers is used](./excludejunit4unlessusingtestcontainers.md) * [JUnit 5 best practices](./junit5bestpractices.md) * [JUnit Jupiter migration from JUnit 4.x](./junit4to5migration.md) * [Upgrade Surefire Plugin](./upgradesurefireplugin.md) diff --git a/docs/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md b/docs/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md index 4ed1bb3f0b..d92b8c33d0 100644 --- a/docs/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md +++ b/docs/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md @@ -1,15 +1,15 @@ --- -sidebar_label: "Exclude JUnit 4, unless Testcontainers is used" +sidebar_label: "Exclude JUnit 4, unless Spring Boot Testcontainers is used" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Exclude JUnit 4, unless Testcontainers is used +# Exclude JUnit 4, unless Spring Boot Testcontainers is used **org.openrewrite.java.testing.junit5.ExcludeJUnit4UnlessUsingTestcontainers** -_Excludes JUnit 4, as it ought not to be necessary in a JUnit 5 project, unless Testcontainers is used._ +_Excludes JUnit 4, as it ought not to be necessary in a JUnit 5 project, unless Testcontainers 1.x is used._ ## Recipe source @@ -28,6 +28,7 @@ This recipe is available under the [Moderne Source Available License](https://do +* [Migrate to testcontainers-java 2.x](../../../java/testing/testcontainers/testcontainers2migration) * [Exclude Maven dependency](../../../maven/excludedependency) * groupId: `junit` * artifactId: `junit` @@ -40,10 +41,11 @@ This recipe is available under the [Moderne Source Available License](https://do --- type: specs.openrewrite.org/v1beta/recipe name: org.openrewrite.java.testing.junit5.ExcludeJUnit4UnlessUsingTestcontainers -displayName: Exclude JUnit 4, unless Testcontainers is used +displayName: Exclude JUnit 4, unless Spring Boot Testcontainers is used description: | - Excludes JUnit 4, as it ought not to be necessary in a JUnit 5 project, unless Testcontainers is used. + Excludes JUnit 4, as it ought not to be necessary in a JUnit 5 project, unless Testcontainers 1.x is used. recipeList: + - org.openrewrite.java.testing.testcontainers.Testcontainers2Migration - org.openrewrite.maven.ExcludeDependency: groupId: junit artifactId: junit diff --git a/docs/recipes/java/testing/junit5/junit4to5migration.md b/docs/recipes/java/testing/junit5/junit4to5migration.md index 8febcf0026..21ac86203f 100644 --- a/docs/recipes/java/testing/junit5/junit4to5migration.md +++ b/docs/recipes/java/testing/junit5/junit4to5migration.md @@ -77,7 +77,7 @@ This recipe is available under the [Moderne Source Available License](https://do * [Remove a Gradle or Maven dependency](../../../java/dependencies/removedependency) * groupId: `junit` * artifactId: `junit` -* [Exclude JUnit 4, unless Testcontainers is used](../../../java/testing/junit5/excludejunit4unlessusingtestcontainers) +* [Exclude JUnit 4, unless Spring Boot Testcontainers is used](../../../java/testing/junit5/excludejunit4unlessusingtestcontainers) * [Remove a Gradle or Maven dependency](../../../java/dependencies/removedependency) * groupId: `org.junit.vintage` * artifactId: `junit-vintage-engine` diff --git a/docs/recipes/java/testing/testcontainers/README.md b/docs/recipes/java/testing/testcontainers/README.md index 846652288f..cf9a688855 100644 --- a/docs/recipes/java/testing/testcontainers/README.md +++ b/docs/recipes/java/testing/testcontainers/README.md @@ -5,11 +5,14 @@ _Recipes that include further recipes, often including the individual recipes below._ * [Explicit container images and versions](./explicitcontainerimages.md) -* [Testcontainers best practices](./testcontainersbestpractices.md) +* [Migrate to testcontainers-java 2.x](./testcontainers2migration.md) +* [Rename Testcontainers dependencies](./testcontainers2dependencies.md) +* [Testcontainers 2 container classes](./testcontainers2containerclasses.md) ## Recipes * [Add image argument to container constructor](./explicitcontainerimage.md) * [Replace `ContainerState.getContainerIpAddress()` with `getHost()`](./gethostmigration.md) +* [Testcontainers best practices](./testcontainersbestpractices.md) diff --git a/docs/recipes/java/testing/testcontainers/explicitcontainerimages.md b/docs/recipes/java/testing/testcontainers/explicitcontainerimages.md index 3cd2e5b1bd..8239cbda25 100644 --- a/docs/recipes/java/testing/testcontainers/explicitcontainerimages.md +++ b/docs/recipes/java/testing/testcontainers/explicitcontainerimages.md @@ -208,7 +208,7 @@ recipeList: This recipe is used as part of the following composite recipes: -* [Testcontainers best practices](/recipes/java/testing/testcontainers/testcontainersbestpractices.md) +* [Migrate to testcontainers-java 2.x](/recipes/java/testing/testcontainers/testcontainers2migration.md) ## Usage diff --git a/docs/recipes/java/testing/testcontainers/gethostmigration.md b/docs/recipes/java/testing/testcontainers/gethostmigration.md index 195998c602..53036c82a1 100644 --- a/docs/recipes/java/testing/testcontainers/gethostmigration.md +++ b/docs/recipes/java/testing/testcontainers/gethostmigration.md @@ -52,7 +52,7 @@ recipeList: This recipe is used as part of the following composite recipes: -* [Testcontainers best practices](/recipes/java/testing/testcontainers/testcontainersbestpractices.md) +* [Migrate to testcontainers-java 2.x](/recipes/java/testing/testcontainers/testcontainers2migration.md) ## Usage diff --git a/docs/recipes/java/testing/testcontainers/testcontainers2containerclasses.md b/docs/recipes/java/testing/testcontainers/testcontainers2containerclasses.md new file mode 100644 index 0000000000..bf6da72b28 --- /dev/null +++ b/docs/recipes/java/testing/testcontainers/testcontainers2containerclasses.md @@ -0,0 +1,399 @@ +--- +sidebar_label: "Testcontainers 2 container classes" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Testcontainers 2 container classes + +**org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses** + +_Change Testcontainers container classes to their new package locations in Testcontainers 2.x._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-testing-frameworks/blob/main/src/main/resources/META-INF/rewrite/testcontainers.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite-testing-frameworks/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-testing-frameworks/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + + +## Definition + + + +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.BigQueryEmulatorContainer` + * newFullyQualifiedTypeName: `org.testcontainers.gcloud.BigQueryEmulatorContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.BigtableEmulatorContainer` + * newFullyQualifiedTypeName: `org.testcontainers.gcloud.BigtableEmulatorContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.BrowserWebDriverContainer` + * newFullyQualifiedTypeName: `org.testcontainers.selenium.BrowserWebDriverContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.CassandraContainer` + * newFullyQualifiedTypeName: `org.testcontainers.cassandra.CassandraContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.CockroachContainer` + * newFullyQualifiedTypeName: `org.testcontainers.cockroachdb.CockroachContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.DatastoreEmulatorContainer` + * newFullyQualifiedTypeName: `org.testcontainers.gcloud.DatastoreEmulatorContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.Db2Container` + * newFullyQualifiedTypeName: `org.testcontainers.db2.Db2Container` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.FirestoreEmulatorContainer` + * newFullyQualifiedTypeName: `org.testcontainers.gcloud.FirestoreEmulatorContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.KafkaContainer` + * newFullyQualifiedTypeName: `org.testcontainers.kafka.KafkaContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.localstack.LocalStackContainer` + * newFullyQualifiedTypeName: `org.testcontainers.localstack.LocalStackContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.MariaDBContainer` + * newFullyQualifiedTypeName: `org.testcontainers.mariadb.MariaDBContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.MockServerContainer` + * newFullyQualifiedTypeName: `org.testcontainers.mockserver.MockServerContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.MongoDBContainer` + * newFullyQualifiedTypeName: `org.testcontainers.mongodb.MongoDBContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.MSSQLServerContainer` + * newFullyQualifiedTypeName: `org.testcontainers.mssqlserver.MSSQLServerContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.MySQLContainer` + * newFullyQualifiedTypeName: `org.testcontainers.mysql.MySQLContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.Neo4jContainer` + * newFullyQualifiedTypeName: `org.testcontainers.neo4j.Neo4jContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.NginxContainer` + * newFullyQualifiedTypeName: `org.testcontainers.nginx.NginxContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.OrientDBContainer` + * newFullyQualifiedTypeName: `org.testcontainers.orientdb.OrientDBContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.PostgreSQLContainer` + * newFullyQualifiedTypeName: `org.testcontainers.postgresql.PostgreSQLContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.PubSubEmulatorContainer` + * newFullyQualifiedTypeName: `org.testcontainers.gcloud.PubSubEmulatorContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.PulsarContainer` + * newFullyQualifiedTypeName: `org.testcontainers.pulsar.PulsarContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.RabbitMQContainer` + * newFullyQualifiedTypeName: `org.testcontainers.rabbitmq.RabbitMQContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.SolrContainer` + * newFullyQualifiedTypeName: `org.testcontainers.solr.SolrContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.SpannerEmulatorContainer` + * newFullyQualifiedTypeName: `org.testcontainers.gcloud.SpannerEmulatorContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.TiDBContainer` + * newFullyQualifiedTypeName: `org.testcontainers.tidb.TiDBContainer` +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.ToxiproxyContainer` + * newFullyQualifiedTypeName: `org.testcontainers.toxiproxy.ToxiproxyContainer` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses +displayName: Testcontainers 2 container classes +description: | + Change Testcontainers container classes to their new package locations in Testcontainers 2.x. +recipeList: + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.BigQueryEmulatorContainer + newFullyQualifiedTypeName: org.testcontainers.gcloud.BigQueryEmulatorContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.BigtableEmulatorContainer + newFullyQualifiedTypeName: org.testcontainers.gcloud.BigtableEmulatorContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.BrowserWebDriverContainer + newFullyQualifiedTypeName: org.testcontainers.selenium.BrowserWebDriverContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.CassandraContainer + newFullyQualifiedTypeName: org.testcontainers.cassandra.CassandraContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.CockroachContainer + newFullyQualifiedTypeName: org.testcontainers.cockroachdb.CockroachContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.DatastoreEmulatorContainer + newFullyQualifiedTypeName: org.testcontainers.gcloud.DatastoreEmulatorContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.Db2Container + newFullyQualifiedTypeName: org.testcontainers.db2.Db2Container + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.FirestoreEmulatorContainer + newFullyQualifiedTypeName: org.testcontainers.gcloud.FirestoreEmulatorContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.KafkaContainer + newFullyQualifiedTypeName: org.testcontainers.kafka.KafkaContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.localstack.LocalStackContainer + newFullyQualifiedTypeName: org.testcontainers.localstack.LocalStackContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.MariaDBContainer + newFullyQualifiedTypeName: org.testcontainers.mariadb.MariaDBContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.MockServerContainer + newFullyQualifiedTypeName: org.testcontainers.mockserver.MockServerContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.MongoDBContainer + newFullyQualifiedTypeName: org.testcontainers.mongodb.MongoDBContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.MSSQLServerContainer + newFullyQualifiedTypeName: org.testcontainers.mssqlserver.MSSQLServerContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.MySQLContainer + newFullyQualifiedTypeName: org.testcontainers.mysql.MySQLContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.Neo4jContainer + newFullyQualifiedTypeName: org.testcontainers.neo4j.Neo4jContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.NginxContainer + newFullyQualifiedTypeName: org.testcontainers.nginx.NginxContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.OrientDBContainer + newFullyQualifiedTypeName: org.testcontainers.orientdb.OrientDBContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.PostgreSQLContainer + newFullyQualifiedTypeName: org.testcontainers.postgresql.PostgreSQLContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.PubSubEmulatorContainer + newFullyQualifiedTypeName: org.testcontainers.gcloud.PubSubEmulatorContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.PulsarContainer + newFullyQualifiedTypeName: org.testcontainers.pulsar.PulsarContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.RabbitMQContainer + newFullyQualifiedTypeName: org.testcontainers.rabbitmq.RabbitMQContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.SolrContainer + newFullyQualifiedTypeName: org.testcontainers.solr.SolrContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.SpannerEmulatorContainer + newFullyQualifiedTypeName: org.testcontainers.gcloud.SpannerEmulatorContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.TiDBContainer + newFullyQualifiedTypeName: org.testcontainers.tidb.TiDBContainer + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.ToxiproxyContainer + newFullyQualifiedTypeName: org.testcontainers.toxiproxy.ToxiproxyContainer + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to testcontainers-java 2.x](/recipes/java/testing/testcontainers/testcontainers2migration.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-testing-frameworks` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}") + } + rewrite { + activeRecipe("org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses + + + + + org.openrewrite.recipe + rewrite-testing-frameworks + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe Testcontainers2ContainerClasses +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/testing/testcontainers/testcontainers2dependencies.md b/docs/recipes/java/testing/testcontainers/testcontainers2dependencies.md new file mode 100644 index 0000000000..7e3d5da60c --- /dev/null +++ b/docs/recipes/java/testing/testcontainers/testcontainers2dependencies.md @@ -0,0 +1,861 @@ +--- +sidebar_label: "Rename Testcontainers dependencies" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Rename Testcontainers dependencies + +**org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies** + +_Change Testcontainers dependencies to adopt the new consistent `testcontainers-` prefix._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-testing-frameworks/blob/main/src/main/resources/META-INF/rewrite/testcontainers.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite-testing-frameworks/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-testing-frameworks/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + + +## Definition + + + +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `activemq` + * newArtifactId: `testcontainers-activemq` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `azure` + * newArtifactId: `testcontainers-azure` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `cassandra` + * newArtifactId: `testcontainers-cassandra` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `chromadb` + * newArtifactId: `testcontainers-chromadb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `clickhouse` + * newArtifactId: `testcontainers-clickhouse` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `cockroachdb` + * newArtifactId: `testcontainers-cockroachdb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `consul` + * newArtifactId: `testcontainers-consul` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `couchbase` + * newArtifactId: `testcontainers-couchbase` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `cratedb` + * newArtifactId: `testcontainers-cratedb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `database-commons` + * newArtifactId: `testcontainers-database-commons` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `databend` + * newArtifactId: `testcontainers-databend` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `db2` + * newArtifactId: `testcontainers-db2` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `elasticsearch` + * newArtifactId: `testcontainers-elasticsearch` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `gcloud` + * newArtifactId: `testcontainers-gcloud` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `grafana` + * newArtifactId: `testcontainers-grafana` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `hivemq` + * newArtifactId: `testcontainers-hivemq` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `influxdb` + * newArtifactId: `testcontainers-influxdb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `jdbc` + * newArtifactId: `testcontainers-jdbc` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `junit-jupiter` + * newArtifactId: `testcontainers-junit-jupiter` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `k3s` + * newArtifactId: `testcontainers-k3s` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `k6` + * newArtifactId: `testcontainers-k6` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `kafka` + * newArtifactId: `testcontainers-kafka` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `ldap` + * newArtifactId: `testcontainers-ldap` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `localstack` + * newArtifactId: `testcontainers-localstack` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `mariadb` + * newArtifactId: `testcontainers-mariadb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `milvus` + * newArtifactId: `testcontainers-milvus` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `minio` + * newArtifactId: `testcontainers-minio` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `mockserver` + * newArtifactId: `testcontainers-mockserver` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `mongodb` + * newArtifactId: `testcontainers-mongodb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `mssqlserver` + * newArtifactId: `testcontainers-mssqlserver` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `mysql` + * newArtifactId: `testcontainers-mysql` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `neo4j` + * newArtifactId: `testcontainers-neo4j` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `nginx` + * newArtifactId: `testcontainers-nginx` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `oceanbase` + * newArtifactId: `testcontainers-oceanbase` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `ollama` + * newArtifactId: `testcontainers-ollama` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `openfga` + * newArtifactId: `testcontainers-openfga` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `oracle-free` + * newArtifactId: `testcontainers-oracle-free` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `oracle-xe` + * newArtifactId: `testcontainers-oracle-xe` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `orientdb` + * newArtifactId: `testcontainers-orientdb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `pinecone` + * newArtifactId: `testcontainers-pinecone` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `postgresql` + * newArtifactId: `testcontainers-postgresql` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `presto` + * newArtifactId: `testcontainers-presto` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `pulsar` + * newArtifactId: `testcontainers-pulsar` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `qdrant` + * newArtifactId: `testcontainers-qdrant` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `questdb` + * newArtifactId: `testcontainers-questdb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `r2dbc` + * newArtifactId: `testcontainers-r2dbc` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `rabbitmq` + * newArtifactId: `testcontainers-rabbitmq` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `redpanda` + * newArtifactId: `testcontainers-redpanda` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `scylladb` + * newArtifactId: `testcontainers-scylladb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `selenium` + * newArtifactId: `testcontainers-selenium` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `solace` + * newArtifactId: `testcontainers-solace` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `solr` + * newArtifactId: `testcontainers-solr` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `spock` + * newArtifactId: `testcontainers-spock` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `tidb` + * newArtifactId: `testcontainers-tidb` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `timeplus` + * newArtifactId: `testcontainers-timeplus` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `toxiproxy` + * newArtifactId: `testcontainers-toxiproxy` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `trino` + * newArtifactId: `testcontainers-trino` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `typesense` + * newArtifactId: `testcontainers-typesense` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `vault` + * newArtifactId: `testcontainers-vault` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `weaviate` + * newArtifactId: `testcontainers-weaviate` + * newVersion: `2.x` +* [Change Gradle or Maven dependency](../../../java/dependencies/changedependency) + * oldGroupId: `org.testcontainers` + * oldArtifactId: `yugabytedb` + * newArtifactId: `testcontainers-yugabytedb` + * newVersion: `2.x` +* [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) + * groupId: `org.testcontainers` + * artifactId: `*` + * newVersion: `2.x` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies +displayName: Rename Testcontainers dependencies +description: | + Change Testcontainers dependencies to adopt the new consistent `testcontainers-` prefix. +recipeList: + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: activemq + newArtifactId: testcontainers-activemq + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: azure + newArtifactId: testcontainers-azure + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: cassandra + newArtifactId: testcontainers-cassandra + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: chromadb + newArtifactId: testcontainers-chromadb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: clickhouse + newArtifactId: testcontainers-clickhouse + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: cockroachdb + newArtifactId: testcontainers-cockroachdb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: consul + newArtifactId: testcontainers-consul + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: couchbase + newArtifactId: testcontainers-couchbase + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: cratedb + newArtifactId: testcontainers-cratedb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: database-commons + newArtifactId: testcontainers-database-commons + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: databend + newArtifactId: testcontainers-databend + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: db2 + newArtifactId: testcontainers-db2 + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: elasticsearch + newArtifactId: testcontainers-elasticsearch + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: gcloud + newArtifactId: testcontainers-gcloud + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: grafana + newArtifactId: testcontainers-grafana + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: hivemq + newArtifactId: testcontainers-hivemq + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: influxdb + newArtifactId: testcontainers-influxdb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: jdbc + newArtifactId: testcontainers-jdbc + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: junit-jupiter + newArtifactId: testcontainers-junit-jupiter + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: k3s + newArtifactId: testcontainers-k3s + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: k6 + newArtifactId: testcontainers-k6 + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: kafka + newArtifactId: testcontainers-kafka + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: ldap + newArtifactId: testcontainers-ldap + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: localstack + newArtifactId: testcontainers-localstack + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: mariadb + newArtifactId: testcontainers-mariadb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: milvus + newArtifactId: testcontainers-milvus + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: minio + newArtifactId: testcontainers-minio + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: mockserver + newArtifactId: testcontainers-mockserver + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: mongodb + newArtifactId: testcontainers-mongodb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: mssqlserver + newArtifactId: testcontainers-mssqlserver + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: mysql + newArtifactId: testcontainers-mysql + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: neo4j + newArtifactId: testcontainers-neo4j + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: nginx + newArtifactId: testcontainers-nginx + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: oceanbase + newArtifactId: testcontainers-oceanbase + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: ollama + newArtifactId: testcontainers-ollama + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: openfga + newArtifactId: testcontainers-openfga + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: oracle-free + newArtifactId: testcontainers-oracle-free + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: oracle-xe + newArtifactId: testcontainers-oracle-xe + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: orientdb + newArtifactId: testcontainers-orientdb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: pinecone + newArtifactId: testcontainers-pinecone + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: postgresql + newArtifactId: testcontainers-postgresql + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: presto + newArtifactId: testcontainers-presto + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: pulsar + newArtifactId: testcontainers-pulsar + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: qdrant + newArtifactId: testcontainers-qdrant + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: questdb + newArtifactId: testcontainers-questdb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: r2dbc + newArtifactId: testcontainers-r2dbc + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: rabbitmq + newArtifactId: testcontainers-rabbitmq + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: redpanda + newArtifactId: testcontainers-redpanda + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: scylladb + newArtifactId: testcontainers-scylladb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: selenium + newArtifactId: testcontainers-selenium + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: solace + newArtifactId: testcontainers-solace + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: solr + newArtifactId: testcontainers-solr + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: spock + newArtifactId: testcontainers-spock + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: tidb + newArtifactId: testcontainers-tidb + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: timeplus + newArtifactId: testcontainers-timeplus + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: toxiproxy + newArtifactId: testcontainers-toxiproxy + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: trino + newArtifactId: testcontainers-trino + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: typesense + newArtifactId: testcontainers-typesense + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: vault + newArtifactId: testcontainers-vault + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: weaviate + newArtifactId: testcontainers-weaviate + newVersion: 2.x + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: org.testcontainers + oldArtifactId: yugabytedb + newArtifactId: testcontainers-yugabytedb + newVersion: 2.x + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: org.testcontainers + artifactId: "*" + newVersion: 2.x + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to testcontainers-java 2.x](/recipes/java/testing/testcontainers/testcontainers2migration.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-testing-frameworks` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}") + } + rewrite { + activeRecipe("org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies + + + + + org.openrewrite.recipe + rewrite-testing-frameworks + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe Testcontainers2Dependencies +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/testing/testcontainers/testcontainers2migration.md b/docs/recipes/java/testing/testcontainers/testcontainers2migration.md new file mode 100644 index 0000000000..ae62dca0c7 --- /dev/null +++ b/docs/recipes/java/testing/testcontainers/testcontainers2migration.md @@ -0,0 +1,258 @@ +--- +sidebar_label: "Migrate to testcontainers-java 2.x" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrate to testcontainers-java 2.x + +**org.openrewrite.java.testing.testcontainers.Testcontainers2Migration** + +_Change dependencies and types to migrate to testcontainers-java 2.x._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite-testing-frameworks/blob/main/src/main/resources/META-INF/rewrite/testcontainers.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite-testing-frameworks/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-testing-frameworks/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). + + +## Definition + + + +* [Explicit container images and versions](../../../java/testing/testcontainers/explicitcontainerimages) +* [Replace `ContainerState.getContainerIpAddress()` with `getHost()`](../../../java/testing/testcontainers/gethostmigration) +* [Change type](../../../java/changetype) + * oldFullyQualifiedTypeName: `org.testcontainers.containers.DockerComposeContainer` + * newFullyQualifiedTypeName: `org.testcontainers.containers.ComposeContainer` +* [Rename Testcontainers dependencies](../../../java/testing/testcontainers/testcontainers2dependencies) +* [Testcontainers 2 container classes](../../../java/testing/testcontainers/testcontainers2containerclasses) + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.java.testing.testcontainers.Testcontainers2Migration +displayName: Migrate to testcontainers-java 2.x +description: | + Change dependencies and types to migrate to testcontainers-java 2.x. +recipeList: + - org.openrewrite.java.testing.testcontainers.ExplicitContainerImages + - org.openrewrite.java.testing.testcontainers.GetHostMigration + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.testcontainers.containers.DockerComposeContainer + newFullyQualifiedTypeName: org.testcontainers.containers.ComposeContainer + - org.openrewrite.java.testing.testcontainers.Testcontainers2Dependencies + - org.openrewrite.java.testing.testcontainers.Testcontainers2ContainerClasses + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Exclude JUnit 4, unless Spring Boot Testcontainers is used](/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md) +* [Testcontainers best practices](/recipes/java/testing/testcontainers/testcontainersbestpractices.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-testing-frameworks` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.openrewrite.java.testing.testcontainers.Testcontainers2Migration") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}") + } + rewrite { + activeRecipe("org.openrewrite.java.testing.testcontainers.Testcontainers2Migration") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.java.testing.testcontainers.Testcontainers2Migration + + + + + org.openrewrite.recipe + rewrite-testing-frameworks + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:RELEASE -Drewrite.activeRecipes=org.openrewrite.java.testing.testcontainers.Testcontainers2Migration -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe Testcontainers2Migration +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-testing-frameworks:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/java/testing/testcontainers/testcontainersbestpractices.md b/docs/recipes/java/testing/testcontainers/testcontainersbestpractices.md index ac169d83f9..54c7a33086 100644 --- a/docs/recipes/java/testing/testcontainers/testcontainersbestpractices.md +++ b/docs/recipes/java/testing/testcontainers/testcontainersbestpractices.md @@ -17,10 +17,6 @@ _Apply best practices to Testcontainers usage._ [Issue Tracker](https://github.com/openrewrite/rewrite-testing-frameworks/issues), [Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-testing-frameworks/) -:::info -This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. -::: - This recipe is available under the [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license). @@ -28,15 +24,7 @@ This recipe is available under the [Moderne Source Available License](https://do -* [Upgrade Gradle or Maven dependency versions](../../../java/dependencies/upgradedependencyversion) - * groupId: `org.testcontainers` - * artifactId: `*` - * newVersion: `1.21.x` -* [Explicit container images and versions](../../../java/testing/testcontainers/explicitcontainerimages) -* [Replace `ContainerState.getContainerIpAddress()` with `getHost()`](../../../java/testing/testcontainers/gethostmigration) -* [Change type](../../../java/changetype) - * oldFullyQualifiedTypeName: `org.testcontainers.containers.DockerComposeContainer` - * newFullyQualifiedTypeName: `org.testcontainers.containers.ComposeContainer` +* [Migrate to testcontainers-java 2.x](../../../java/testing/testcontainers/testcontainers2migration) @@ -50,15 +38,7 @@ displayName: Testcontainers best practices description: | Apply best practices to Testcontainers usage. recipeList: - - org.openrewrite.java.dependencies.UpgradeDependencyVersion: - groupId: org.testcontainers - artifactId: "*" - newVersion: 1.21.x - - org.openrewrite.java.testing.testcontainers.ExplicitContainerImages - - org.openrewrite.java.testing.testcontainers.GetHostMigration - - org.openrewrite.java.ChangeType: - oldFullyQualifiedTypeName: org.testcontainers.containers.DockerComposeContainer - newFullyQualifiedTypeName: org.testcontainers.containers.ComposeContainer + - org.openrewrite.java.testing.testcontainers.Testcontainers2Migration ``` diff --git a/docs/recipes/json/createjsonfile.md b/docs/recipes/json/createjsonfile.md index df4da76e03..eb8662a529 100644 --- a/docs/recipes/json/createjsonfile.md +++ b/docs/recipes/json/createjsonfile.md @@ -24,7 +24,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac | Type | Name | Description | Example | | -- | -- | -- | -- | | `String` | relativeFileName | File path of new file. | `foo/bar/baz.json` | -| `String` | fileContents | | +| `String` | fileContents | *Optional*. Multiline text content for the file. | `{"a": {"property": "value"}, "another": {"property": "value"}}` | | `String` | fileContentsUrl | *Optional*. URL to file containing text content for the file. Use either `fileContents` or `fileContentsUrl` option. | `http://foo.bar/baz.json` | | `Boolean` | overwriteExisting | *Optional*. If there is an existing file, should it be overwritten. | | @@ -41,15 +41,7 @@ displayName: Create JSON file example recipeList: - org.openrewrite.json.CreateJsonFile: relativeFileName: foo/bar/baz.json - fileContents: > - { - "a": { - "property": "value" - }, - "another": { - "property": "value" - } - } + fileContents: '{"a": {"property": "value"}, "another": {"property": "value"}}' fileContentsUrl: http://foo.bar/baz.json ``` @@ -99,27 +91,19 @@ repositories { ``` 2. Run `mvn rewrite:run` to run the recipe. - - - You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. - - ```shell title="shell" - mod run . --recipe CreateJsonFile --recipe-option "relativeFileName=foo/bar/baz.json" --recipe-option "fileContents=> -{ - "a": { - "property": "value" - }, - "another": { - "property": "value" - } -}" --recipe-option "fileContentsUrl=http://foo.bar/baz.json" - ``` - - If the recipe is not available locally, then you can install it using: - ```shell - mod config recipes jar install org.openrewrite:rewrite-json:{{VERSION_ORG_OPENREWRITE_REWRITE_JSON}} - ``` - + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe CreateJsonFile --recipe-option "relativeFileName=foo/bar/baz.json" --recipe-option "fileContents='{"a": {"property": "value"}, "another": {"property": "value"}}'" --recipe-option "fileContentsUrl=http://foo.bar/baz.json" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-json:{{VERSION_ORG_OPENREWRITE_REWRITE_JSON}} +``` + ## See how this recipe works across multiple open-source repositories diff --git a/docs/recipes/maven/README.md b/docs/recipes/maven/README.md index d0631b2539..ca5c7570b1 100644 --- a/docs/recipes/maven/README.md +++ b/docs/recipes/maven/README.md @@ -15,6 +15,11 @@ _Recipes that include further recipes, often including the individual recipes below._ * [Apache Maven best practices](./bestpractices.md) +* [Migrate to Maven 4](./migratetomaven4.md) +* [Replace deprecated lifecycle phases](./replacedeprecatedlifecyclephases.md) +* [Replace modules with subprojects](./replacemoduleswithsubprojects.md) +* [Replace removed root directory properties](./replaceremovedrootdirectoryproperties.md) +* [Upgrade to Maven model version 4.1.0](./upgradetomodelversion410.md) ## Recipes @@ -54,6 +59,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Remove Maven plugin dependency](./removeplugindependency.md) * [Remove Maven project property](./removeproperty.md) * [Remove duplicate Maven dependencies](./removeduplicatedependencies.md) +* [Remove duplicate plugin declarations](./removeduplicateplugindeclarations.md) * [Remove exclusion](./removeexclusion.md) * [Remove redundant explicit dependency and plugin versions](./removeredundantdependencyversions.md) * [Remove redundant properties](./removeredundantproperties.md) @@ -68,6 +74,7 @@ _Recipes that include further recipes, often including the individual recipes be * [Upgrade Maven parent project version](./upgradeparentversion.md) * [Upgrade Maven plugin version](./upgradepluginversion.md) * [Upgrade transitive Maven dependencies](./upgradetransitivedependencyversion.md) +* [Use Maven 4 parent inference](./useparentinference.md) * [Use Maven compiler plugin release configuration](./usemavencompilerpluginreleaseconfiguration.md) diff --git a/docs/recipes/maven/addmanageddependency.md b/docs/recipes/maven/addmanageddependency.md index c52c5948a9..931c24e75d 100644 --- a/docs/recipes/maven/addmanageddependency.md +++ b/docs/recipes/maven/addmanageddependency.md @@ -33,6 +33,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac | `Boolean` | releasesOnly | *Optional*. Whether to exclude snapshots from consideration when using a semver selector | | | `String` | onlyIfUsing | *Optional*. Only add managed dependencies to projects having a dependency matching the expression. | `org.apache.logging.log4j:log4j*` | | `Boolean` | addToRootPom | *Optional*. Add to the root pom where root is the eldest parent of the pom within the source set. | | +| `String` | because | *Optional*. The reason for adding the managed dependency. This will be added as an XML comment preceding the managed dependency. | `CVE-2021-1234` | ## Used by @@ -59,6 +60,7 @@ This recipe is used as part of the following composite recipes: |releasesOnly|`null`| |onlyIfUsing|`org.apache.logging.log4j:*`| |addToRootPom|`false`| +|because|| @@ -150,6 +152,7 @@ This recipe is used as part of the following composite recipes: |releasesOnly|`null`| |onlyIfUsing|`null`| |addToRootPom|`null`| +|because|| @@ -240,6 +243,7 @@ recipeList: classifier: test versionPattern: '-jre' onlyIfUsing: org.apache.logging.log4j:log4j* + because: CVE-2021-1234 ``` Now that `com.yourorg.AddManagedDependencyExample` has been defined, activate it in your build file: @@ -275,7 +279,7 @@ Now that `com.yourorg.AddManagedDependencyExample` has been defined, activate it You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. ```shell title="shell" -mod run . --recipe AddManagedDependency --recipe-option "groupId=org.apache.logging.log4j" --recipe-option "artifactId=log4j-bom" --recipe-option "version=latest.release" --recipe-option "scope=import" --recipe-option "type=pom" --recipe-option "classifier=test" --recipe-option "versionPattern='-jre'" --recipe-option "onlyIfUsing=org.apache.logging.log4j:log4j*" +mod run . --recipe AddManagedDependency --recipe-option "groupId=org.apache.logging.log4j" --recipe-option "artifactId=log4j-bom" --recipe-option "version=latest.release" --recipe-option "scope=import" --recipe-option "type=pom" --recipe-option "classifier=test" --recipe-option "versionPattern='-jre'" --recipe-option "onlyIfUsing=org.apache.logging.log4j:log4j*" --recipe-option "because=CVE-2021-1234" ``` If the recipe is not available locally, then you can install it using: diff --git a/docs/recipes/maven/cleanup/prefixlessexpressions.md b/docs/recipes/maven/cleanup/prefixlessexpressions.md index 47145075b9..dd3e9bee98 100644 --- a/docs/recipes/maven/cleanup/prefixlessexpressions.md +++ b/docs/recipes/maven/cleanup/prefixlessexpressions.md @@ -88,6 +88,7 @@ This recipe is used as part of the following composite recipes: * [Apache Maven best practices](/recipes/devcenter/apachemavenbestpractices.md) * [Apache Maven best practices](/recipes/maven/bestpractices.md) +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) ## Examples ##### Example 1 diff --git a/docs/recipes/maven/excludedependency.md b/docs/recipes/maven/excludedependency.md index 5bf9a2bdd7..eaca70280b 100644 --- a/docs/recipes/maven/excludedependency.md +++ b/docs/recipes/maven/excludedependency.md @@ -33,7 +33,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac This recipe is used as part of the following composite recipes: * [Combined dependency management to remove and exclude](/recipes/java/dropwizard/config/removeandexcludedependency.md) -* [Exclude JUnit 4, unless Testcontainers is used](/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md) +* [Exclude JUnit 4, unless Spring Boot Testcontainers is used](/recipes/java/testing/junit5/excludejunit4unlessusingtestcontainers.md) * [JUnit Jupiter migration from JUnit 4.x](/recipes/java/testing/junit5/junit4to5migration.md) * [Lombok Best Practices](/recipes/java/migrate/lombok/lombokbestpractices.md) * [Migrate from JMockit to Mockito](/recipes/java/testing/jmockit/jmockittomockito.md) diff --git a/docs/recipes/maven/migratetomaven4.md b/docs/recipes/maven/migratetomaven4.md new file mode 100644 index 0000000000..3864b9dff7 --- /dev/null +++ b/docs/recipes/maven/migratetomaven4.md @@ -0,0 +1,183 @@ +--- +sidebar_label: "Migrate to Maven 4" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrate to Maven 4 + +**org.openrewrite.maven.MigrateToMaven4** + +_Migrates Maven POMs from Maven 3 to Maven 4, addressing breaking changes and deprecations. This recipe updates property expressions, lifecycle phases, removes duplicate plugin declarations, and replaces removed properties to ensure compatibility with Maven 4._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/resources/META-INF/rewrite/maven.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Drop prefixless expressions in POM](../maven/cleanup/prefixlessexpressions) +* [Replace removed root directory properties](../maven/replaceremovedrootdirectoryproperties) +* [Replace deprecated lifecycle phases](../maven/replacedeprecatedlifecyclephases) +* [Remove duplicate plugin declarations](../maven/removeduplicateplugindeclarations) +* [Upgrade to Maven model version 4.1.0](../maven/upgradetomodelversion410) +* [Replace modules with subprojects](../maven/replacemoduleswithsubprojects) +* [Use Maven 4 parent inference](../maven/useparentinference) + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.maven.MigrateToMaven4 +displayName: Migrate to Maven 4 +description: | + Migrates Maven POMs from Maven 3 to Maven 4, addressing breaking changes and deprecations. This recipe updates property expressions, lifecycle phases, removes duplicate plugin declarations, and replaces removed properties to ensure compatibility with Maven 4. +recipeList: + - org.openrewrite.maven.cleanup.PrefixlessExpressions + - org.openrewrite.maven.ReplaceRemovedRootDirectoryProperties + - org.openrewrite.maven.ReplaceDeprecatedLifecyclePhases + - org.openrewrite.maven.RemoveDuplicatePluginDeclarations + - org.openrewrite.maven.UpgradeToModelVersion410 + - org.openrewrite.maven.ReplaceModulesWithSubprojects + - org.openrewrite.maven.UseParentInference + +``` + + + +## Usage + +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.MigrateToMaven4 + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.MigrateToMaven4 -Drewrite.exportDatatables=true +``` + + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe MigrateToMaven4 +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/spring/webxml/migratetojakartaeeservletconfiguration.md b/docs/recipes/maven/removeduplicateplugindeclarations.md similarity index 61% rename from docs/recipes/spring/webxml/migratetojakartaeeservletconfiguration.md rename to docs/recipes/maven/removeduplicateplugindeclarations.md index 026b64468c..1ce7f9d8d4 100644 --- a/docs/recipes/spring/webxml/migratetojakartaeeservletconfiguration.md +++ b/docs/recipes/maven/removeduplicateplugindeclarations.md @@ -1,48 +1,84 @@ --- -sidebar_label: "Migrate `web.xml` using Jakarta EE" +sidebar_label: "Remove duplicate plugin declarations" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrate `web.xml` using Jakarta EE +# Remove duplicate plugin declarations -**org.openrewrite.spring.webxml.MigrateToJakartaEEServletConfiguration** +**org.openrewrite.maven.RemoveDuplicatePluginDeclarations** -_Migrates `web.xml` content to Spring Boot Configuration classes using Jakarta EE namespace._ +_Maven 4 rejects duplicate plugin declarations (same groupId and artifactId) with an error. This recipe removes duplicate plugin declarations, keeping only the first occurrence._ ## Recipe source -This recipe is only available to users of [Moderne](https://docs.moderne.io/). +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/java/org/openrewrite/maven/RemoveDuplicatePluginDeclarations.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) - -This recipe is available under the [Moderne Proprietary License](https://docs.moderne.io/licensing/overview). +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). ## Used by This recipe is used as part of the following composite recipes: -* [Migrate `web.xml` to Java Configuration](/recipes/spring/webxml/removewebxml.md) +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) ## Usage -This recipe has no required configuration options. Users of Moderne can run it via the Moderne CLI: +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.RemoveDuplicatePluginDeclarations + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.RemoveDuplicatePluginDeclarations -Drewrite.exportDatatables=true +``` + + You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. ```shell title="shell" -mod run . --recipe MigrateToJakartaEEServletConfiguration +mod run . --recipe RemoveDuplicatePluginDeclarations ``` If the recipe is not available locally, then you can install it using: ```shell -mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MODERNE_RECIPE_REWRITE_SPRING}} +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} ``` @@ -51,7 +87,7 @@ mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MOD import RecipeCallout from '@site/src/components/ModerneLink'; - + The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. diff --git a/docs/recipes/maven/renamepropertykey.md b/docs/recipes/maven/renamepropertykey.md index dd711d1a4c..4a2150b7fb 100644 --- a/docs/recipes/maven/renamepropertykey.md +++ b/docs/recipes/maven/renamepropertykey.md @@ -33,6 +33,7 @@ This recipe is used as part of the following composite recipes: * [Drop prefixless expressions in POM](/recipes/maven/cleanup/prefixlessexpressions.md) * [Migrate from OptaPlanner to Timefold Solver](/recipes/ai/timefold/solver/migration/fromoptaplannertotimefoldsolver.md) +* [Replace removed root directory properties](/recipes/maven/replaceremovedrootdirectoryproperties.md) ## Example diff --git a/docs/recipes/maven/replacedeprecatedlifecyclephases.md b/docs/recipes/maven/replacedeprecatedlifecyclephases.md new file mode 100644 index 0000000000..0fb56adcd0 --- /dev/null +++ b/docs/recipes/maven/replacedeprecatedlifecyclephases.md @@ -0,0 +1,224 @@ +--- +sidebar_label: "Replace deprecated lifecycle phases" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Replace deprecated lifecycle phases + +**org.openrewrite.maven.ReplaceDeprecatedLifecyclePhases** + +_Maven 4 deprecated all `pre-*` and `post-*` lifecycle phases in favor of the `before:` and `after:` syntax. This recipe updates plugin phase declarations to use the new syntax, including `pre-clean` → `before:clean`, `pre-site` → `before:site`, `pre-integration-test` → `before:integration-test`, and their `post-*` equivalents._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/resources/META-INF/rewrite/maven.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Change XML tag value](../xml/changetagvalue) + * elementName: `//plugins/plugin/executions/execution/phase` + * oldValue: `pre-clean` + * newValue: `before:clean` +* [Change XML tag value](../xml/changetagvalue) + * elementName: `//plugins/plugin/executions/execution/phase` + * oldValue: `post-clean` + * newValue: `after:clean` +* [Change XML tag value](../xml/changetagvalue) + * elementName: `//plugins/plugin/executions/execution/phase` + * oldValue: `pre-site` + * newValue: `before:site` +* [Change XML tag value](../xml/changetagvalue) + * elementName: `//plugins/plugin/executions/execution/phase` + * oldValue: `post-site` + * newValue: `after:site` +* [Change XML tag value](../xml/changetagvalue) + * elementName: `//plugins/plugin/executions/execution/phase` + * oldValue: `pre-integration-test` + * newValue: `before:integration-test` +* [Change XML tag value](../xml/changetagvalue) + * elementName: `//plugins/plugin/executions/execution/phase` + * oldValue: `post-integration-test` + * newValue: `after:integration-test` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.maven.ReplaceDeprecatedLifecyclePhases +displayName: Replace deprecated lifecycle phases +description: | + Maven 4 deprecated all `pre-*` and `post-*` lifecycle phases in favor of the `before:` and `after:` syntax. This recipe updates plugin phase declarations to use the new syntax, including `pre-clean` → `before:clean`, `pre-site` → `before:site`, `pre-integration-test` → `before:integration-test`, and their `post-*` equivalents. +recipeList: + - org.openrewrite.xml.ChangeTagValue: + elementName: //plugins/plugin/executions/execution/phase + oldValue: pre-clean + newValue: before:clean + - org.openrewrite.xml.ChangeTagValue: + elementName: //plugins/plugin/executions/execution/phase + oldValue: post-clean + newValue: after:clean + - org.openrewrite.xml.ChangeTagValue: + elementName: //plugins/plugin/executions/execution/phase + oldValue: pre-site + newValue: before:site + - org.openrewrite.xml.ChangeTagValue: + elementName: //plugins/plugin/executions/execution/phase + oldValue: post-site + newValue: after:site + - org.openrewrite.xml.ChangeTagValue: + elementName: //plugins/plugin/executions/execution/phase + oldValue: pre-integration-test + newValue: before:integration-test + - org.openrewrite.xml.ChangeTagValue: + elementName: //plugins/plugin/executions/execution/phase + oldValue: post-integration-test + newValue: after:integration-test + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) + + +## Usage + +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.ReplaceDeprecatedLifecyclePhases + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.ReplaceDeprecatedLifecyclePhases -Drewrite.exportDatatables=true +``` + + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplaceDeprecatedLifecyclePhases +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/maven/replacemoduleswithsubprojects.md b/docs/recipes/maven/replacemoduleswithsubprojects.md new file mode 100644 index 0000000000..0b96070f76 --- /dev/null +++ b/docs/recipes/maven/replacemoduleswithsubprojects.md @@ -0,0 +1,188 @@ +--- +sidebar_label: "Replace modules with subprojects" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Replace modules with subprojects + +**org.openrewrite.maven.ReplaceModulesWithSubprojects** + +_Maven 4 model version 4.1.0 deprecates the `` element in favor of `` to eliminate confusion with Java's Platform Module System (JPMS). This recipe renames `` to `` and `` children to ``._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/resources/META-INF/rewrite/maven.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Change XML tag name](../xml/changetagname) + * elementName: `/project/modules/module` + * newName: `subproject` +* [Change XML tag name](../xml/changetagname) + * elementName: `/project/modules` + * newName: `subprojects` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.maven.ReplaceModulesWithSubprojects +displayName: Replace modules with subprojects +description: | + Maven 4 model version 4.1.0 deprecates the `<modules>` element in favor of `<subprojects>` to eliminate confusion with Java's Platform Module System (JPMS). This recipe renames `<modules>` to `<subprojects>` and `<module>` children to `<subproject>`. +recipeList: + - org.openrewrite.xml.ChangeTagName: + elementName: /project/modules/module + newName: subproject + - org.openrewrite.xml.ChangeTagName: + elementName: /project/modules + newName: subprojects + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) + + +## Usage + +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.ReplaceModulesWithSubprojects + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.ReplaceModulesWithSubprojects -Drewrite.exportDatatables=true +``` + + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplaceModulesWithSubprojects +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/maven/replaceremovedrootdirectoryproperties.md b/docs/recipes/maven/replaceremovedrootdirectoryproperties.md new file mode 100644 index 0000000000..03f7125d67 --- /dev/null +++ b/docs/recipes/maven/replaceremovedrootdirectoryproperties.md @@ -0,0 +1,188 @@ +--- +sidebar_label: "Replace removed root directory properties" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Replace removed root directory properties + +**org.openrewrite.maven.ReplaceRemovedRootDirectoryProperties** + +_Maven 4 removed support for deprecated root directory properties. This recipe replaces `${executionRootDirectory}` with `${session.rootDirectory}` and `${multiModuleProjectDirectory}` with `${project.rootDirectory}`._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/resources/META-INF/rewrite/maven.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Rename Maven property key](../maven/renamepropertykey) + * oldKey: `executionRootDirectory` + * newKey: `session.rootDirectory` +* [Rename Maven property key](../maven/renamepropertykey) + * oldKey: `multiModuleProjectDirectory` + * newKey: `project.rootDirectory` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.maven.ReplaceRemovedRootDirectoryProperties +displayName: Replace removed root directory properties +description: | + Maven 4 removed support for deprecated root directory properties. This recipe replaces `${executionRootDirectory}` with `${session.rootDirectory}` and `${multiModuleProjectDirectory}` with `${project.rootDirectory}`. +recipeList: + - org.openrewrite.maven.RenamePropertyKey: + oldKey: executionRootDirectory + newKey: session.rootDirectory + - org.openrewrite.maven.RenamePropertyKey: + oldKey: multiModuleProjectDirectory + newKey: project.rootDirectory + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) + + +## Usage + +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.ReplaceRemovedRootDirectoryProperties + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.ReplaceRemovedRootDirectoryProperties -Drewrite.exportDatatables=true +``` + + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplaceRemovedRootDirectoryProperties +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/maven/upgradetomodelversion410.md b/docs/recipes/maven/upgradetomodelversion410.md new file mode 100644 index 0000000000..cb0da42b27 --- /dev/null +++ b/docs/recipes/maven/upgradetomodelversion410.md @@ -0,0 +1,206 @@ +--- +sidebar_label: "Upgrade to Maven model version 4.1.0" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Upgrade to Maven model version 4.1.0 + +**org.openrewrite.maven.UpgradeToModelVersion410** + +_Upgrades Maven POMs from model version 4.0.0 to 4.1.0, enabling new Maven 4 features like ``, `bom` packaging, and automatic version inference. This recipe updates the `` element, `xmlns` namespace, and `xsi:schemaLocation` from 4.0.0 to 4.1.0._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/resources/META-INF/rewrite/maven.yml), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Change XML tag value](../xml/changetagvalue) + * elementName: `/project/modelVersion` + * oldValue: `4.0.0` + * newValue: `4.1.0` +* [Change XML attribute](../xml/changetagattribute) + * elementName: `/project` + * attributeName: `xmlns` + * newValue: `http://maven.apache.org/POM/4.1.0` + * oldValue: `http://maven.apache.org/POM/4.0.0` +* [Change XML attribute](../xml/changetagattribute) + * elementName: `/project` + * attributeName: `xsi:schemaLocation` + * newValue: `$14.1.0$24.1.0$3` + * oldValue: `(http://maven\.apache\.org/POM/)4\.0\.0(\s+http://maven\.apache\.org/xsd/maven-)4\.0\.0(\.xsd)` + * regex: `true` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.openrewrite.maven.UpgradeToModelVersion410 +displayName: Upgrade to Maven model version 4.1.0 +description: | + Upgrades Maven POMs from model version 4.0.0 to 4.1.0, enabling new Maven 4 features like `<subprojects>`, `bom` packaging, and automatic version inference. This recipe updates the `<modelVersion>` element, `xmlns` namespace, and `xsi:schemaLocation` from 4.0.0 to 4.1.0. +recipeList: + - org.openrewrite.xml.ChangeTagValue: + elementName: /project/modelVersion + oldValue: 4.0.0 + newValue: 4.1.0 + - org.openrewrite.xml.ChangeTagAttribute: + elementName: /project + attributeName: xmlns + newValue: http://maven.apache.org/POM/4.1.0 + oldValue: http://maven.apache.org/POM/4.0.0 + - org.openrewrite.xml.ChangeTagAttribute: + elementName: /project + attributeName: xsi:schemaLocation + newValue: $14.1.0$24.1.0$3 + oldValue: (http://maven\.apache\.org/POM/)4\.0\.0(\s+http://maven\.apache\.org/xsd/maven-)4\.0\.0(\.xsd) + regex: true + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) + + +## Usage + +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.UpgradeToModelVersion410 + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.UpgradeToModelVersion410 -Drewrite.exportDatatables=true +``` + + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe UpgradeToModelVersion410 +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/maven/upgradetransitivedependencyversion.md b/docs/recipes/maven/upgradetransitivedependencyversion.md index d0079e2543..2392cf72b1 100644 --- a/docs/recipes/maven/upgradetransitivedependencyversion.md +++ b/docs/recipes/maven/upgradetransitivedependencyversion.md @@ -33,6 +33,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac | `Boolean` | releasesOnly | *Optional*. Whether to exclude snapshots from consideration when using a semver selector | | | `String` | onlyIfUsing | *Optional*. Only add managed dependencies to projects having a dependency matching the expression. | `org.apache.logging.log4j:log4j*` | | `Boolean` | addToRootPom | *Optional*. Add to the root pom where root is the eldest parent of the pom within the source set. | | +| `String` | because | *Optional*. The reason for upgrading the transitive dependency. This will be added as an XML comment preceding the managed dependency. | `CVE-2021-1234` | ## Example @@ -49,6 +50,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac |releasesOnly|`null`| |onlyIfUsing|`null`| |addToRootPom|`null`| +|because|| @@ -141,6 +143,7 @@ recipeList: classifier: test versionPattern: '-jre' onlyIfUsing: org.apache.logging.log4j:log4j* + because: CVE-2021-1234 ``` Now that `com.yourorg.UpgradeTransitiveDependencyVersionExample` has been defined, activate it in your build file: @@ -176,7 +179,7 @@ Now that `com.yourorg.UpgradeTransitiveDependencyVersionExample` has been define You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. ```shell title="shell" -mod run . --recipe UpgradeTransitiveDependencyVersion --recipe-option "groupId=org.apache.logging.log4j" --recipe-option "artifactId=log4j-bom" --recipe-option "version=latest.release" --recipe-option "scope=import" --recipe-option "type=pom" --recipe-option "classifier=test" --recipe-option "versionPattern='-jre'" --recipe-option "onlyIfUsing=org.apache.logging.log4j:log4j*" +mod run . --recipe UpgradeTransitiveDependencyVersion --recipe-option "groupId=org.apache.logging.log4j" --recipe-option "artifactId=log4j-bom" --recipe-option "version=latest.release" --recipe-option "scope=import" --recipe-option "type=pom" --recipe-option "classifier=test" --recipe-option "versionPattern='-jre'" --recipe-option "onlyIfUsing=org.apache.logging.log4j:log4j*" --recipe-option "because=CVE-2021-1234" ``` If the recipe is not available locally, then you can install it using: diff --git a/docs/recipes/spring/webxml/removewebxml.md b/docs/recipes/maven/useparentinference.md similarity index 59% rename from docs/recipes/spring/webxml/removewebxml.md rename to docs/recipes/maven/useparentinference.md index ffbb6f320b..cea3206b49 100644 --- a/docs/recipes/spring/webxml/removewebxml.md +++ b/docs/recipes/maven/useparentinference.md @@ -1,41 +1,84 @@ --- -sidebar_label: "Migrate `web.xml` to Java Configuration" +sidebar_label: "Use Maven 4 parent inference" --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrate `web.xml` to Java Configuration +# Use Maven 4 parent inference -**org.openrewrite.spring.webxml.RemoveWebXml** +**org.openrewrite.maven.UseParentInference** -_Migrates `web.xml` content to Spring Boot Configuration classes with respect to Java EE or Jakarta EE usage._ +_Maven 4.1.0 supports automatic parent version inference when using a relative path. This recipe simplifies parent declarations by using the shorthand `` form when the parent is in the default location (`..`), removing the explicit ``, ``, ``, and `` elements. Maven automatically infers these values from the parent POM._ ## Recipe source -This recipe is only available to users of [Moderne](https://docs.moderne.io/). +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven/src/main/java/org/openrewrite/maven/UseParentInference.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-maven/) +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). -This recipe is available under the [Moderne Proprietary License](https://docs.moderne.io/licensing/overview). + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) ## Usage -This recipe has no required configuration options. Users of Moderne can run it via the Moderne CLI: +This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies. + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.openrewrite.maven.UseParentInference + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.activeRecipes=org.openrewrite.maven.UseParentInference -Drewrite.exportDatatables=true +``` + You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. ```shell title="shell" -mod run . --recipe RemoveWebXml +mod run . --recipe UseParentInference ``` If the recipe is not available locally, then you can install it using: ```shell -mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MODERNE_RECIPE_REWRITE_SPRING}} +mod config recipes jar install org.openrewrite:rewrite-maven:{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}} ``` @@ -44,7 +87,7 @@ mod config recipes jar install io.moderne.recipe:rewrite-spring:{{VERSION_IO_MOD import RecipeCallout from '@site/src/components/ModerneLink'; - + The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. diff --git a/docs/recipes/org/apache/camel/upgrade/README.md b/docs/recipes/org/apache/camel/upgrade/README.md index d99ffbd449..bb16e85522 100644 --- a/docs/recipes/org/apache/camel/upgrade/README.md +++ b/docs/recipes/org/apache/camel/upgrade/README.md @@ -10,6 +10,7 @@ * [Camel412](/recipes/org/apache/camel/upgrade/camel412) * [Camel413](/recipes/org/apache/camel/upgrade/camel413) * [Camel414](/recipes/org/apache/camel/upgrade/camel414) +* [Camel415](/recipes/org/apache/camel/upgrade/camel415) * [Camel42](/recipes/org/apache/camel/upgrade/camel42) * [Camel43](/recipes/org/apache/camel/upgrade/camel43) * [Camel44](/recipes/org/apache/camel/upgrade/camel44) diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/README.md b/docs/recipes/org/apache/camel/upgrade/camel415/README.md new file mode 100644 index 0000000000..be65e20e1a --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/README.md @@ -0,0 +1,14 @@ +# Camel415 + +## Composite Recipes + +_Recipes that include further recipes, often including the individual recipes below._ + +* [Changed parameter in camel-netty and camel-netty-http](./nettyandnettyhttp.md) +* [Changed types of camel AI nested headers classes](./ainestedheadersclasses.md) +* [Migrates `camel 4.14` application to `camel 4.15`](./camelmigrationrecipe.md) +* [Refactored dataFormats](./dataformats.md) +* [Refactored dataFormats (XML DSL)](./xmldataformats.md) +* [Refactored dataFormats (YAML DSL)](./yamdataformats.md) + + diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/ainestedheadersclasses.md b/docs/recipes/org/apache/camel/upgrade/camel415/ainestedheadersclasses.md new file mode 100644 index 0000000000..81d724b54c --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/ainestedheadersclasses.md @@ -0,0 +1,291 @@ +--- +sidebar_label: "Changed types of camel AI nested headers classes" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Changed types of camel AI nested headers classes + +**org.apache.camel.upgrade.camel415.aiNestedHeadersClasses** + +_Changed types of camel AI nested headers classes._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.camel415.aiNestedHeadersClasses), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStore.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.milvus.Milvus.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.milvus.MilvusHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.neo4j.Neo4jConstants.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.neo4j.Neo4jHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.qdrant.Qdrant.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.qdrant.QdrantHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.pinecone.PineconeVectorDb.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.pinecone.PineconeVectorDbHeaders` +* [Change type](../../../../../java/changetype) + * oldFullyQualifiedTypeName: `org.apache.camel.component.weaviate.WeaviateVectorDb.Headers` + * newFullyQualifiedTypeName: `org.apache.camel.component.weaviate.WeaviateVectorDbHeaders` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.apache.camel.upgrade.camel415.aiNestedHeadersClasses +displayName: Changed types of camel AI nested headers classes +description: | + Changed types of camel AI nested headers classes. +recipeList: + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.langchain4j.chat.LangChain4jChat.Headers + newFullyQualifiedTypeName: org.apache.camel.component.langchain4j.chat.LangChain4jChatHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddings.Headers + newFullyQualifiedTypeName: org.apache.camel.component.langchain4j.embeddings.LangChain4jEmbeddingsHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStore.Headers + newFullyQualifiedTypeName: org.apache.camel.component.langchain4j.embeddingstore.LangChain4jEmbeddingStoreHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.milvus.Milvus.Headers + newFullyQualifiedTypeName: org.apache.camel.component.milvus.MilvusHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.neo4j.Neo4jConstants.Headers + newFullyQualifiedTypeName: org.apache.camel.component.neo4j.Neo4jHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.qdrant.Qdrant.Headers + newFullyQualifiedTypeName: org.apache.camel.component.qdrant.QdrantHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.pinecone.PineconeVectorDb.Headers + newFullyQualifiedTypeName: org.apache.camel.component.pinecone.PineconeVectorDbHeaders + - org.openrewrite.java.ChangeType: + oldFullyQualifiedTypeName: org.apache.camel.component.weaviate.WeaviateVectorDb.Headers + newFullyQualifiedTypeName: org.apache.camel.component.weaviate.WeaviateVectorDbHeaders + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.aiNestedHeadersClasses") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.aiNestedHeadersClasses") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.apache.camel.upgrade.camel415.aiNestedHeadersClasses + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=org.apache.camel.upgrade.camel415.aiNestedHeadersClasses -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe aiNestedHeadersClasses +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md b/docs/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md new file mode 100644 index 0000000000..aacf987c98 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md @@ -0,0 +1,254 @@ +--- +sidebar_label: "Migrates `camel 4.14` application to `camel 4.15`" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrates `camel 4.14` application to `camel 4.15` + +**org.apache.camel.upgrade.camel415.CamelMigrationRecipe** + +_Migrates `camel 4.14` application to `camel 4.15`._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.camel415.CamelMigrationRecipe), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Changed types of camel AI nested headers classes](../../../../../org/apache/camel/upgrade/camel415/ainestedheadersclasses) +* [Refactored dataFormats](../../../../../org/apache/camel/upgrade/camel415/dataformats) +* [Refactored dataFormats (YAML DSL)](../../../../../org/apache/camel/upgrade/camel415/yamdataformats) +* [Refactored dataFormats (XML DSL)](../../../../../org/apache/camel/upgrade/camel415/xmldataformats) +* [Changed parameter in camel-netty and camel-netty-http](../../../../../org/apache/camel/upgrade/camel415/nettyandnettyhttp) + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.apache.camel.upgrade.camel415.CamelMigrationRecipe +displayName: Migrates `camel 4.14` application to `camel 4.15` +description: | + Migrates `camel 4.14` application to `camel 4.15`. +recipeList: + - org.apache.camel.upgrade.camel415.aiNestedHeadersClasses + - org.apache.camel.upgrade.camel415.dataFormats + - org.apache.camel.upgrade.camel415.yamDataFormats + - org.apache.camel.upgrade.camel415.xmlDataFormats + - org.apache.camel.upgrade.camel415.nettyAndNettyHttp + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrate to 4.14.0](/recipes/org/apache/camel/upgrade/camelmigrationrecipe.md) +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/io/quarkus/updates/camel/camel415/camelquarkusmigrationrecipe.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.CamelMigrationRecipe") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.CamelMigrationRecipe") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.apache.camel.upgrade.camel415.CamelMigrationRecipe + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=org.apache.camel.upgrade.camel415.CamelMigrationRecipe -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe CamelMigrationRecipe +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/dataformats.md b/docs/recipes/org/apache/camel/upgrade/camel415/dataformats.md new file mode 100644 index 0000000000..c01faabe7a --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/dataformats.md @@ -0,0 +1,387 @@ +--- +sidebar_label: "Refactored dataFormats" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Refactored dataFormats + +**org.apache.camel.upgrade.camel415.dataFormats** + +_Refactored dataFormats._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.camel415.dataFormats), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CryptoDataFormat setAlgorithmParameterRef(String)` + * newMethodName: `setAlgorithmParameterSpec` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CryptoDataFormat.Builder algorithmParameterRef(String)` + * newMethodName: `algorithmParameterSpec` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CryptoDataFormat setKeyRef(String)` + * newMethodName: `setKey` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CryptoDataFormat.Builder keyRef(String)` + * newMethodName: `key` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CryptoDataFormat setInitVectorRef(String)` + * newMethodName: `setInitVector` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CryptoDataFormat.Builder initVectorRef(String)` + * newMethodName: `initVector` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CsvDataFormat setFormatRef(String)` + * newMethodName: `setFormat` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CsvDataFormat.Builder formatRef(String)` + * newMethodName: `format` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CsvDataFormat setFormatName(String)` + * newMethodName: `setFormat` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.CsvDataFormat.Builder formatName(String)` + * newMethodName: `format` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.FlatpackDataFormat setParserFactoryRef(String)` + * newMethodName: `setParserFactory` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.FlatpackDataFormat.Builder parserFactoryRef(String)` + * newMethodName: `parserFactory` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.JaxbDataFormat setNamespacePrefixRef(String)` + * newMethodName: `setNamespacePrefix` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.JaxbDataFormat.Builder namespacePrefixRef(String)` + * newMethodName: `namespacePrefix` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SoapDataFormat setNamespacePrefixRef(String)` + * newMethodName: `setNamespacePrefix` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SoapDataFormat.Builder namespacePrefixRef(String)` + * newMethodName: `namespacePrefix` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SoapDataFormat setElementNameStrategyRef(String)` + * newMethodName: `setElementNameStrategy` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SoapDataFormat.Builder elementNameStrategyRef(String)` + * newMethodName: `elementNameStrategy` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SwiftMxDataFormat setReadConfigRef(String)` + * newMethodName: `setReadConfig` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SwiftMxDataFormat.Builder readConfigRef(String)` + * newMethodName: `readConfig` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SwiftMxDataFormat setWriteConfigRef(String)` + * newMethodName: `setWriteConfig` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.SwiftMxDataFormat.Builder writeConfigRef(String)` + * newMethodName: `writeConfigObject` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.XMLSecurityDataFormat setKeyOrTrustStoreParametersRef(String)` + * newMethodName: `setKeyOrTrustStoreParameters` +* [Change method name](../../../../../java/changemethodname) + * methodPattern: `org.apache.camel.model.dataformat.XMLSecurityDataFormat.Builder keyOrTrustStoreParametersRef(String)` + * newMethodName: `keyOrTrustStoreParameters` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.apache.camel.upgrade.camel415.dataFormats +displayName: Refactored dataFormats +description: | + Refactored dataFormats. +recipeList: + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CryptoDataFormat setAlgorithmParameterRef(String) + newMethodName: setAlgorithmParameterSpec + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CryptoDataFormat.Builder algorithmParameterRef(String) + newMethodName: algorithmParameterSpec + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CryptoDataFormat setKeyRef(String) + newMethodName: setKey + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CryptoDataFormat.Builder keyRef(String) + newMethodName: key + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CryptoDataFormat setInitVectorRef(String) + newMethodName: setInitVector + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CryptoDataFormat.Builder initVectorRef(String) + newMethodName: initVector + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CsvDataFormat setFormatRef(String) + newMethodName: setFormat + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CsvDataFormat.Builder formatRef(String) + newMethodName: format + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CsvDataFormat setFormatName(String) + newMethodName: setFormat + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.CsvDataFormat.Builder formatName(String) + newMethodName: format + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.FlatpackDataFormat setParserFactoryRef(String) + newMethodName: setParserFactory + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.FlatpackDataFormat.Builder parserFactoryRef(String) + newMethodName: parserFactory + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.JaxbDataFormat setNamespacePrefixRef(String) + newMethodName: setNamespacePrefix + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.JaxbDataFormat.Builder namespacePrefixRef(String) + newMethodName: namespacePrefix + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SoapDataFormat setNamespacePrefixRef(String) + newMethodName: setNamespacePrefix + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SoapDataFormat.Builder namespacePrefixRef(String) + newMethodName: namespacePrefix + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SoapDataFormat setElementNameStrategyRef(String) + newMethodName: setElementNameStrategy + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SoapDataFormat.Builder elementNameStrategyRef(String) + newMethodName: elementNameStrategy + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SwiftMxDataFormat setReadConfigRef(String) + newMethodName: setReadConfig + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SwiftMxDataFormat.Builder readConfigRef(String) + newMethodName: readConfig + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SwiftMxDataFormat setWriteConfigRef(String) + newMethodName: setWriteConfig + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.SwiftMxDataFormat.Builder writeConfigRef(String) + newMethodName: writeConfigObject + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.XMLSecurityDataFormat setKeyOrTrustStoreParametersRef(String) + newMethodName: setKeyOrTrustStoreParameters + - org.openrewrite.java.ChangeMethodName: + methodPattern: org.apache.camel.model.dataformat.XMLSecurityDataFormat.Builder keyOrTrustStoreParametersRef(String) + newMethodName: keyOrTrustStoreParameters + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.dataFormats") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.dataFormats") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.apache.camel.upgrade.camel415.dataFormats + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=org.apache.camel.upgrade.camel415.dataFormats -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe dataFormats +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/nettyandnettyhttp.md b/docs/recipes/org/apache/camel/upgrade/camel415/nettyandnettyhttp.md new file mode 100644 index 0000000000..9842234590 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/nettyandnettyhttp.md @@ -0,0 +1,323 @@ +--- +sidebar_label: "Changed parameter in camel-netty and camel-netty-http" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Changed parameter in camel-netty and camel-netty-http + +**org.apache.camel.upgrade.camel415.nettyAndNettyHttp** + +_Changed parameter in camel-netty and camel-netty-http + enhanced value._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.camel415.nettyAndNettyHttp), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml) + * component: `netty` + * oldPropertyKey: `keyStoreFile` + * newPropertyKey: `keyStoreResource` + * valuePrefix: `file:` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml) + * component: `netty` + * oldPropertyKey: `trustStoreFile` + * newPropertyKey: `trustStoreResource` + * valuePrefix: `file:` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml) + * component: `netty-http` + * oldPropertyKey: `keyStoreFile` + * newPropertyKey: `keyStoreResource` + * valuePrefix: `file:` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml) + * component: `netty-http` + * oldPropertyKey: `trustStoreFile` + * newPropertyKey: `trustStoreResource` + * valuePrefix: `file:` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml) + * component: `netty` + * oldPropertyKey: `keyStoreFile` + * newPropertyKey: `keyStoreResource` + * valuePrefix: `file:` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml) + * component: `netty` + * oldPropertyKey: `trustStoreFile` + * newPropertyKey: `trustStoreResource` + * valuePrefix: `file:` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml) + * component: `netty-http` + * oldPropertyKey: `keyStoreFile` + * newPropertyKey: `keyStoreResource` + * valuePrefix: `file:` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml) + * component: `netty-http` + * oldPropertyKey: `trustStoreFile` + * newPropertyKey: `trustStoreResource` + * valuePrefix: `file:` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.apache.camel.upgrade.camel415.nettyAndNettyHttp +displayName: Changed parameter in camel-netty and camel-netty-http +description: | + Changed parameter in camel-netty and camel-netty-http + enhanced value. +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml: + component: netty + oldPropertyKey: keyStoreFile + newPropertyKey: keyStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml: + component: netty + oldPropertyKey: trustStoreFile + newPropertyKey: trustStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml: + component: netty-http + oldPropertyKey: keyStoreFile + newPropertyKey: keyStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml: + component: netty-http + oldPropertyKey: trustStoreFile + newPropertyKey: trustStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml: + component: netty + oldPropertyKey: keyStoreFile + newPropertyKey: keyStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml: + component: netty + oldPropertyKey: trustStoreFile + newPropertyKey: trustStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml: + component: netty-http + oldPropertyKey: keyStoreFile + newPropertyKey: keyStoreResource + valuePrefix: file: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml: + component: netty-http + oldPropertyKey: trustStoreFile + newPropertyKey: trustStoreResource + valuePrefix: file: + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.nettyAndNettyHttp") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.nettyAndNettyHttp") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.apache.camel.upgrade.camel415.nettyAndNettyHttp + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=org.apache.camel.upgrade.camel415.nettyAndNettyHttp -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe nettyAndNettyHttp +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/xmldataformats.md b/docs/recipes/org/apache/camel/upgrade/camel415/xmldataformats.md new file mode 100644 index 0000000000..1385ef67e5 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/xmldataformats.md @@ -0,0 +1,339 @@ +--- +sidebar_label: "Refactored dataFormats (XML DSL)" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Refactored dataFormats (XML DSL) + +**org.apache.camel.upgrade.camel415.xmlDataFormats** + +_Refactored dataFormats (XML DSL)._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.camel415.xmlDataFormats), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `crypto` + * oldPropertyKey: `algorithmParameterRef` + * newPropertyKey: `algorithmParameterSpec` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `crypto` + * oldPropertyKey: `keyRef` + * newPropertyKey: `key` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `crypto` + * oldPropertyKey: `initVectorRef` + * newPropertyKey: `initVector` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `csv` + * oldPropertyKey: `formatRef` + * newPropertyKey: `format` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `csv` + * oldPropertyKey: `formatName` + * newPropertyKey: `format` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `flatpack` + * oldPropertyKey: `parserFactoryRef` + * newPropertyKey: `parserFactory` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `jaxb` + * oldPropertyKey: `namespacePrefixRef` + * newPropertyKey: `namespacePrefix` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `soap` + * oldPropertyKey: `namespacePrefixRef` + * newPropertyKey: `namespacePrefix` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `soap` + * oldPropertyKey: `elementNameStrategyRef` + * newPropertyKey: `elementNameStrategy` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `swiftMx` + * oldPropertyKey: `readConfigRef` + * newPropertyKey: `readConfig` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `swiftMx` + * oldPropertyKey: `writeConfigRef` + * newPropertyKey: `writeConfig` +* [Camel XMl DSL changes](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml) + * component: `xmlSecurity` + * oldPropertyKey: `keyOrTrustStoreParametersRef` + * newPropertyKey: `keyOrTrustStoreParameters` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.apache.camel.upgrade.camel415.xmlDataFormats +displayName: Refactored dataFormats (XML DSL) +description: | + Refactored dataFormats (XML DSL). +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: crypto + oldPropertyKey: algorithmParameterRef + newPropertyKey: algorithmParameterSpec + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: crypto + oldPropertyKey: keyRef + newPropertyKey: key + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: crypto + oldPropertyKey: initVectorRef + newPropertyKey: initVector + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: csv + oldPropertyKey: formatRef + newPropertyKey: format + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: csv + oldPropertyKey: formatName + newPropertyKey: format + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: flatpack + oldPropertyKey: parserFactoryRef + newPropertyKey: parserFactory + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: jaxb + oldPropertyKey: namespacePrefixRef + newPropertyKey: namespacePrefix + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: soap + oldPropertyKey: namespacePrefixRef + newPropertyKey: namespacePrefix + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: soap + oldPropertyKey: elementNameStrategyRef + newPropertyKey: elementNameStrategy + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: swiftMx + oldPropertyKey: readConfigRef + newPropertyKey: readConfig + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: swiftMx + oldPropertyKey: writeConfigRef + newPropertyKey: writeConfig + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: xmlSecurity + oldPropertyKey: keyOrTrustStoreParametersRef + newPropertyKey: keyOrTrustStoreParameters + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.xmlDataFormats") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.xmlDataFormats") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.apache.camel.upgrade.camel415.xmlDataFormats + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=org.apache.camel.upgrade.camel415.xmlDataFormats -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe xmlDataFormats +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/camel415/yamdataformats.md b/docs/recipes/org/apache/camel/upgrade/camel415/yamdataformats.md new file mode 100644 index 0000000000..50a2839060 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/camel415/yamdataformats.md @@ -0,0 +1,339 @@ +--- +sidebar_label: "Refactored dataFormats (YAML DSL)" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Refactored dataFormats (YAML DSL) + +**org.apache.camel.upgrade.camel415.yamDataFormats** + +_Refactored dataFormats (YAML DSL)._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.camel415.yamDataFormats), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +:::info +This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above. +::: + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + + +## Definition + + + +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `crypto` + * oldPropertyKey: `algorithmParameterRef` + * newPropertyKey: `algorithmParameterSpec` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `crypto` + * oldPropertyKey: `keyRef` + * newPropertyKey: `key` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `crypto` + * oldPropertyKey: `initVectorRef` + * newPropertyKey: `initVector` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `csv` + * oldPropertyKey: `formatRef` + * newPropertyKey: `format` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `csv` + * oldPropertyKey: `formatName` + * newPropertyKey: `format` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `flatpack` + * oldPropertyKey: `parserFactoryRef` + * newPropertyKey: `parserFactory` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `jaxb` + * oldPropertyKey: `namespacePrefixRef` + * newPropertyKey: `namespacePrefix` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `soap` + * oldPropertyKey: `namespacePrefixRef` + * newPropertyKey: `namespacePrefix` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `soap` + * oldPropertyKey: `elementNameStrategyRef` + * newPropertyKey: `elementNameStrategy` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `swiftMx` + * oldPropertyKey: `readConfigRef` + * newPropertyKey: `readConfig` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `swiftMx` + * oldPropertyKey: `writeConfigRef` + * newPropertyKey: `writeConfig` +* [Renames property of the component](../../../../../org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml) + * component: `xmlSecurity` + * oldPropertyKey: `keyOrTrustStoreParametersRef` + * newPropertyKey: `keyOrTrustStoreParameters` + + + + + +```yaml +--- +type: specs.openrewrite.org/v1beta/recipe +name: org.apache.camel.upgrade.camel415.yamDataFormats +displayName: Refactored dataFormats (YAML DSL) +description: | + Refactored dataFormats (YAML DSL). +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: crypto + oldPropertyKey: algorithmParameterRef + newPropertyKey: algorithmParameterSpec + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: crypto + oldPropertyKey: keyRef + newPropertyKey: key + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: crypto + oldPropertyKey: initVectorRef + newPropertyKey: initVector + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: csv + oldPropertyKey: formatRef + newPropertyKey: format + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: csv + oldPropertyKey: formatName + newPropertyKey: format + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: flatpack + oldPropertyKey: parserFactoryRef + newPropertyKey: parserFactory + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: jaxb + oldPropertyKey: namespacePrefixRef + newPropertyKey: namespacePrefix + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: soap + oldPropertyKey: namespacePrefixRef + newPropertyKey: namespacePrefix + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: soap + oldPropertyKey: elementNameStrategyRef + newPropertyKey: elementNameStrategy + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: swiftMx + oldPropertyKey: readConfigRef + newPropertyKey: readConfig + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: swiftMx + oldPropertyKey: writeConfigRef + newPropertyKey: writeConfig + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: xmlSecurity + oldPropertyKey: keyOrTrustStoreParametersRef + newPropertyKey: keyOrTrustStoreParameters + +``` + + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/org/apache/camel/upgrade/camel415/camelmigrationrecipe.md) + + +## Usage + +This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.yamDataFormats") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` + +2. Run `gradle rewriteRun` to run the recipe. + + + + +1. Create a file named `init.gradle` in the root of your project. + +```groovy title="init.gradle" +initscript { + repositories { + maven { url "https://plugins.gradle.org/m2" } + } + dependencies { classpath("org.openrewrite:plugin:{{VERSION_REWRITE_GRADLE_PLUGIN}}") } +} +rootProject { + plugins.apply(org.openrewrite.gradle.RewritePlugin) + dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") + } + rewrite { + activeRecipe("org.apache.camel.upgrade.camel415.yamDataFormats") + setExportDatatables(true) + } + afterEvaluate { + if (repositories.isEmpty()) { + repositories { + mavenCentral() + } + } + } +} +``` + +2. Run the recipe. + +```shell title="shell" +gradle --init-script init.gradle rewriteRun +``` + + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + org.apache.camel.upgrade.camel415.yamDataFormats + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` + +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have [Maven](https://maven.apache.org/download.cgi) installed on your machine before you can run the following command. + +```shell title="shell" +mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-third-party:RELEASE -Drewrite.activeRecipes=org.apache.camel.upgrade.camel415.yamDataFormats -Drewrite.exportDatatables=true +``` + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe yamDataFormats +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/camelmigrationrecipe.md b/docs/recipes/org/apache/camel/upgrade/camelmigrationrecipe.md index af03358cbb..aa5089a637 100644 --- a/docs/recipes/org/apache/camel/upgrade/camelmigrationrecipe.md +++ b/docs/recipes/org/apache/camel/upgrade/camelmigrationrecipe.md @@ -28,6 +28,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac +* [Migrates `camel 4.14` application to `camel 4.15`](../../../../org/apache/camel/upgrade/camel415/camelmigrationrecipe) * [Migrates `camel 4.13` application to `camel 4.14`](../../../../org/apache/camel/upgrade/camel414/camelmigrationrecipe) * [Migrates `camel 4.12` application to `camel 4.13`](../../../../org/apache/camel/upgrade/camel413/camelmigrationrecipe) * [Migrates `camel 4.11` application to `camel 4.12`](../../../../org/apache/camel/upgrade/camel412/camelmigrationrecipe) @@ -67,6 +68,7 @@ displayName: Migrate to 4.14.0 description: | Migrates Apache Camel application to 4.14.0. recipeList: + - org.apache.camel.upgrade.camel415.CamelMigrationRecipe - org.apache.camel.upgrade.camel414.CamelMigrationRecipe - org.apache.camel.upgrade.camel413.CamelMigrationRecipe - org.apache.camel.upgrade.camel412.CamelMigrationRecipe diff --git a/docs/recipes/org/apache/camel/upgrade/customrecipes/README.md b/docs/recipes/org/apache/camel/upgrade/customrecipes/README.md index 27c0418382..7779e850cb 100644 --- a/docs/recipes/org/apache/camel/upgrade/customrecipes/README.md +++ b/docs/recipes/org/apache/camel/upgrade/customrecipes/README.md @@ -8,9 +8,13 @@ _Recipes that include further recipes, often including the individual recipes be ## Recipes +* [Camel XMl DSL changes](./replacepropertyincomponentxml.md) +* [Camel XMl DSL changes](./replacepropertyindataformatxml.md) * [Change prefix of property with Camel case](./changepropertykeywithcasechange.md) * [Move getter from context to ExtendedCamelContext.](./movegettertoextendedcamelcontext.md) * [Move getter from context to PluginHelper.](./movegettertopluginhelper.md) +* [Renames property of the component](./replacepropertyincomponentyaml.md) +* [Renames property of the component](./replacepropertyindataformatyaml.md) * [Replaces a literal matching an expression](./literalregexpconverterrecipe.md) diff --git a/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml.md b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml.md new file mode 100644 index 0000000000..f68dee4a79 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentxml.md @@ -0,0 +1,193 @@ +--- +sidebar_label: "Camel XMl DSL changes" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Camel XMl DSL changes + +**org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml** + +_Apache Camel XML DSL migration from version 4.9 o 4.10._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | component | Component name. | `TODO Provide a usage example for the docs` | +| `String` | oldPropertyKey | The property key to rename. | `TODO Provide a usage example for the docs` | +| `String` | newPropertyKey | The prefix to be replaced with. | `TODO Provide a usage example for the docs` | +| `String` | valuePrefix | *Optional*. This value is appended before the current value of the modified method. | `file:` | + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Changed parameter in camel-netty and camel-netty-http](/recipes/org/apache/camel/upgrade/camel415/nettyandnettyhttp.md) + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ReplacePropertyInComponentXmlExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ReplacePropertyInComponentXmlExample +displayName: Camel XMl DSL changes example +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentXml: + component: TODO Provide a usage example for the docs + oldPropertyKey: TODO Provide a usage example for the docs + newPropertyKey: TODO Provide a usage example for the docs + valuePrefix: file: +``` + +Now that `com.yourorg.ReplacePropertyInComponentXmlExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ReplacePropertyInComponentXmlExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ReplacePropertyInComponentXmlExample + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplacePropertyInComponentXml --recipe-option "component=TODO Provide a usage example for the docs" --recipe-option "oldPropertyKey=TODO Provide a usage example for the docs" --recipe-option "newPropertyKey=TODO Provide a usage example for the docs" --recipe-option "valuePrefix=file:" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml.md b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml.md new file mode 100644 index 0000000000..d1262ec7e5 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyincomponentyaml.md @@ -0,0 +1,193 @@ +--- +sidebar_label: "Renames property of the component" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Renames property of the component + +**org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml** + +_ARenames property of the component._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | component | Component name. | `TODO Provide a usage example for the docs` | +| `String` | oldPropertyKey | The property key to rename. | `TODO Provide a usage example for the docs` | +| `String` | newPropertyKey | The prefix to be replaced with. | `TODO Provide a usage example for the docs` | +| `String` | valuePrefix | *Optional*. This value is appended before the current value of the modified method. | `file:` | + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Changed parameter in camel-netty and camel-netty-http](/recipes/org/apache/camel/upgrade/camel415/nettyandnettyhttp.md) + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ReplacePropertyInComponentYamlExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ReplacePropertyInComponentYamlExample +displayName: Renames property of the component example +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInComponentYaml: + component: TODO Provide a usage example for the docs + oldPropertyKey: TODO Provide a usage example for the docs + newPropertyKey: TODO Provide a usage example for the docs + valuePrefix: file: +``` + +Now that `com.yourorg.ReplacePropertyInComponentYamlExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ReplacePropertyInComponentYamlExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ReplacePropertyInComponentYamlExample + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplacePropertyInComponentYaml --recipe-option "component=TODO Provide a usage example for the docs" --recipe-option "oldPropertyKey=TODO Provide a usage example for the docs" --recipe-option "newPropertyKey=TODO Provide a usage example for the docs" --recipe-option "valuePrefix=file:" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml.md b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml.md new file mode 100644 index 0000000000..1187b04fce --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatxml.md @@ -0,0 +1,191 @@ +--- +sidebar_label: "Camel XMl DSL changes" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Camel XMl DSL changes + +**org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml** + +_Apache Camel XML DSL migration from version 4.9 o 4.10._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | component | Component name. | `TODO Provide a usage example for the docs` | +| `String` | oldPropertyKey | The property key to rename. | `TODO Provide a usage example for the docs` | +| `String` | newPropertyKey | The prefix to be replaced with. | `TODO Provide a usage example for the docs` | + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Refactored dataFormats (XML DSL)](/recipes/org/apache/camel/upgrade/camel415/xmldataformats.md) + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ReplacePropertyInDataFormatXmlExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ReplacePropertyInDataFormatXmlExample +displayName: Camel XMl DSL changes example +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatXml: + component: TODO Provide a usage example for the docs + oldPropertyKey: TODO Provide a usage example for the docs + newPropertyKey: TODO Provide a usage example for the docs +``` + +Now that `com.yourorg.ReplacePropertyInDataFormatXmlExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ReplacePropertyInDataFormatXmlExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ReplacePropertyInDataFormatXmlExample + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplacePropertyInDataFormatXml --recipe-option "component=TODO Provide a usage example for the docs" --recipe-option "oldPropertyKey=TODO Provide a usage example for the docs" --recipe-option "newPropertyKey=TODO Provide a usage example for the docs" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml.md b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml.md new file mode 100644 index 0000000000..3320a1e8c3 --- /dev/null +++ b/docs/recipes/org/apache/camel/upgrade/customrecipes/replacepropertyindataformatyaml.md @@ -0,0 +1,191 @@ +--- +sidebar_label: "Renames property of the component" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Renames property of the component + +**org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml** + +_ARenames property of the component._ + +## Recipe source + +[GitHub](https://github.com/search?type=code&q=org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml), +[Issue Tracker](https://github.com/openrewrite/rewrite-third-party/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite.recipe/rewrite-third-party/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | component | Component name. | `TODO Provide a usage example for the docs` | +| `String` | oldPropertyKey | The property key to rename. | `TODO Provide a usage example for the docs` | +| `String` | newPropertyKey | The prefix to be replaced with. | `TODO Provide a usage example for the docs` | + + +## Used by + +This recipe is used as part of the following composite recipes: + +* [Refactored dataFormats (YAML DSL)](/recipes/org/apache/camel/upgrade/camel415/yamdataformats.md) + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ReplacePropertyInDataFormatYamlExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ReplacePropertyInDataFormatYamlExample +displayName: Renames property of the component example +recipeList: + - org.apache.camel.upgrade.customRecipes.ReplacePropertyInDataFormatYaml: + component: TODO Provide a usage example for the docs + oldPropertyKey: TODO Provide a usage example for the docs + newPropertyKey: TODO Provide a usage example for the docs +``` + +Now that `com.yourorg.ReplacePropertyInDataFormatYamlExample` has been defined, activate it and take a dependency on `org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}` in your build file: + + + +1. Add the following to your `build.gradle` file: + +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ReplacePropertyInDataFormatYamlExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} + +dependencies { + rewrite("org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}") +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ReplacePropertyInDataFormatYamlExample + + + + + org.openrewrite.recipe + rewrite-third-party + {{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplacePropertyInDataFormatYaml --recipe-option "component=TODO Provide a usage example for the docs" --recipe-option "oldPropertyKey=TODO Provide a usage example for the docs" --recipe-option "newPropertyKey=TODO Provide a usage example for the docs" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite.recipe:rewrite-third-party:{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/quarkus/spring/springboottoquarkus.md b/docs/recipes/quarkus/spring/springboottoquarkus.md index fc03cc6792..90ab3a41ba 100644 --- a/docs/recipes/quarkus/spring/springboottoquarkus.md +++ b/docs/recipes/quarkus/spring/springboottoquarkus.md @@ -100,6 +100,11 @@ recipeList: `SpringBootToQuarkusTest#migrateSpringBootParentToQuarkusBOM` +###### Unchanged +```mavenProject +project +``` + ###### Unchanged ```xml title="pom.xml" @@ -114,6 +119,12 @@ recipeList: 17 + + + org.springframework.boot + spring-boot-starter-web + + ``` @@ -123,6 +134,11 @@ recipeList: `SpringBootToQuarkusTest#migrateSpringBootParentToQuarkusBOM` +###### Unchanged +```mavenProject +project +``` + ###### Unchanged ```xml title="pom.xml" @@ -137,6 +153,12 @@ recipeList: 17 + + + org.springframework.boot + spring-boot-starter-web + + ``` diff --git a/docs/recipes/software/amazon/awssdk/v2migration/adds3eventnotificationdependency.md b/docs/recipes/software/amazon/awssdk/v2migration/adds3eventnotificationdependency.md index 0c11f5aec4..d0c8a5075c 100644 --- a/docs/recipes/software/amazon/awssdk/v2migration/adds3eventnotificationdependency.md +++ b/docs/recipes/software/amazon/awssdk/v2migration/adds3eventnotificationdependency.md @@ -32,7 +32,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Add Gradle or Maven dependency](../../../../java/dependencies/adddependency) * groupId: `software.amazon.awssdk` * artifactId: `s3-event-notifications` - * version: `2.35.2` + * version: `2.35.9` * onlyIfUsing: `com.amazonaws.services.s3.event.S3EventNotification` @@ -53,7 +53,7 @@ recipeList: - org.openrewrite.java.dependencies.AddDependency: groupId: software.amazon.awssdk artifactId: s3-event-notifications - version: 2.35.2 + version: 2.35.9 onlyIfUsing: com.amazonaws.services.s3.event.S3EventNotification ``` diff --git a/docs/recipes/software/amazon/awssdk/v2migration/addtransfermanagerdependency.md b/docs/recipes/software/amazon/awssdk/v2migration/addtransfermanagerdependency.md index 5b1c6d4247..42632333ee 100644 --- a/docs/recipes/software/amazon/awssdk/v2migration/addtransfermanagerdependency.md +++ b/docs/recipes/software/amazon/awssdk/v2migration/addtransfermanagerdependency.md @@ -32,7 +32,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Add Gradle or Maven dependency](../../../../java/dependencies/adddependency) * groupId: `software.amazon.awssdk` * artifactId: `s3-transfer-manager` - * version: `2.35.2` + * version: `2.35.9` * onlyIfUsing: `com.amazonaws.services.s3.transfer.TransferManager` @@ -53,7 +53,7 @@ recipeList: - org.openrewrite.java.dependencies.AddDependency: groupId: software.amazon.awssdk artifactId: s3-transfer-manager - version: 2.35.2 + version: 2.35.9 onlyIfUsing: com.amazonaws.services.s3.transfer.TransferManager ``` diff --git a/docs/recipes/software/amazon/awssdk/v2migration/upgradesdkdependencies.md b/docs/recipes/software/amazon/awssdk/v2migration/upgradesdkdependencies.md index 492f789c86..7629469eb2 100644 --- a/docs/recipes/software/amazon/awssdk/v2migration/upgradesdkdependencies.md +++ b/docs/recipes/software/amazon/awssdk/v2migration/upgradesdkdependencies.md @@ -31,2287 +31,2287 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [Add Gradle or Maven dependency](../../../../java/dependencies/adddependency) * groupId: `software.amazon.awssdk` * artifactId: `apache-client` - * version: `2.35.2` + * version: `2.35.9` * onlyIfUsing: `com.amazonaws.ClientConfiguration` * [Add Gradle or Maven dependency](../../../../java/dependencies/adddependency) * groupId: `software.amazon.awssdk` * artifactId: `netty-nio-client` - * version: `2.35.2` + * version: `2.35.9` * onlyIfUsing: `com.amazonaws.ClientConfiguration` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-core` * newGroupId: `software.amazon.awssdk` * newArtifactId: `aws-core` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-bom` * newGroupId: `software.amazon.awssdk` * newArtifactId: `bom` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iot` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotdataplane` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-oam` * newGroupId: `software.amazon.awssdk` * newArtifactId: `oam` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotwireless` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotwireless` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-forecast` * newGroupId: `software.amazon.awssdk` * newArtifactId: `forecast` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-licensemanagerlinuxsubscriptions` * newGroupId: `software.amazon.awssdk` * newArtifactId: `licensemanagerlinuxsubscriptions` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-docdbelastic` * newGroupId: `software.amazon.awssdk` * newArtifactId: `docdbelastic` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-emrcontainers` * newGroupId: `software.amazon.awssdk` * newArtifactId: `emrcontainers` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-timestreamwrite` * newGroupId: `software.amazon.awssdk` * newArtifactId: `timestreamwrite` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codebuild` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codebuild` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotdeviceadvisor` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotdeviceadvisor` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssmcontacts` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssmcontacts` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pcaconnectorscep` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pcaconnectorscep` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-paymentcryptographydata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `paymentcryptographydata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codeguruprofiler` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codeguruprofiler` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesis` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kinesis` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesisvideo` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kinesisvideo` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pinpoint` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pinpoint` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iottwinmaker` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iottwinmaker` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-organizations` * newGroupId: `software.amazon.awssdk` * newArtifactId: `organizations` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-licensemanager` * newGroupId: `software.amazon.awssdk` * newArtifactId: `licensemanager` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-shield` * newGroupId: `software.amazon.awssdk` * newArtifactId: `shield` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssm` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssm` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediastoredata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediastoredata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sagemakerruntime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemakerruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-signer` * newGroupId: `software.amazon.awssdk` * newArtifactId: `signer` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-servicecatalog` * newGroupId: `software.amazon.awssdk` * newArtifactId: `servicecatalog` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-timestreaminfluxdb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `timestreaminfluxdb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lakeformation` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lakeformation` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pcs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pcs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-licensemanagerusersubscriptions` * newGroupId: `software.amazon.awssdk` * newArtifactId: `licensemanagerusersubscriptions` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-secretsmanager` * newGroupId: `software.amazon.awssdk` * newArtifactId: `secretsmanager` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediaconnect` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediaconnect` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mwaa` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mwaa` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kms` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kms` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-quicksight` * newGroupId: `software.amazon.awssdk` * newArtifactId: `quicksight` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-workmail` * newGroupId: `software.amazon.awssdk` * newArtifactId: `workmail` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-eventbridge` * newGroupId: `software.amazon.awssdk` * newArtifactId: `eventbridge` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sagemakergeospatial` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemakergeospatial` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-frauddetector` * newGroupId: `software.amazon.awssdk` * newArtifactId: `frauddetector` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elastictranscoder` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elastictranscoder` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elasticinference` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elasticinference` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lookoutequipment` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lookoutequipment` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pcaconnectorad` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pcaconnectorad` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pinpointsmsvoice` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pinpointsmsvoice` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-securitylake` * newGroupId: `software.amazon.awssdk` * newArtifactId: `securitylake` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudwatch` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudwatch` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudwatchmetrics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudwatch` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-glue` * newGroupId: `software.amazon.awssdk` * newArtifactId: `glue` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-costoptimizationhub` * newGroupId: `software.amazon.awssdk` * newArtifactId: `costoptimizationhub` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-servicequotas` * newGroupId: `software.amazon.awssdk` * newArtifactId: `servicequotas` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-s3` * newGroupId: `software.amazon.awssdk` * newArtifactId: `s3` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appintegrations` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appintegrations` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sesv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sesv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-arczonalshift` * newGroupId: `software.amazon.awssdk` * newArtifactId: `arczonalshift` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-emr` * newGroupId: `software.amazon.awssdk` * newArtifactId: `emr` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-controltower` * newGroupId: `software.amazon.awssdk` * newArtifactId: `controltower` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotfleethub` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotfleethub` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-personalize` * newGroupId: `software.amazon.awssdk` * newArtifactId: `personalize` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-outposts` * newGroupId: `software.amazon.awssdk` * newArtifactId: `outposts` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-workdocs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `workdocs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-networkmanager` * newGroupId: `software.amazon.awssdk` * newArtifactId: `networkmanager` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-omics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `omics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediapackage` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediapackage` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-medialive` * newGroupId: `software.amazon.awssdk` * newArtifactId: `medialive` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediaconvert` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediaconvert` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-marketplaceagreement` * newGroupId: `software.amazon.awssdk` * newArtifactId: `marketplaceagreement` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cognitosync` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cognitosync` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sns` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sns` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-datasync` * newGroupId: `software.amazon.awssdk` * newArtifactId: `datasync` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sagemakeredgemanager` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemakeredge` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-greengrassv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `greengrassv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pinpointemail` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pinpointemail` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cleanroomsml` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cleanroomsml` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-augmentedairuntime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemakera2iruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-neptunedata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `neptunedata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-b2bi` * newGroupId: `software.amazon.awssdk` * newArtifactId: `b2bi` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotanalytics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotanalytics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-inspector2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `inspector2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-groundstation` * newGroupId: `software.amazon.awssdk` * newArtifactId: `groundstation` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-fis` * newGroupId: `software.amazon.awssdk` * newArtifactId: `fis` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-proton` * newGroupId: `software.amazon.awssdk` * newArtifactId: `proton` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-voiceid` * newGroupId: `software.amazon.awssdk` * newArtifactId: `voiceid` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudhsm` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudhsm` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ecrpublic` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ecrpublic` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-servermigration` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sms` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudtraildata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudtraildata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cognitoidentity` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cognitoidentity` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-config` * newGroupId: `software.amazon.awssdk` * newArtifactId: `config` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-osis` * newGroupId: `software.amazon.awssdk` * newArtifactId: `osis` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-private5g` * newGroupId: `software.amazon.awssdk` * newArtifactId: `privatenetworks` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-memorydb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `memorydb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-inspector` * newGroupId: `software.amazon.awssdk` * newArtifactId: `inspector` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-translate` * newGroupId: `software.amazon.awssdk` * newArtifactId: `translate` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mailmanager` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mailmanager` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-paymentcryptography` * newGroupId: `software.amazon.awssdk` * newArtifactId: `paymentcryptography` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chatbot` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chatbot` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-fms` * newGroupId: `software.amazon.awssdk` * newArtifactId: `fms` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssmincidents` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssmincidents` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-vpclattice` * newGroupId: `software.amazon.awssdk` * newArtifactId: `vpclattice` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-s3control` * newGroupId: `software.amazon.awssdk` * newArtifactId: `s3control` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-qapps` * newGroupId: `software.amazon.awssdk` * newArtifactId: `qapps` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-rdsdata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `rdsdata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesisanalyticsv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kinesisanalyticsv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-qbusiness` * newGroupId: `software.amazon.awssdk` * newArtifactId: `qbusiness` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-marketplacecommerceanalytics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `marketplacecommerceanalytics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-synthetics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `synthetics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-apptest` * newGroupId: `software.amazon.awssdk` * newArtifactId: `apptest` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-costexplorer` * newGroupId: `software.amazon.awssdk` * newArtifactId: `costexplorer` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotsecuretunneling` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotsecuretunneling` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudfront` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudfront` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-location` * newGroupId: `software.amazon.awssdk` * newArtifactId: `location` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-wafv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `wafv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-opensearch` * newGroupId: `software.amazon.awssdk` * newArtifactId: `opensearch` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ec2instanceconnect` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ec2instanceconnect` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotthingsgraph` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotthingsgraph` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-repostspace` * newGroupId: `software.amazon.awssdk` * newArtifactId: `repostspace` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53recoveryreadiness` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53recoveryreadiness` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-health` * newGroupId: `software.amazon.awssdk` * newArtifactId: `health` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-workmailmessageflow` * newGroupId: `software.amazon.awssdk` * newArtifactId: `workmailmessageflow` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-comprehendmedical` * newGroupId: `software.amazon.awssdk` * newArtifactId: `comprehendmedical` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotfleetwise` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotfleetwise` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53profiles` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53profiles` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-bcmdataexports` * newGroupId: `software.amazon.awssdk` * newArtifactId: `bcmdataexports` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-accessanalyzer` * newGroupId: `software.amazon.awssdk` * newArtifactId: `accessanalyzer` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-glacier` * newGroupId: `software.amazon.awssdk` * newArtifactId: `glacier` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lightsail` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lightsail` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudwatchrum` * newGroupId: `software.amazon.awssdk` * newArtifactId: `rum` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-inspectorscan` * newGroupId: `software.amazon.awssdk` * newArtifactId: `inspectorscan` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-imagebuilder` * newGroupId: `software.amazon.awssdk` * newArtifactId: `imagebuilder` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sagemakermetrics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemakermetrics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-bedrockagent` * newGroupId: `software.amazon.awssdk` * newArtifactId: `bedrockagent` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-migrationhub` * newGroupId: `software.amazon.awssdk` * newArtifactId: `migrationhub` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-simspaceweaver` * newGroupId: `software.amazon.awssdk` * newArtifactId: `simspaceweaver` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elasticbeanstalk` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elasticbeanstalk` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-freetier` * newGroupId: `software.amazon.awssdk` * newArtifactId: `freetier` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudsearch` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudsearchdomain` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-neptune` * newGroupId: `software.amazon.awssdk` * newArtifactId: `neptune` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-supportapp` * newGroupId: `software.amazon.awssdk` * newArtifactId: `supportapp` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-transfer` * newGroupId: `software.amazon.awssdk` * newArtifactId: `transfer` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-deadline` * newGroupId: `software.amazon.awssdk` * newArtifactId: `deadline` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-braket` * newGroupId: `software.amazon.awssdk` * newArtifactId: `braket` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-verifiedpermissions` * newGroupId: `software.amazon.awssdk` * newArtifactId: `verifiedpermissions` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-scheduler` * newGroupId: `software.amazon.awssdk` * newArtifactId: `scheduler` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-marketplacedeployment` * newGroupId: `software.amazon.awssdk` * newArtifactId: `marketplacedeployment` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-resourcegroups` * newGroupId: `software.amazon.awssdk` * newArtifactId: `resourcegroups` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-qldb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `qldb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-dms` * newGroupId: `software.amazon.awssdk` * newArtifactId: `databasemigration` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ecr` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ecr` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-dynamodb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `dynamodb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-resiliencehub` * newGroupId: `software.amazon.awssdk` * newArtifactId: `resiliencehub` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-qldbsession` * newGroupId: `software.amazon.awssdk` * newArtifactId: `qldbsession` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53domains` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-macie2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `macie2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chimesdkmeetings` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chimesdkmeetings` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-applicationautoscaling` * newGroupId: `software.amazon.awssdk` * newArtifactId: `applicationautoscaling` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-entityresolution` * newGroupId: `software.amazon.awssdk` * newArtifactId: `entityresolution` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-s3outposts` * newGroupId: `software.amazon.awssdk` * newArtifactId: `s3outposts` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-managedgrafana` * newGroupId: `software.amazon.awssdk` * newArtifactId: `grafana` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-storagegateway` * newGroupId: `software.amazon.awssdk` * newArtifactId: `storagegateway` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-recyclebin` * newGroupId: `software.amazon.awssdk` * newArtifactId: `rbin` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ioteventsdata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ioteventsdata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53recoverycluster` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53recoverycluster` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ecs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ecs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elasticloadbalancing` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elasticloadbalancing` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-connectcontactlens` * newGroupId: `software.amazon.awssdk` * newArtifactId: `connectcontactlens` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chimesdkmediapipelines` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chimesdkmediapipelines` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesisvideosignalingchannels` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kinesisvideosignaling` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-qconnect` * newGroupId: `software.amazon.awssdk` * newArtifactId: `qconnect` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kendraranking` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kendraranking` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudsearch` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudsearch` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-logs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudwatchlogs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appfabric` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appfabric` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lookoutforvision` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lookoutvision` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53resolver` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53resolver` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-workspaces` * newGroupId: `software.amazon.awssdk` * newArtifactId: `workspaces` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-machinelearning` * newGroupId: `software.amazon.awssdk` * newArtifactId: `machinelearning` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-costandusagereport` * newGroupId: `software.amazon.awssdk` * newArtifactId: `costandusagereport` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-taxsettings` * newGroupId: `software.amazon.awssdk` * newArtifactId: `taxsettings` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-fsx` * newGroupId: `software.amazon.awssdk` * newArtifactId: `fsx` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codepipeline` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codepipeline` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elasticloadbalancingv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elasticloadbalancingv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-directory` * newGroupId: `software.amazon.awssdk` * newArtifactId: `directory` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-bedrockruntime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `bedrockruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codestarnotifications` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codestarnotifications` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-schemas` * newGroupId: `software.amazon.awssdk` * newArtifactId: `schemas` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sqs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sqs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appregistry` * newGroupId: `software.amazon.awssdk` * newArtifactId: `servicecatalogappregistry` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appmesh` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appmesh` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-migrationhuborchestrator` * newGroupId: `software.amazon.awssdk` * newArtifactId: `migrationhuborchestrator` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-discovery` * newGroupId: `software.amazon.awssdk` * newArtifactId: `applicationdiscovery` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iot` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iot` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesisvideowebrtcstorage` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kinesisvideowebrtcstorage` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ebs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ebs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-amplify` * newGroupId: `software.amazon.awssdk` * newArtifactId: `amplify` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudcontrolapi` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudcontrol` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-wellarchitected` * newGroupId: `software.amazon.awssdk` * newArtifactId: `wellarchitected` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-marketplaceentitlement` * newGroupId: `software.amazon.awssdk` * newArtifactId: `marketplaceentitlement` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-bedrock` * newGroupId: `software.amazon.awssdk` * newArtifactId: `bedrock` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-redshift` * newGroupId: `software.amazon.awssdk` * newArtifactId: `redshift` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-connectcases` * newGroupId: `software.amazon.awssdk` * newArtifactId: `connectcases` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appflow` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appflow` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-gamelift` * newGroupId: `software.amazon.awssdk` * newArtifactId: `gamelift` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudtrail` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudtrail` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-supplychain` * newGroupId: `software.amazon.awssdk` * newArtifactId: `supplychain` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pipes` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pipes` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudwatchevidently` * newGroupId: `software.amazon.awssdk` * newArtifactId: `evidently` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-amplifyuibuilder` * newGroupId: `software.amazon.awssdk` * newArtifactId: `amplifyuibuilder` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-managedblockchainquery` * newGroupId: `software.amazon.awssdk` * newArtifactId: `managedblockchainquery` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-applicationinsights` * newGroupId: `software.amazon.awssdk` * newArtifactId: `applicationinsights` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chimesdkmessaging` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chimesdkmessaging` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediatailor` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediatailor` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediapackagev2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediapackagev2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-resourceexplorer2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `resourceexplorer2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pi` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pi` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-emrserverless` * newGroupId: `software.amazon.awssdk` * newArtifactId: `emrserverless` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appconfig` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appconfig` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-networkmonitor` * newGroupId: `software.amazon.awssdk` * newArtifactId: `networkmonitor` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sagemakerfeaturestoreruntime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemakerfeaturestoreruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chimesdkidentity` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chimesdkidentity` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-computeoptimizer` * newGroupId: `software.amazon.awssdk` * newArtifactId: `computeoptimizer` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-connectparticipant` * newGroupId: `software.amazon.awssdk` * newArtifactId: `connectparticipant` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mgn` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mgn` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-applicationcostprofiler` * newGroupId: `software.amazon.awssdk` * newArtifactId: `applicationcostprofiler` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-new-service-template` * newGroupId: `software.amazon.awssdk` * newArtifactId: `new-service-template` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-keyspaces` * newGroupId: `software.amazon.awssdk` * newArtifactId: `keyspaces` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iam` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iam` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-networkfirewall` * newGroupId: `software.amazon.awssdk` * newArtifactId: `networkfirewall` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-redshiftdataapi` * newGroupId: `software.amazon.awssdk` * newArtifactId: `redshiftdata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediastore` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediastore` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloud9` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloud9` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-connectwisdom` * newGroupId: `software.amazon.awssdk` * newArtifactId: `wisdom` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sso` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sso` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-auditmanager` * newGroupId: `software.amazon.awssdk` * newArtifactId: `auditmanager` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-snowball` * newGroupId: `software.amazon.awssdk` * newArtifactId: `snowball` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesis` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kinesisanalytics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53recoverycontrolconfig` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53recoverycontrolconfig` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-opsworks` * newGroupId: `software.amazon.awssdk` * newArtifactId: `opsworks` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-identitystore` * newGroupId: `software.amazon.awssdk` * newArtifactId: `identitystore` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-connectcampaign` * newGroupId: `software.amazon.awssdk` * newArtifactId: `connectcampaigns` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-textract` * newGroupId: `software.amazon.awssdk` * newArtifactId: `textract` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-redshiftserverless` * newGroupId: `software.amazon.awssdk` * newArtifactId: `redshiftserverless` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-eks` * newGroupId: `software.amazon.awssdk` * newArtifactId: `eks` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-support` * newGroupId: `software.amazon.awssdk` * newArtifactId: `support` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mechanicalturkrequester` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mturk` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-apigatewayv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `apigatewayv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-devopsguru` * newGroupId: `software.amazon.awssdk` * newArtifactId: `devopsguru` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-prometheus` * newGroupId: `software.amazon.awssdk` * newArtifactId: `amp` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-drs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `drs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-migrationhubconfig` * newGroupId: `software.amazon.awssdk` * newArtifactId: `migrationhubconfig` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kafkaconnect` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kafkaconnect` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kafka` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kafka` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-gluedatabrew` * newGroupId: `software.amazon.awssdk` * newArtifactId: `databrew` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codedeploy` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codedeploy` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudhsmv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudhsmv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-batch` * newGroupId: `software.amazon.awssdk` * newArtifactId: `batch` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-savingsplans` * newGroupId: `software.amazon.awssdk` * newArtifactId: `savingsplans` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-migrationhubstrategyrecommendations` * newGroupId: `software.amazon.awssdk` * newArtifactId: `migrationhubstrategy` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appsync` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appsync` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-backupgateway` * newGroupId: `software.amazon.awssdk` * newArtifactId: `backupgateway` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-dlm` * newGroupId: `software.amazon.awssdk` * newArtifactId: `dlm` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-amplifybackend` * newGroupId: `software.amazon.awssdk` * newArtifactId: `amplifybackend` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-datazoneexternal` * newGroupId: `software.amazon.awssdk` * newArtifactId: `datazone` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-billingconductor` * newGroupId: `software.amazon.awssdk` * newArtifactId: `billingconductor` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-workspacesthinclient` * newGroupId: `software.amazon.awssdk` * newArtifactId: `workspacesthinclient` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssmsap` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssmsap` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-budgets` * newGroupId: `software.amazon.awssdk` * newArtifactId: `budgets` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mainframemodernization` * newGroupId: `software.amazon.awssdk` * newArtifactId: `m2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-finspace` * newGroupId: `software.amazon.awssdk` * newArtifactId: `finspace` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-detective` * newGroupId: `software.amazon.awssdk` * newArtifactId: `detective` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lambda` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lambda` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssooidc` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssooidc` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-panorama` * newGroupId: `software.amazon.awssdk` * newArtifactId: `panorama` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotevents` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotevents` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-managedblockchain` * newGroupId: `software.amazon.awssdk` * newArtifactId: `managedblockchain` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-servicediscovery` * newGroupId: `software.amazon.awssdk` * newArtifactId: `servicediscovery` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-waf` * newGroupId: `software.amazon.awssdk` * newArtifactId: `waf` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ivs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ivs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-directconnect` * newGroupId: `software.amazon.awssdk` * newArtifactId: `directconnect` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mq` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mq` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pinpointsmsvoicev2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pinpointsmsvoicev2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-internetmonitor` * newGroupId: `software.amazon.awssdk` * newArtifactId: `internetmonitor` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-artifact` * newGroupId: `software.amazon.awssdk` * newArtifactId: `artifact` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotsitewise` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotsitewise` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lexmodelsv2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lexmodelsv2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lexruntimev2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lexruntimev2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-serverlessapplicationrepository` * newGroupId: `software.amazon.awssdk` * newArtifactId: `serverlessapplicationrepository` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-eksauth` * newGroupId: `software.amazon.awssdk` * newArtifactId: `eksauth` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-snowdevicemanagement` * newGroupId: `software.amazon.awssdk` * newArtifactId: `snowdevicemanagement` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-clouddirectory` * newGroupId: `software.amazon.awssdk` * newArtifactId: `clouddirectory` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-mediapackagevod` * newGroupId: `software.amazon.awssdk` * newArtifactId: `mediapackagevod` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codestarconnections` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codestarconnections` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codeartifact` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codeartifact` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-guardduty` * newGroupId: `software.amazon.awssdk` * newArtifactId: `guardduty` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-worklink` * newGroupId: `software.amazon.awssdk` * newArtifactId: `worklink` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cleanrooms` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cleanrooms` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-customerprofiles` * newGroupId: `software.amazon.awssdk` * newArtifactId: `customerprofiles` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-trustedadvisor` * newGroupId: `software.amazon.awssdk` * newArtifactId: `trustedadvisor` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-dax` * newGroupId: `software.amazon.awssdk` * newArtifactId: `dax` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-opsworkscm` * newGroupId: `software.amazon.awssdk` * newArtifactId: `opsworkscm` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-docdb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `docdb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-acmpca` * newGroupId: `software.amazon.awssdk` * newArtifactId: `acmpca` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kinesis` * newGroupId: `software.amazon.awssdk` * newArtifactId: `firehose` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ivschat` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ivschat` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-globalaccelerator` * newGroupId: `software.amazon.awssdk` * newArtifactId: `globalaccelerator` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ses` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ses` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codegurureviewer` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codegurureviewer` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lexmodelbuilding` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lexmodelbuilding` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-medicalimaging` * newGroupId: `software.amazon.awssdk` * newArtifactId: `medicalimaging` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-account` * newGroupId: `software.amazon.awssdk` * newArtifactId: `account` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-robomaker` * newGroupId: `software.amazon.awssdk` * newArtifactId: `robomaker` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lex` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lexruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-autoscaling` * newGroupId: `software.amazon.awssdk` * newArtifactId: `autoscaling` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-nimblestudio` * newGroupId: `software.amazon.awssdk` * newArtifactId: `nimble` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iotjobsdataplane` * newGroupId: `software.amazon.awssdk` * newArtifactId: `iotjobsdataplane` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appconfigdata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appconfigdata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-controlcatalog` * newGroupId: `software.amazon.awssdk` * newArtifactId: `controlcatalog` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-greengrass` * newGroupId: `software.amazon.awssdk` * newArtifactId: `greengrass` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-securityhub` * newGroupId: `software.amazon.awssdk` * newArtifactId: `securityhub` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-timestreamquery` * newGroupId: `software.amazon.awssdk` * newArtifactId: `timestreamquery` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-backup` * newGroupId: `software.amazon.awssdk` * newArtifactId: `backup` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-opensearchserverless` * newGroupId: `software.amazon.awssdk` * newArtifactId: `opensearchserverless` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cloudformation` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudformation` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-kendra` * newGroupId: `software.amazon.awssdk` * newArtifactId: `kendra` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-connect` * newGroupId: `software.amazon.awssdk` * newArtifactId: `connect` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elasticache` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elasticache` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-stepfunctions` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sfn` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-cognitoidp` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cognitoidentityprovider` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-chimesdkvoice` * newGroupId: `software.amazon.awssdk` * newArtifactId: `chimesdkvoice` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-workspacesweb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `workspacesweb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-comprehend` * newGroupId: `software.amazon.awssdk` * newArtifactId: `comprehend` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-applicationsignals` * newGroupId: `software.amazon.awssdk` * newArtifactId: `applicationsignals` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-marketplacemeteringservice` * newGroupId: `software.amazon.awssdk` * newArtifactId: `marketplacemetering` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-devicefarm` * newGroupId: `software.amazon.awssdk` * newArtifactId: `devicefarm` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-rekognition` * newGroupId: `software.amazon.awssdk` * newArtifactId: `rekognition` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-appstream` * newGroupId: `software.amazon.awssdk` * newArtifactId: `appstream` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-polly` * newGroupId: `software.amazon.awssdk` * newArtifactId: `polly` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-rds` * newGroupId: `software.amazon.awssdk` * newArtifactId: `rds` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-pricing` * newGroupId: `software.amazon.awssdk` * newArtifactId: `pricing` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-simpleworkflow` * newGroupId: `software.amazon.awssdk` * newArtifactId: `swf` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-events` * newGroupId: `software.amazon.awssdk` * newArtifactId: `cloudwatchevents` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssmquicksetup` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssmquicksetup` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-autoscalingplans` * newGroupId: `software.amazon.awssdk` * newArtifactId: `autoscalingplans` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-datapipeline` * newGroupId: `software.amazon.awssdk` * newArtifactId: `datapipeline` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-transcribe` * newGroupId: `software.amazon.awssdk` * newArtifactId: `transcribe` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ivsrealtime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ivsrealtime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-personalizeruntime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `personalizeruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-elasticsearch` * newGroupId: `software.amazon.awssdk` * newArtifactId: `elasticsearch` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codecommit` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codecommit` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-resourcegroupstaggingapi` * newGroupId: `software.amazon.awssdk` * newArtifactId: `resourcegroupstaggingapi` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-forecastquery` * newGroupId: `software.amazon.awssdk` * newArtifactId: `forecastquery` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-healthlake` * newGroupId: `software.amazon.awssdk` * newArtifactId: `healthlake` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-iamrolesanywhere` * newGroupId: `software.amazon.awssdk` * newArtifactId: `rolesanywhere` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-personalizeevents` * newGroupId: `software.amazon.awssdk` * newArtifactId: `personalizeevents` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-apigatewaymanagementapi` * newGroupId: `software.amazon.awssdk` * newArtifactId: `apigatewaymanagementapi` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-launchwizard` * newGroupId: `software.amazon.awssdk` * newArtifactId: `launchwizard` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-xray` * newGroupId: `software.amazon.awssdk` * newArtifactId: `xray` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ssoadmin` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ssoadmin` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-api-gateway` * newGroupId: `software.amazon.awssdk` * newArtifactId: `apigateway` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-migrationhubrefactorspaces` * newGroupId: `software.amazon.awssdk` * newArtifactId: `migrationhubrefactorspaces` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ram` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ram` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codeconnections` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codeconnections` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-efs` * newGroupId: `software.amazon.awssdk` * newArtifactId: `efs` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-bedrockagentruntime` * newGroupId: `software.amazon.awssdk` * newArtifactId: `bedrockagentruntime` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-dataexchange` * newGroupId: `software.amazon.awssdk` * newArtifactId: `dataexchange` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sts` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sts` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-sagemaker` * newGroupId: `software.amazon.awssdk` * newArtifactId: `sagemaker` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-finspacedata` * newGroupId: `software.amazon.awssdk` * newArtifactId: `finspacedata` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-marketplacecatalog` * newGroupId: `software.amazon.awssdk` * newArtifactId: `marketplacecatalog` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-acm` * newGroupId: `software.amazon.awssdk` * newArtifactId: `acm` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-athena` * newGroupId: `software.amazon.awssdk` * newArtifactId: `athena` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-route53` * newGroupId: `software.amazon.awssdk` * newArtifactId: `route53` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-codegurusecurity` * newGroupId: `software.amazon.awssdk` * newArtifactId: `codegurusecurity` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-tnb` * newGroupId: `software.amazon.awssdk` * newArtifactId: `tnb` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-ec2` * newGroupId: `software.amazon.awssdk` * newArtifactId: `ec2` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-apprunner` * newGroupId: `software.amazon.awssdk` * newArtifactId: `apprunner` - * newVersion: `2.35.2` + * newVersion: `2.35.9` * [Change Gradle or Maven dependency](../../../../java/dependencies/changedependency) * oldGroupId: `com.amazonaws` * oldArtifactId: `aws-java-sdk-lookoutmetrics` * newGroupId: `software.amazon.awssdk` * newArtifactId: `lookoutmetrics` - * newVersion: `2.35.2` + * newVersion: `2.35.9` @@ -2328,2287 +2328,2287 @@ recipeList: - org.openrewrite.java.dependencies.AddDependency: groupId: software.amazon.awssdk artifactId: apache-client - version: 2.35.2 + version: 2.35.9 onlyIfUsing: com.amazonaws.ClientConfiguration - org.openrewrite.java.dependencies.AddDependency: groupId: software.amazon.awssdk artifactId: netty-nio-client - version: 2.35.2 + version: 2.35.9 onlyIfUsing: com.amazonaws.ClientConfiguration - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-core newGroupId: software.amazon.awssdk newArtifactId: aws-core - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bom newGroupId: software.amazon.awssdk newArtifactId: bom - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iot newGroupId: software.amazon.awssdk newArtifactId: iotdataplane - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-oam newGroupId: software.amazon.awssdk newArtifactId: oam - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotwireless newGroupId: software.amazon.awssdk newArtifactId: iotwireless - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-forecast newGroupId: software.amazon.awssdk newArtifactId: forecast - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-licensemanagerlinuxsubscriptions newGroupId: software.amazon.awssdk newArtifactId: licensemanagerlinuxsubscriptions - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-docdbelastic newGroupId: software.amazon.awssdk newArtifactId: docdbelastic - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-emrcontainers newGroupId: software.amazon.awssdk newArtifactId: emrcontainers - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-timestreamwrite newGroupId: software.amazon.awssdk newArtifactId: timestreamwrite - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codebuild newGroupId: software.amazon.awssdk newArtifactId: codebuild - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotdeviceadvisor newGroupId: software.amazon.awssdk newArtifactId: iotdeviceadvisor - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssmcontacts newGroupId: software.amazon.awssdk newArtifactId: ssmcontacts - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pcaconnectorscep newGroupId: software.amazon.awssdk newArtifactId: pcaconnectorscep - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-paymentcryptographydata newGroupId: software.amazon.awssdk newArtifactId: paymentcryptographydata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codeguruprofiler newGroupId: software.amazon.awssdk newArtifactId: codeguruprofiler - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesis newGroupId: software.amazon.awssdk newArtifactId: kinesis - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesisvideo newGroupId: software.amazon.awssdk newArtifactId: kinesisvideo - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pinpoint newGroupId: software.amazon.awssdk newArtifactId: pinpoint - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chime newGroupId: software.amazon.awssdk newArtifactId: chime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iottwinmaker newGroupId: software.amazon.awssdk newArtifactId: iottwinmaker - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-organizations newGroupId: software.amazon.awssdk newArtifactId: organizations - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-licensemanager newGroupId: software.amazon.awssdk newArtifactId: licensemanager - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-shield newGroupId: software.amazon.awssdk newArtifactId: shield - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssm newGroupId: software.amazon.awssdk newArtifactId: ssm - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediastoredata newGroupId: software.amazon.awssdk newArtifactId: mediastoredata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sagemakerruntime newGroupId: software.amazon.awssdk newArtifactId: sagemakerruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-signer newGroupId: software.amazon.awssdk newArtifactId: signer - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-servicecatalog newGroupId: software.amazon.awssdk newArtifactId: servicecatalog - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-timestreaminfluxdb newGroupId: software.amazon.awssdk newArtifactId: timestreaminfluxdb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lakeformation newGroupId: software.amazon.awssdk newArtifactId: lakeformation - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pcs newGroupId: software.amazon.awssdk newArtifactId: pcs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-licensemanagerusersubscriptions newGroupId: software.amazon.awssdk newArtifactId: licensemanagerusersubscriptions - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-secretsmanager newGroupId: software.amazon.awssdk newArtifactId: secretsmanager - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediaconnect newGroupId: software.amazon.awssdk newArtifactId: mediaconnect - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mwaa newGroupId: software.amazon.awssdk newArtifactId: mwaa - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kms newGroupId: software.amazon.awssdk newArtifactId: kms - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-quicksight newGroupId: software.amazon.awssdk newArtifactId: quicksight - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-workmail newGroupId: software.amazon.awssdk newArtifactId: workmail - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-eventbridge newGroupId: software.amazon.awssdk newArtifactId: eventbridge - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sagemakergeospatial newGroupId: software.amazon.awssdk newArtifactId: sagemakergeospatial - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-frauddetector newGroupId: software.amazon.awssdk newArtifactId: frauddetector - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elastictranscoder newGroupId: software.amazon.awssdk newArtifactId: elastictranscoder - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elasticinference newGroupId: software.amazon.awssdk newArtifactId: elasticinference - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lookoutequipment newGroupId: software.amazon.awssdk newArtifactId: lookoutequipment - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pcaconnectorad newGroupId: software.amazon.awssdk newArtifactId: pcaconnectorad - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pinpointsmsvoice newGroupId: software.amazon.awssdk newArtifactId: pinpointsmsvoice - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-securitylake newGroupId: software.amazon.awssdk newArtifactId: securitylake - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudwatch newGroupId: software.amazon.awssdk newArtifactId: cloudwatch - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudwatchmetrics newGroupId: software.amazon.awssdk newArtifactId: cloudwatch - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-glue newGroupId: software.amazon.awssdk newArtifactId: glue - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-costoptimizationhub newGroupId: software.amazon.awssdk newArtifactId: costoptimizationhub - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-servicequotas newGroupId: software.amazon.awssdk newArtifactId: servicequotas - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-s3 newGroupId: software.amazon.awssdk newArtifactId: s3 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appintegrations newGroupId: software.amazon.awssdk newArtifactId: appintegrations - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sesv2 newGroupId: software.amazon.awssdk newArtifactId: sesv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-arczonalshift newGroupId: software.amazon.awssdk newArtifactId: arczonalshift - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-emr newGroupId: software.amazon.awssdk newArtifactId: emr - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-controltower newGroupId: software.amazon.awssdk newArtifactId: controltower - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotfleethub newGroupId: software.amazon.awssdk newArtifactId: iotfleethub - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-personalize newGroupId: software.amazon.awssdk newArtifactId: personalize - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-outposts newGroupId: software.amazon.awssdk newArtifactId: outposts - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-workdocs newGroupId: software.amazon.awssdk newArtifactId: workdocs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-networkmanager newGroupId: software.amazon.awssdk newArtifactId: networkmanager - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-omics newGroupId: software.amazon.awssdk newArtifactId: omics - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediapackage newGroupId: software.amazon.awssdk newArtifactId: mediapackage - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-medialive newGroupId: software.amazon.awssdk newArtifactId: medialive - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediaconvert newGroupId: software.amazon.awssdk newArtifactId: mediaconvert - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-marketplaceagreement newGroupId: software.amazon.awssdk newArtifactId: marketplaceagreement - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cognitosync newGroupId: software.amazon.awssdk newArtifactId: cognitosync - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sns newGroupId: software.amazon.awssdk newArtifactId: sns - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-datasync newGroupId: software.amazon.awssdk newArtifactId: datasync - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sagemakeredgemanager newGroupId: software.amazon.awssdk newArtifactId: sagemakeredge - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-greengrassv2 newGroupId: software.amazon.awssdk newArtifactId: greengrassv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pinpointemail newGroupId: software.amazon.awssdk newArtifactId: pinpointemail - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cleanroomsml newGroupId: software.amazon.awssdk newArtifactId: cleanroomsml - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-augmentedairuntime newGroupId: software.amazon.awssdk newArtifactId: sagemakera2iruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-neptunedata newGroupId: software.amazon.awssdk newArtifactId: neptunedata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-b2bi newGroupId: software.amazon.awssdk newArtifactId: b2bi - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotanalytics newGroupId: software.amazon.awssdk newArtifactId: iotanalytics - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-inspector2 newGroupId: software.amazon.awssdk newArtifactId: inspector2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-groundstation newGroupId: software.amazon.awssdk newArtifactId: groundstation - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-fis newGroupId: software.amazon.awssdk newArtifactId: fis - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-proton newGroupId: software.amazon.awssdk newArtifactId: proton - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-voiceid newGroupId: software.amazon.awssdk newArtifactId: voiceid - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudhsm newGroupId: software.amazon.awssdk newArtifactId: cloudhsm - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ecrpublic newGroupId: software.amazon.awssdk newArtifactId: ecrpublic - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-servermigration newGroupId: software.amazon.awssdk newArtifactId: sms - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudtraildata newGroupId: software.amazon.awssdk newArtifactId: cloudtraildata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cognitoidentity newGroupId: software.amazon.awssdk newArtifactId: cognitoidentity - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-config newGroupId: software.amazon.awssdk newArtifactId: config - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-osis newGroupId: software.amazon.awssdk newArtifactId: osis - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-private5g newGroupId: software.amazon.awssdk newArtifactId: privatenetworks - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-memorydb newGroupId: software.amazon.awssdk newArtifactId: memorydb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-inspector newGroupId: software.amazon.awssdk newArtifactId: inspector - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-translate newGroupId: software.amazon.awssdk newArtifactId: translate - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mailmanager newGroupId: software.amazon.awssdk newArtifactId: mailmanager - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-paymentcryptography newGroupId: software.amazon.awssdk newArtifactId: paymentcryptography - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chatbot newGroupId: software.amazon.awssdk newArtifactId: chatbot - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-fms newGroupId: software.amazon.awssdk newArtifactId: fms - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssmincidents newGroupId: software.amazon.awssdk newArtifactId: ssmincidents - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-vpclattice newGroupId: software.amazon.awssdk newArtifactId: vpclattice - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-s3control newGroupId: software.amazon.awssdk newArtifactId: s3control - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-qapps newGroupId: software.amazon.awssdk newArtifactId: qapps - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-rdsdata newGroupId: software.amazon.awssdk newArtifactId: rdsdata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesisanalyticsv2 newGroupId: software.amazon.awssdk newArtifactId: kinesisanalyticsv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-qbusiness newGroupId: software.amazon.awssdk newArtifactId: qbusiness - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-marketplacecommerceanalytics newGroupId: software.amazon.awssdk newArtifactId: marketplacecommerceanalytics - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-synthetics newGroupId: software.amazon.awssdk newArtifactId: synthetics - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-apptest newGroupId: software.amazon.awssdk newArtifactId: apptest - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-costexplorer newGroupId: software.amazon.awssdk newArtifactId: costexplorer - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotsecuretunneling newGroupId: software.amazon.awssdk newArtifactId: iotsecuretunneling - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudfront newGroupId: software.amazon.awssdk newArtifactId: cloudfront - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-location newGroupId: software.amazon.awssdk newArtifactId: location - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-wafv2 newGroupId: software.amazon.awssdk newArtifactId: wafv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-opensearch newGroupId: software.amazon.awssdk newArtifactId: opensearch - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ec2instanceconnect newGroupId: software.amazon.awssdk newArtifactId: ec2instanceconnect - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotthingsgraph newGroupId: software.amazon.awssdk newArtifactId: iotthingsgraph - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-repostspace newGroupId: software.amazon.awssdk newArtifactId: repostspace - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53recoveryreadiness newGroupId: software.amazon.awssdk newArtifactId: route53recoveryreadiness - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-health newGroupId: software.amazon.awssdk newArtifactId: health - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-workmailmessageflow newGroupId: software.amazon.awssdk newArtifactId: workmailmessageflow - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-comprehendmedical newGroupId: software.amazon.awssdk newArtifactId: comprehendmedical - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotfleetwise newGroupId: software.amazon.awssdk newArtifactId: iotfleetwise - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53profiles newGroupId: software.amazon.awssdk newArtifactId: route53profiles - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bcmdataexports newGroupId: software.amazon.awssdk newArtifactId: bcmdataexports - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-accessanalyzer newGroupId: software.amazon.awssdk newArtifactId: accessanalyzer - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-glacier newGroupId: software.amazon.awssdk newArtifactId: glacier - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lightsail newGroupId: software.amazon.awssdk newArtifactId: lightsail - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudwatchrum newGroupId: software.amazon.awssdk newArtifactId: rum - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-inspectorscan newGroupId: software.amazon.awssdk newArtifactId: inspectorscan - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-imagebuilder newGroupId: software.amazon.awssdk newArtifactId: imagebuilder - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sagemakermetrics newGroupId: software.amazon.awssdk newArtifactId: sagemakermetrics - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bedrockagent newGroupId: software.amazon.awssdk newArtifactId: bedrockagent - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-migrationhub newGroupId: software.amazon.awssdk newArtifactId: migrationhub - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-simspaceweaver newGroupId: software.amazon.awssdk newArtifactId: simspaceweaver - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elasticbeanstalk newGroupId: software.amazon.awssdk newArtifactId: elasticbeanstalk - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-freetier newGroupId: software.amazon.awssdk newArtifactId: freetier - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudsearch newGroupId: software.amazon.awssdk newArtifactId: cloudsearchdomain - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-neptune newGroupId: software.amazon.awssdk newArtifactId: neptune - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-supportapp newGroupId: software.amazon.awssdk newArtifactId: supportapp - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-transfer newGroupId: software.amazon.awssdk newArtifactId: transfer - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-deadline newGroupId: software.amazon.awssdk newArtifactId: deadline - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-braket newGroupId: software.amazon.awssdk newArtifactId: braket - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-verifiedpermissions newGroupId: software.amazon.awssdk newArtifactId: verifiedpermissions - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-scheduler newGroupId: software.amazon.awssdk newArtifactId: scheduler - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-marketplacedeployment newGroupId: software.amazon.awssdk newArtifactId: marketplacedeployment - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-resourcegroups newGroupId: software.amazon.awssdk newArtifactId: resourcegroups - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-qldb newGroupId: software.amazon.awssdk newArtifactId: qldb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-dms newGroupId: software.amazon.awssdk newArtifactId: databasemigration - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ecr newGroupId: software.amazon.awssdk newArtifactId: ecr - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-dynamodb newGroupId: software.amazon.awssdk newArtifactId: dynamodb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-resiliencehub newGroupId: software.amazon.awssdk newArtifactId: resiliencehub - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-qldbsession newGroupId: software.amazon.awssdk newArtifactId: qldbsession - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53 newGroupId: software.amazon.awssdk newArtifactId: route53domains - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-macie2 newGroupId: software.amazon.awssdk newArtifactId: macie2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chimesdkmeetings newGroupId: software.amazon.awssdk newArtifactId: chimesdkmeetings - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-applicationautoscaling newGroupId: software.amazon.awssdk newArtifactId: applicationautoscaling - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-entityresolution newGroupId: software.amazon.awssdk newArtifactId: entityresolution - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-s3outposts newGroupId: software.amazon.awssdk newArtifactId: s3outposts - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-managedgrafana newGroupId: software.amazon.awssdk newArtifactId: grafana - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-storagegateway newGroupId: software.amazon.awssdk newArtifactId: storagegateway - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-recyclebin newGroupId: software.amazon.awssdk newArtifactId: rbin - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ioteventsdata newGroupId: software.amazon.awssdk newArtifactId: ioteventsdata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53recoverycluster newGroupId: software.amazon.awssdk newArtifactId: route53recoverycluster - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ecs newGroupId: software.amazon.awssdk newArtifactId: ecs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elasticloadbalancing newGroupId: software.amazon.awssdk newArtifactId: elasticloadbalancing - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-connectcontactlens newGroupId: software.amazon.awssdk newArtifactId: connectcontactlens - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chimesdkmediapipelines newGroupId: software.amazon.awssdk newArtifactId: chimesdkmediapipelines - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesisvideosignalingchannels newGroupId: software.amazon.awssdk newArtifactId: kinesisvideosignaling - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-qconnect newGroupId: software.amazon.awssdk newArtifactId: qconnect - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kendraranking newGroupId: software.amazon.awssdk newArtifactId: kendraranking - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudsearch newGroupId: software.amazon.awssdk newArtifactId: cloudsearch - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-logs newGroupId: software.amazon.awssdk newArtifactId: cloudwatchlogs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appfabric newGroupId: software.amazon.awssdk newArtifactId: appfabric - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lookoutforvision newGroupId: software.amazon.awssdk newArtifactId: lookoutvision - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53resolver newGroupId: software.amazon.awssdk newArtifactId: route53resolver - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-workspaces newGroupId: software.amazon.awssdk newArtifactId: workspaces - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-machinelearning newGroupId: software.amazon.awssdk newArtifactId: machinelearning - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-costandusagereport newGroupId: software.amazon.awssdk newArtifactId: costandusagereport - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-taxsettings newGroupId: software.amazon.awssdk newArtifactId: taxsettings - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-fsx newGroupId: software.amazon.awssdk newArtifactId: fsx - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codepipeline newGroupId: software.amazon.awssdk newArtifactId: codepipeline - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elasticloadbalancingv2 newGroupId: software.amazon.awssdk newArtifactId: elasticloadbalancingv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-directory newGroupId: software.amazon.awssdk newArtifactId: directory - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bedrockruntime newGroupId: software.amazon.awssdk newArtifactId: bedrockruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codestarnotifications newGroupId: software.amazon.awssdk newArtifactId: codestarnotifications - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-schemas newGroupId: software.amazon.awssdk newArtifactId: schemas - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sqs newGroupId: software.amazon.awssdk newArtifactId: sqs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appregistry newGroupId: software.amazon.awssdk newArtifactId: servicecatalogappregistry - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appmesh newGroupId: software.amazon.awssdk newArtifactId: appmesh - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-migrationhuborchestrator newGroupId: software.amazon.awssdk newArtifactId: migrationhuborchestrator - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-discovery newGroupId: software.amazon.awssdk newArtifactId: applicationdiscovery - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iot newGroupId: software.amazon.awssdk newArtifactId: iot - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesisvideowebrtcstorage newGroupId: software.amazon.awssdk newArtifactId: kinesisvideowebrtcstorage - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ebs newGroupId: software.amazon.awssdk newArtifactId: ebs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-amplify newGroupId: software.amazon.awssdk newArtifactId: amplify - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudcontrolapi newGroupId: software.amazon.awssdk newArtifactId: cloudcontrol - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-wellarchitected newGroupId: software.amazon.awssdk newArtifactId: wellarchitected - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-marketplaceentitlement newGroupId: software.amazon.awssdk newArtifactId: marketplaceentitlement - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bedrock newGroupId: software.amazon.awssdk newArtifactId: bedrock - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-redshift newGroupId: software.amazon.awssdk newArtifactId: redshift - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-connectcases newGroupId: software.amazon.awssdk newArtifactId: connectcases - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appflow newGroupId: software.amazon.awssdk newArtifactId: appflow - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-gamelift newGroupId: software.amazon.awssdk newArtifactId: gamelift - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudtrail newGroupId: software.amazon.awssdk newArtifactId: cloudtrail - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-supplychain newGroupId: software.amazon.awssdk newArtifactId: supplychain - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pipes newGroupId: software.amazon.awssdk newArtifactId: pipes - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudwatchevidently newGroupId: software.amazon.awssdk newArtifactId: evidently - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-amplifyuibuilder newGroupId: software.amazon.awssdk newArtifactId: amplifyuibuilder - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-managedblockchainquery newGroupId: software.amazon.awssdk newArtifactId: managedblockchainquery - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-applicationinsights newGroupId: software.amazon.awssdk newArtifactId: applicationinsights - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chimesdkmessaging newGroupId: software.amazon.awssdk newArtifactId: chimesdkmessaging - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediatailor newGroupId: software.amazon.awssdk newArtifactId: mediatailor - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediapackagev2 newGroupId: software.amazon.awssdk newArtifactId: mediapackagev2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-resourceexplorer2 newGroupId: software.amazon.awssdk newArtifactId: resourceexplorer2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pi newGroupId: software.amazon.awssdk newArtifactId: pi - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-emrserverless newGroupId: software.amazon.awssdk newArtifactId: emrserverless - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appconfig newGroupId: software.amazon.awssdk newArtifactId: appconfig - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-networkmonitor newGroupId: software.amazon.awssdk newArtifactId: networkmonitor - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sagemakerfeaturestoreruntime newGroupId: software.amazon.awssdk newArtifactId: sagemakerfeaturestoreruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chimesdkidentity newGroupId: software.amazon.awssdk newArtifactId: chimesdkidentity - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-computeoptimizer newGroupId: software.amazon.awssdk newArtifactId: computeoptimizer - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-connectparticipant newGroupId: software.amazon.awssdk newArtifactId: connectparticipant - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mgn newGroupId: software.amazon.awssdk newArtifactId: mgn - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-applicationcostprofiler newGroupId: software.amazon.awssdk newArtifactId: applicationcostprofiler - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-new-service-template newGroupId: software.amazon.awssdk newArtifactId: new-service-template - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-keyspaces newGroupId: software.amazon.awssdk newArtifactId: keyspaces - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iam newGroupId: software.amazon.awssdk newArtifactId: iam - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-networkfirewall newGroupId: software.amazon.awssdk newArtifactId: networkfirewall - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-redshiftdataapi newGroupId: software.amazon.awssdk newArtifactId: redshiftdata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediastore newGroupId: software.amazon.awssdk newArtifactId: mediastore - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloud9 newGroupId: software.amazon.awssdk newArtifactId: cloud9 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-connectwisdom newGroupId: software.amazon.awssdk newArtifactId: wisdom - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sso newGroupId: software.amazon.awssdk newArtifactId: sso - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-auditmanager newGroupId: software.amazon.awssdk newArtifactId: auditmanager - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-snowball newGroupId: software.amazon.awssdk newArtifactId: snowball - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesis newGroupId: software.amazon.awssdk newArtifactId: kinesisanalytics - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53recoverycontrolconfig newGroupId: software.amazon.awssdk newArtifactId: route53recoverycontrolconfig - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-opsworks newGroupId: software.amazon.awssdk newArtifactId: opsworks - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-identitystore newGroupId: software.amazon.awssdk newArtifactId: identitystore - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-connectcampaign newGroupId: software.amazon.awssdk newArtifactId: connectcampaigns - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-textract newGroupId: software.amazon.awssdk newArtifactId: textract - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-redshiftserverless newGroupId: software.amazon.awssdk newArtifactId: redshiftserverless - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-eks newGroupId: software.amazon.awssdk newArtifactId: eks - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-support newGroupId: software.amazon.awssdk newArtifactId: support - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mechanicalturkrequester newGroupId: software.amazon.awssdk newArtifactId: mturk - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-apigatewayv2 newGroupId: software.amazon.awssdk newArtifactId: apigatewayv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-devopsguru newGroupId: software.amazon.awssdk newArtifactId: devopsguru - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-prometheus newGroupId: software.amazon.awssdk newArtifactId: amp - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-drs newGroupId: software.amazon.awssdk newArtifactId: drs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-migrationhubconfig newGroupId: software.amazon.awssdk newArtifactId: migrationhubconfig - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kafkaconnect newGroupId: software.amazon.awssdk newArtifactId: kafkaconnect - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kafka newGroupId: software.amazon.awssdk newArtifactId: kafka - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-gluedatabrew newGroupId: software.amazon.awssdk newArtifactId: databrew - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codedeploy newGroupId: software.amazon.awssdk newArtifactId: codedeploy - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudhsmv2 newGroupId: software.amazon.awssdk newArtifactId: cloudhsmv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-batch newGroupId: software.amazon.awssdk newArtifactId: batch - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-savingsplans newGroupId: software.amazon.awssdk newArtifactId: savingsplans - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-migrationhubstrategyrecommendations newGroupId: software.amazon.awssdk newArtifactId: migrationhubstrategy - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appsync newGroupId: software.amazon.awssdk newArtifactId: appsync - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-backupgateway newGroupId: software.amazon.awssdk newArtifactId: backupgateway - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-dlm newGroupId: software.amazon.awssdk newArtifactId: dlm - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-amplifybackend newGroupId: software.amazon.awssdk newArtifactId: amplifybackend - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-datazoneexternal newGroupId: software.amazon.awssdk newArtifactId: datazone - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-billingconductor newGroupId: software.amazon.awssdk newArtifactId: billingconductor - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-workspacesthinclient newGroupId: software.amazon.awssdk newArtifactId: workspacesthinclient - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssmsap newGroupId: software.amazon.awssdk newArtifactId: ssmsap - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-budgets newGroupId: software.amazon.awssdk newArtifactId: budgets - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mainframemodernization newGroupId: software.amazon.awssdk newArtifactId: m2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-finspace newGroupId: software.amazon.awssdk newArtifactId: finspace - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-detective newGroupId: software.amazon.awssdk newArtifactId: detective - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lambda newGroupId: software.amazon.awssdk newArtifactId: lambda - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssooidc newGroupId: software.amazon.awssdk newArtifactId: ssooidc - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-panorama newGroupId: software.amazon.awssdk newArtifactId: panorama - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotevents newGroupId: software.amazon.awssdk newArtifactId: iotevents - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-managedblockchain newGroupId: software.amazon.awssdk newArtifactId: managedblockchain - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-servicediscovery newGroupId: software.amazon.awssdk newArtifactId: servicediscovery - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-waf newGroupId: software.amazon.awssdk newArtifactId: waf - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ivs newGroupId: software.amazon.awssdk newArtifactId: ivs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-directconnect newGroupId: software.amazon.awssdk newArtifactId: directconnect - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mq newGroupId: software.amazon.awssdk newArtifactId: mq - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pinpointsmsvoicev2 newGroupId: software.amazon.awssdk newArtifactId: pinpointsmsvoicev2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-internetmonitor newGroupId: software.amazon.awssdk newArtifactId: internetmonitor - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-artifact newGroupId: software.amazon.awssdk newArtifactId: artifact - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotsitewise newGroupId: software.amazon.awssdk newArtifactId: iotsitewise - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lexmodelsv2 newGroupId: software.amazon.awssdk newArtifactId: lexmodelsv2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lexruntimev2 newGroupId: software.amazon.awssdk newArtifactId: lexruntimev2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-serverlessapplicationrepository newGroupId: software.amazon.awssdk newArtifactId: serverlessapplicationrepository - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-eksauth newGroupId: software.amazon.awssdk newArtifactId: eksauth - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-snowdevicemanagement newGroupId: software.amazon.awssdk newArtifactId: snowdevicemanagement - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-clouddirectory newGroupId: software.amazon.awssdk newArtifactId: clouddirectory - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-mediapackagevod newGroupId: software.amazon.awssdk newArtifactId: mediapackagevod - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codestarconnections newGroupId: software.amazon.awssdk newArtifactId: codestarconnections - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codeartifact newGroupId: software.amazon.awssdk newArtifactId: codeartifact - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-guardduty newGroupId: software.amazon.awssdk newArtifactId: guardduty - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-worklink newGroupId: software.amazon.awssdk newArtifactId: worklink - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cleanrooms newGroupId: software.amazon.awssdk newArtifactId: cleanrooms - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-customerprofiles newGroupId: software.amazon.awssdk newArtifactId: customerprofiles - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-trustedadvisor newGroupId: software.amazon.awssdk newArtifactId: trustedadvisor - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-dax newGroupId: software.amazon.awssdk newArtifactId: dax - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-opsworkscm newGroupId: software.amazon.awssdk newArtifactId: opsworkscm - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-docdb newGroupId: software.amazon.awssdk newArtifactId: docdb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-acmpca newGroupId: software.amazon.awssdk newArtifactId: acmpca - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kinesis newGroupId: software.amazon.awssdk newArtifactId: firehose - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ivschat newGroupId: software.amazon.awssdk newArtifactId: ivschat - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-globalaccelerator newGroupId: software.amazon.awssdk newArtifactId: globalaccelerator - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ses newGroupId: software.amazon.awssdk newArtifactId: ses - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codegurureviewer newGroupId: software.amazon.awssdk newArtifactId: codegurureviewer - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lexmodelbuilding newGroupId: software.amazon.awssdk newArtifactId: lexmodelbuilding - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-medicalimaging newGroupId: software.amazon.awssdk newArtifactId: medicalimaging - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-account newGroupId: software.amazon.awssdk newArtifactId: account - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-robomaker newGroupId: software.amazon.awssdk newArtifactId: robomaker - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lex newGroupId: software.amazon.awssdk newArtifactId: lexruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-autoscaling newGroupId: software.amazon.awssdk newArtifactId: autoscaling - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-nimblestudio newGroupId: software.amazon.awssdk newArtifactId: nimble - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotjobsdataplane newGroupId: software.amazon.awssdk newArtifactId: iotjobsdataplane - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appconfigdata newGroupId: software.amazon.awssdk newArtifactId: appconfigdata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-controlcatalog newGroupId: software.amazon.awssdk newArtifactId: controlcatalog - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-greengrass newGroupId: software.amazon.awssdk newArtifactId: greengrass - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-securityhub newGroupId: software.amazon.awssdk newArtifactId: securityhub - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-timestreamquery newGroupId: software.amazon.awssdk newArtifactId: timestreamquery - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-backup newGroupId: software.amazon.awssdk newArtifactId: backup - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-opensearchserverless newGroupId: software.amazon.awssdk newArtifactId: opensearchserverless - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cloudformation newGroupId: software.amazon.awssdk newArtifactId: cloudformation - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-kendra newGroupId: software.amazon.awssdk newArtifactId: kendra - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-connect newGroupId: software.amazon.awssdk newArtifactId: connect - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elasticache newGroupId: software.amazon.awssdk newArtifactId: elasticache - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-stepfunctions newGroupId: software.amazon.awssdk newArtifactId: sfn - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-cognitoidp newGroupId: software.amazon.awssdk newArtifactId: cognitoidentityprovider - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-chimesdkvoice newGroupId: software.amazon.awssdk newArtifactId: chimesdkvoice - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-workspacesweb newGroupId: software.amazon.awssdk newArtifactId: workspacesweb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-comprehend newGroupId: software.amazon.awssdk newArtifactId: comprehend - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-applicationsignals newGroupId: software.amazon.awssdk newArtifactId: applicationsignals - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-marketplacemeteringservice newGroupId: software.amazon.awssdk newArtifactId: marketplacemetering - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-devicefarm newGroupId: software.amazon.awssdk newArtifactId: devicefarm - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-rekognition newGroupId: software.amazon.awssdk newArtifactId: rekognition - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-appstream newGroupId: software.amazon.awssdk newArtifactId: appstream - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-polly newGroupId: software.amazon.awssdk newArtifactId: polly - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-rds newGroupId: software.amazon.awssdk newArtifactId: rds - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-pricing newGroupId: software.amazon.awssdk newArtifactId: pricing - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-simpleworkflow newGroupId: software.amazon.awssdk newArtifactId: swf - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-events newGroupId: software.amazon.awssdk newArtifactId: cloudwatchevents - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssmquicksetup newGroupId: software.amazon.awssdk newArtifactId: ssmquicksetup - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-autoscalingplans newGroupId: software.amazon.awssdk newArtifactId: autoscalingplans - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-datapipeline newGroupId: software.amazon.awssdk newArtifactId: datapipeline - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-transcribe newGroupId: software.amazon.awssdk newArtifactId: transcribe - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ivsrealtime newGroupId: software.amazon.awssdk newArtifactId: ivsrealtime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-personalizeruntime newGroupId: software.amazon.awssdk newArtifactId: personalizeruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-elasticsearch newGroupId: software.amazon.awssdk newArtifactId: elasticsearch - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codecommit newGroupId: software.amazon.awssdk newArtifactId: codecommit - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-resourcegroupstaggingapi newGroupId: software.amazon.awssdk newArtifactId: resourcegroupstaggingapi - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-forecastquery newGroupId: software.amazon.awssdk newArtifactId: forecastquery - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-healthlake newGroupId: software.amazon.awssdk newArtifactId: healthlake - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iamrolesanywhere newGroupId: software.amazon.awssdk newArtifactId: rolesanywhere - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-personalizeevents newGroupId: software.amazon.awssdk newArtifactId: personalizeevents - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-apigatewaymanagementapi newGroupId: software.amazon.awssdk newArtifactId: apigatewaymanagementapi - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-launchwizard newGroupId: software.amazon.awssdk newArtifactId: launchwizard - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-xray newGroupId: software.amazon.awssdk newArtifactId: xray - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ssoadmin newGroupId: software.amazon.awssdk newArtifactId: ssoadmin - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-api-gateway newGroupId: software.amazon.awssdk newArtifactId: apigateway - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-migrationhubrefactorspaces newGroupId: software.amazon.awssdk newArtifactId: migrationhubrefactorspaces - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ram newGroupId: software.amazon.awssdk newArtifactId: ram - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codeconnections newGroupId: software.amazon.awssdk newArtifactId: codeconnections - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-efs newGroupId: software.amazon.awssdk newArtifactId: efs - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bedrockagentruntime newGroupId: software.amazon.awssdk newArtifactId: bedrockagentruntime - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-dataexchange newGroupId: software.amazon.awssdk newArtifactId: dataexchange - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sts newGroupId: software.amazon.awssdk newArtifactId: sts - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-sagemaker newGroupId: software.amazon.awssdk newArtifactId: sagemaker - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-finspacedata newGroupId: software.amazon.awssdk newArtifactId: finspacedata - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-marketplacecatalog newGroupId: software.amazon.awssdk newArtifactId: marketplacecatalog - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-acm newGroupId: software.amazon.awssdk newArtifactId: acm - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-athena newGroupId: software.amazon.awssdk newArtifactId: athena - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-route53 newGroupId: software.amazon.awssdk newArtifactId: route53 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-codegurusecurity newGroupId: software.amazon.awssdk newArtifactId: codegurusecurity - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-tnb newGroupId: software.amazon.awssdk newArtifactId: tnb - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-ec2 newGroupId: software.amazon.awssdk newArtifactId: ec2 - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-apprunner newGroupId: software.amazon.awssdk newArtifactId: apprunner - newVersion: 2.35.2 + newVersion: 2.35.9 - org.openrewrite.java.dependencies.ChangeDependency: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lookoutmetrics newGroupId: software.amazon.awssdk newArtifactId: lookoutmetrics - newVersion: 2.35.2 + newVersion: 2.35.9 ``` diff --git a/docs/recipes/spring/README.md b/docs/recipes/spring/README.md deleted file mode 100644 index 6983317503..0000000000 --- a/docs/recipes/spring/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Spring - -## Categories - -* [Webxml](/recipes/spring/webxml) - - diff --git a/docs/recipes/spring/webxml/README.md b/docs/recipes/spring/webxml/README.md deleted file mode 100644 index 28e5dc3f2f..0000000000 --- a/docs/recipes/spring/webxml/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Webxml - -## Composite Recipes - -_Recipes that include further recipes, often including the individual recipes below._ - -* [Migrate `web.xml` to Java Configuration](./removewebxml.md) - -## Recipes - -* [Migrate `web.xml` using Jakarta EE](./migratetojakartaeeservletconfiguration.md) -* [Migrate `web.xml` using Java EE](./migratetojavaxservletconfiguration.md) - - diff --git a/docs/recipes/staticanalysis/commonstaticanalysis.md b/docs/recipes/staticanalysis/commonstaticanalysis.md index a93d7caba8..edc3355c7e 100644 --- a/docs/recipes/staticanalysis/commonstaticanalysis.md +++ b/docs/recipes/staticanalysis/commonstaticanalysis.md @@ -189,6 +189,109 @@ recipeList: ``` +## Examples +##### Example 1 +`CommonStaticAnalysisIssuesPerformanceTest#indexOfOnList` + + + + + + +###### Before +```java +import java.util.List; + +class Test { + static boolean hasIndex(List strList, String str) { + if (strList.indexOf(str) > 0) { + } + return strList.indexOf(str) > 0; + } +} +``` + +###### After +```java +import java.util.List; + +class Test { + static boolean hasIndex(List strList, String str) { + strList.indexOf(str); + return strList.indexOf(str) >= 1; + } +} +``` + + + + +```diff +@@ -5,3 +5,2 @@ +class Test { + static boolean hasIndex(List strList, String str) { +- if (strList.indexOf(str) > 0) { +- } +- return strList.indexOf(str) > 0; ++ strList.indexOf(str); ++ return strList.indexOf(str) >= 1; + } +``` + + + +--- + +##### Example 2 +`CommonStaticAnalysisIssuesPerformanceTest#indexOfOnList` + + + + + + +###### Before +```java +import java.util.List; + +class Test { + static boolean hasIndex(List strList, String str) { + if (strList.indexOf(str) > 0) { + } + return strList.indexOf(str) > 0; + } +} +``` + +###### After +```java +import java.util.List; + +class Test { + static boolean hasIndex(List strList, String str) { + strList.indexOf(str); + return strList.indexOf(str) >= 1; + } +} +``` + + + + +```diff +@@ -5,3 +5,2 @@ +class Test { + static boolean hasIndex(List strList, String str) { +- if (strList.indexOf(str) > 0) { +- } +- return strList.indexOf(str) > 0; ++ strList.indexOf(str); ++ return strList.indexOf(str) >= 1; + } +``` + + + ## Usage diff --git a/docs/recipes/staticanalysis/equalsavoidsnull.md b/docs/recipes/staticanalysis/equalsavoidsnull.md index 4ebd7d8bbd..13f73ac7e9 100644 --- a/docs/recipes/staticanalysis/equalsavoidsnull.md +++ b/docs/recipes/staticanalysis/equalsavoidsnull.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; **org.openrewrite.staticanalysis.EqualsAvoidsNull** -_Checks that any combination of String literals is on the left side of an `equals()` comparison. Also checks for String literals assigned to some field (such as `someString.equals(anotherString = "text"))`._ +_Checks that any combination of String literals is on the left side of an `equals()` comparison. Also checks for String literals assigned to some field (such as `someString.equals(anotherString = "text"))`. And removes redundant null checks in conjunction with equals comparisons._ ### Tags diff --git a/docs/recipes/tech/picnic/errorprone/refasterrules/assertjstreamrulesrecipes.md b/docs/recipes/tech/picnic/errorprone/refasterrules/assertjstreamrulesrecipes.md index 515de15191..f6424386ea 100644 --- a/docs/recipes/tech/picnic/errorprone/refasterrules/assertjstreamrulesrecipes.md +++ b/docs/recipes/tech/picnic/errorprone/refasterrules/assertjstreamrulesrecipes.md @@ -54,6 +54,13 @@ recipeList:
+## Used by + +This recipe is used as part of the following composite recipes: + +* [All Picnic Refaster rules](/recipes/tech/picnic/errorprone/refasterrules/tech/picnic/errorprone/refasterrules/allrefasterrules.md) + + ## Usage This recipe has no required configuration options. It can be activated by adding a dependency on `org.openrewrite.recipe:rewrite-third-party` in your build file or by running a shell command (in which case no build changes are needed): diff --git a/docs/recipes/tech/picnic/errorprone/refasterrules/tech/picnic/errorprone/refasterrules/allrefasterrules.md b/docs/recipes/tech/picnic/errorprone/refasterrules/tech/picnic/errorprone/refasterrules/allrefasterrules.md index 5e01fb35ec..bd19c3bd29 100644 --- a/docs/recipes/tech/picnic/errorprone/refasterrules/tech/picnic/errorprone/refasterrules/allrefasterrules.md +++ b/docs/recipes/tech/picnic/errorprone/refasterrules/tech/picnic/errorprone/refasterrules/allrefasterrules.md @@ -36,6 +36,7 @@ This recipe is available under the [Apache License Version 2.0](https://www.apac * [`AssertJIntegerRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/assertjintegerrulesrecipes) * [`AssertJLongRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/assertjlongrulesrecipes) * [`AssertJShortRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/assertjshortrulesrecipes) +* [`AssertJStreamRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/assertjstreamrulesrecipes) * [`AssortedRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/assortedrulesrecipes) * [`BigDecimalRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/bigdecimalrulesrecipes) * [`BugCheckerRules` Refaster recipes](../../../../../../../../tech/picnic/errorprone/refasterrules/bugcheckerrulesrecipes) @@ -98,6 +99,7 @@ recipeList: - tech.picnic.errorprone.refasterrules.AssertJIntegerRulesRecipes - tech.picnic.errorprone.refasterrules.AssertJLongRulesRecipes - tech.picnic.errorprone.refasterrules.AssertJShortRulesRecipes + - tech.picnic.errorprone.refasterrules.AssertJStreamRulesRecipes - tech.picnic.errorprone.refasterrules.AssortedRulesRecipes - tech.picnic.errorprone.refasterrules.BigDecimalRulesRecipes - tech.picnic.errorprone.refasterrules.BugCheckerRulesRecipes diff --git a/docs/recipes/toml/README.md b/docs/recipes/toml/README.md new file mode 100644 index 0000000000..c066e5b4ec --- /dev/null +++ b/docs/recipes/toml/README.md @@ -0,0 +1,16 @@ +# Toml + +## Recipes + +* [Change TOML key](./changekey.md) +* [Change TOML table row value](./changetablerowvalue.md) +* [Change TOML value](./changevalue.md) +* [Create TOML file](./createtomlfile.md) +* [Delete TOML key](./deletekey.md) +* [Delete TOML table](./deletetable.md) +* [Delete TOML table row](./deletetablerow.md) +* [Find TOML keys](./findkey.md) +* [Merge TOML table row](./mergetablerow.md) +* [Replace TOML table row](./replacetablerow.md) + + diff --git a/docs/recipes/toml/changekey.md b/docs/recipes/toml/changekey.md new file mode 100644 index 0000000000..72d6f5968d --- /dev/null +++ b/docs/recipes/toml/changekey.md @@ -0,0 +1,170 @@ +--- +sidebar_label: "Change TOML key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Change TOML key + +**org.openrewrite.toml.ChangeKey** + +_Change a TOML key, while leaving the value intact._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/ChangeKey.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | oldKeyPath | A TOML path expression to locate a key. | `package.name` | +| `String` | newKey | The new name for the key. | `project-name` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ChangeKeyExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ChangeKeyExample +displayName: Change TOML key example +recipeList: + - org.openrewrite.toml.ChangeKey: + oldKeyPath: package.name + newKey: project-name +``` + +Now that `com.yourorg.ChangeKeyExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ChangeKeyExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ChangeKeyExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ChangeKey --recipe-option "oldKeyPath=package.name" --recipe-option "newKey=project-name" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/changetablerowvalue.md b/docs/recipes/toml/changetablerowvalue.md new file mode 100644 index 0000000000..81c3efb6ac --- /dev/null +++ b/docs/recipes/toml/changetablerowvalue.md @@ -0,0 +1,177 @@ +--- +sidebar_label: "Change TOML table row value" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Change TOML table row value + +**org.openrewrite.toml.ChangeTableRowValue** + +_Change a value in a TOML table row when the identifying property matches the specified matcher._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/ChangeTableRowValue.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | tableName | The name of the TOML array table containing the row to update. | `package.contributors` | +| `String` | identifyingKey | The key within a table row to match on. | `name` | +| `String` | identifyingValue | The value to match. Can be a regular expression if useRegex is true. | `Alice Smith` | +| `Boolean` | useRegex | *Optional*. Whether to interpret the identifying value as a regular expression. Default is false. | | +| `String` | propertyKey | The key of the property to update within the matched row. | `email` | +| `String` | newValue | *Optional*. The new value to set for the property. If null, the property will be removed. | `"alice.new@example.com"` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ChangeTableRowValueExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ChangeTableRowValueExample +displayName: Change TOML table row value example +recipeList: + - org.openrewrite.toml.ChangeTableRowValue: + tableName: package.contributors + identifyingKey: name + identifyingValue: Alice Smith + propertyKey: email + newValue: "alice.new@example.com" +``` + +Now that `com.yourorg.ChangeTableRowValueExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ChangeTableRowValueExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ChangeTableRowValueExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ChangeTableRowValue --recipe-option "tableName=package.contributors" --recipe-option "identifyingKey=name" --recipe-option "identifyingValue=Alice Smith" --recipe-option "propertyKey=email" --recipe-option "newValue="alice.new@example.com"" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/changevalue.md b/docs/recipes/toml/changevalue.md new file mode 100644 index 0000000000..3d08129eb3 --- /dev/null +++ b/docs/recipes/toml/changevalue.md @@ -0,0 +1,170 @@ +--- +sidebar_label: "Change TOML value" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Change TOML value + +**org.openrewrite.toml.ChangeValue** + +_Change the value of a TOML key._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/ChangeValue.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | keyPath | A TOML path expression to locate a key. | `package.version` | +| `String` | newValue | The new value for the key. | `"2.0.0"` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ChangeValueExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ChangeValueExample +displayName: Change TOML value example +recipeList: + - org.openrewrite.toml.ChangeValue: + keyPath: package.version + newValue: "2.0.0" +``` + +Now that `com.yourorg.ChangeValueExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ChangeValueExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ChangeValueExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ChangeValue --recipe-option "keyPath=package.version" --recipe-option "newValue="2.0.0"" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/createtomlfile.md b/docs/recipes/toml/createtomlfile.md new file mode 100644 index 0000000000..46b76c51e0 --- /dev/null +++ b/docs/recipes/toml/createtomlfile.md @@ -0,0 +1,179 @@ +--- +sidebar_label: "Create TOML file" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Create TOML file + +**org.openrewrite.toml.CreateTomlFile** + +_Create a new TOML file._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/CreateTomlFile.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | relativeFileName | File path of the new file. | `pyproject.toml` | +| `String` | fileContents | *Optional*. Multiline text content for the file. |
[tool.poetry]
name = "my-project"
version = "0.1.0"
| +| `String` | fileContentsUrl | *Optional*. URL to fetch the TOML file contents from a remote source. | `https://raw.githubusercontent.com/example/repo/main/pyproject.toml` | +| `Boolean` | overwriteExisting | *Optional*. If there is an existing file, should it be overwritten? | | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.CreateTomlFileExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.CreateTomlFileExample +displayName: Create TOML file example +recipeList: + - org.openrewrite.toml.CreateTomlFile: + relativeFileName: pyproject.toml + fileContents: > + [tool.poetry] + name = "my-project" + version = "0.1.0" + fileContentsUrl: https://raw.githubusercontent.com/example/repo/main/pyproject.toml +``` + +Now that `com.yourorg.CreateTomlFileExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.CreateTomlFileExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.CreateTomlFileExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + + You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + + ```shell title="shell" + mod run . --recipe CreateTomlFile --recipe-option "relativeFileName=pyproject.toml" --recipe-option "fileContents=> +[tool.poetry] +name = "my-project" +version = "0.1.0"" --recipe-option "fileContentsUrl=https://raw.githubusercontent.com/example/repo/main/pyproject.toml" + ``` + + If the recipe is not available locally, then you can install it using: + ```shell + mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} + ``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/deletekey.md b/docs/recipes/toml/deletekey.md new file mode 100644 index 0000000000..188dccaf06 --- /dev/null +++ b/docs/recipes/toml/deletekey.md @@ -0,0 +1,168 @@ +--- +sidebar_label: "Delete TOML key" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Delete TOML key + +**org.openrewrite.toml.DeleteKey** + +_Delete a TOML key-value pair._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/DeleteKey.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | keyPath | A TOML path expression to locate a key. | `package.keywords` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.DeleteKeyExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.DeleteKeyExample +displayName: Delete TOML key example +recipeList: + - org.openrewrite.toml.DeleteKey: + keyPath: package.keywords +``` + +Now that `com.yourorg.DeleteKeyExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.DeleteKeyExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.DeleteKeyExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe DeleteKey --recipe-option "keyPath=package.keywords" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/deletetable.md b/docs/recipes/toml/deletetable.md new file mode 100644 index 0000000000..6927ef816d --- /dev/null +++ b/docs/recipes/toml/deletetable.md @@ -0,0 +1,168 @@ +--- +sidebar_label: "Delete TOML table" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Delete TOML table + +**org.openrewrite.toml.DeleteTable** + +_Delete a TOML table._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/DeleteTable.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | tableName | The name of the TOML table to delete. | `dependencies` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.DeleteTableExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.DeleteTableExample +displayName: Delete TOML table example +recipeList: + - org.openrewrite.toml.DeleteTable: + tableName: dependencies +``` + +Now that `com.yourorg.DeleteTableExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.DeleteTableExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.DeleteTableExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe DeleteTable --recipe-option "tableName=dependencies" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/deletetablerow.md b/docs/recipes/toml/deletetablerow.md new file mode 100644 index 0000000000..8bd698acd7 --- /dev/null +++ b/docs/recipes/toml/deletetablerow.md @@ -0,0 +1,173 @@ +--- +sidebar_label: "Delete TOML table row" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Delete TOML table row + +**org.openrewrite.toml.DeleteTableRow** + +_Delete a TOML table row when one of its values matches the specified matcher._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/DeleteTableRow.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | tableName | The name of the TOML array table to delete (e.g., 'package.contributors'). | `package.contributors` | +| `String` | identifyingKey | The key within a table row to match on. | `name` | +| `String` | identifyingValue | The value to match. Can be a regular expression if useRegex is true. | `example-*` | +| `Boolean` | useRegex | *Optional*. Whether to interpret the value as a regular expression. Default is false. | | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.DeleteTableRowExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.DeleteTableRowExample +displayName: Delete TOML table row example +recipeList: + - org.openrewrite.toml.DeleteTableRow: + tableName: package.contributors + identifyingKey: name + identifyingValue: example-* +``` + +Now that `com.yourorg.DeleteTableRowExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.DeleteTableRowExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.DeleteTableRowExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe DeleteTableRow --recipe-option "tableName=package.contributors" --recipe-option "identifyingKey=name" --recipe-option "identifyingValue=example-*" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/findkey.md b/docs/recipes/toml/findkey.md new file mode 100644 index 0000000000..dbad3ce6bb --- /dev/null +++ b/docs/recipes/toml/findkey.md @@ -0,0 +1,168 @@ +--- +sidebar_label: "Find TOML keys" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Find TOML keys + +**org.openrewrite.toml.FindKey** + +_Find TOML keys matching a path expression._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/FindKey.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | keyPath | A TOML path expression to locate keys. Wildcards are supported. | `**.name` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.FindKeyExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.FindKeyExample +displayName: Find TOML keys example +recipeList: + - org.openrewrite.toml.FindKey: + keyPath: '**.name' +``` + +Now that `com.yourorg.FindKeyExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.FindKeyExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.FindKeyExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe FindKey --recipe-option "keyPath='**.name'" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/mergetablerow.md b/docs/recipes/toml/mergetablerow.md new file mode 100644 index 0000000000..54613960c3 --- /dev/null +++ b/docs/recipes/toml/mergetablerow.md @@ -0,0 +1,172 @@ +--- +sidebar_label: "Merge TOML table row" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Merge TOML table row + +**org.openrewrite.toml.MergeTableRow** + +_Merge a TOML row into an array table. If a row with the same identifying property exists, merge the values. Otherwise, insert a new row._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/MergeTableRow.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | tableName | The name of the TOML array table to merge into (e.g., 'package.contributors'). | `package.contributors` | +| `String` | row | The TOML key-value pairs to merge. Should contain the objectIdentifyingProperty. | `name = "Alice Smith"\nemail = "alice@example.com"` | +| `String` | identifyingKey | The property name used to match existing rows. When a row with this property value exists, it will be merged; otherwise, a new row is inserted. When the original row has more properties than the incoming row, these original properties are preserved. Entries with null values in the incoming row will result in the removal of the property from the original row. | `name` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.MergeTableRowExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.MergeTableRowExample +displayName: Merge TOML table row example +recipeList: + - org.openrewrite.toml.MergeTableRow: + tableName: package.contributors + row: name = "Alice Smith"\nemail = "alice@example.com" + identifyingKey: name +``` + +Now that `com.yourorg.MergeTableRowExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.MergeTableRowExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.MergeTableRowExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe MergeTableRow --recipe-option "tableName=package.contributors" --recipe-option "row=name = "Alice Smith"\nemail = "alice@example.com"" --recipe-option "identifyingKey=name" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/toml/replacetablerow.md b/docs/recipes/toml/replacetablerow.md new file mode 100644 index 0000000000..e8cf1cc1f5 --- /dev/null +++ b/docs/recipes/toml/replacetablerow.md @@ -0,0 +1,172 @@ +--- +sidebar_label: "Replace TOML table row" +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Replace TOML table row + +**org.openrewrite.toml.ReplaceTableRow** + +_Replace a TOML table row with new content. If a row with the same identifying property exists, replace it entirely._ + +## Recipe source + +[GitHub](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml/src/main/java/org/openrewrite/toml/ReplaceTableRow.java), +[Issue Tracker](https://github.com/openrewrite/rewrite/issues), +[Maven Central](https://central.sonatype.com/artifact/org.openrewrite/rewrite-toml/) + +This recipe is available under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +## Options + +| Type | Name | Description | Example | +| -- | -- | -- | -- | +| `String` | tableName | The name of the TOML array table to replace rows in (e.g., 'package.contributors'). | `package.contributors` | +| `String` | row | The TOML key-value pairs to replace with. Should contain the objectIdentifyingProperty. | `name = "Alice Smith"\nemail = "alice@example.com"` | +| `String` | identifyingKey | The property name used to match existing rows. When a row with this property value exists, it will be replaced; otherwise, a new row will not be inserted (see MergeTableRow). | `name` | + + +## Usage + +This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly (unless you are running them via the Moderne CLI). To activate this recipe you must create a new recipe which fills in the required parameters. In your `rewrite.yml` create a new recipe with a unique name. For example: `com.yourorg.ReplaceTableRowExample`. +Here's how you can define and customize such a recipe within your rewrite.yml: +```yaml title="rewrite.yml" +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.yourorg.ReplaceTableRowExample +displayName: Replace TOML table row example +recipeList: + - org.openrewrite.toml.ReplaceTableRow: + tableName: package.contributors + row: name = "Alice Smith"\nemail = "alice@example.com" + identifyingKey: name +``` + +Now that `com.yourorg.ReplaceTableRowExample` has been defined, activate it in your build file: + + + +1. Add the following to your `build.gradle` file: +```groovy title="build.gradle" +plugins { + id("org.openrewrite.rewrite") version("latest.release") +} + +rewrite { + activeRecipe("com.yourorg.ReplaceTableRowExample") + setExportDatatables(true) +} + +repositories { + mavenCentral() +} +``` +2. Run `gradle rewriteRun` to run the recipe. + + + +1. Add the following to your `pom.xml` file: + +```xml title="pom.xml" + + + + + org.openrewrite.maven + rewrite-maven-plugin + {{VERSION_REWRITE_MAVEN_PLUGIN}} + + true + + com.yourorg.ReplaceTableRowExample + + + + + + +``` +2. Run `mvn rewrite:run` to run the recipe. + + + +You will need to have configured the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) on your machine before you can run the following command. + +```shell title="shell" +mod run . --recipe ReplaceTableRow --recipe-option "tableName=package.contributors" --recipe-option "row=name = "Alice Smith"\nemail = "alice@example.com"" --recipe-option "identifyingKey=name" +``` + +If the recipe is not available locally, then you can install it using: +```shell +mod config recipes jar install org.openrewrite:rewrite-toml:{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}} +``` + + + +## See how this recipe works across multiple open-source repositories + +import RecipeCallout from '@site/src/components/ModerneLink'; + + + +The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories. + +Please [contact Moderne](https://moderne.io/product) for more information about safely running the recipes on your own codebase in a private SaaS. +## Data Tables + + + + +### Source files that had results +**org.openrewrite.table.SourcesFileResults** + +_Source files that were modified by the recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path before the run | The source path of the file before the run. `null` when a source file was created during the run. | +| Source path after the run | A recipe may modify the source path. This is the path after the run. `null` when a source file was deleted during the run. | +| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. | +| Recipe that made changes | The specific recipe that made a change. | +| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. | +| Cycle | The recipe cycle in which the change was made. | + + + + + +### Source files that errored on a recipe +**org.openrewrite.table.SourcesFileErrors** + +_The details of all errors produced by a recipe run._ + +| Column Name | Description | +| ----------- | ----------- | +| Source path | The file that failed to parse. | +| Recipe that made changes | The specific recipe that made a change. | +| Stack trace | The stack trace of the failure. | + + + + + +### Recipe performance +**org.openrewrite.table.RecipeRunStats** + +_Statistics used in analyzing the performance of recipes._ + +| Column Name | Description | +| ----------- | ----------- | +| The recipe | The recipe whose stats are being measured both individually and cumulatively. | +| Source file count | The number of source files the recipe ran over. | +| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. | +| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. | +| Max scanning time (ns) | The max time scanning any one source file. | +| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. | +| Max edit time (ns) | The max time editing any one source file. | + + + + diff --git a/docs/recipes/xml/changetagattribute.md b/docs/recipes/xml/changetagattribute.md index 0cfb74d4cf..f276773348 100644 --- a/docs/recipes/xml/changetagattribute.md +++ b/docs/recipes/xml/changetagattribute.md @@ -88,6 +88,7 @@ This recipe is used as part of the following composite recipes: * [Migrate xmlns entries in `webservices.xml` files.](/recipes/com/oracle/weblogic/rewrite/jakarta/javaxwebservicesxmltojakarta9webservicesxml.md) * [Remove unnecessary `use-authorization-manager` for message security in Spring security 6](/recipes/java/spring/security6/removeuseauthorizationmanager.md) * [Replace global method security with method security](/recipes/java/spring/security5/replaceglobalmethodsecuritywithmethodsecurityxml.md) +* [Upgrade to Maven model version 4.1.0](/recipes/maven/upgradetomodelversion410.md) ## Example diff --git a/docs/recipes/xml/changetagname.md b/docs/recipes/xml/changetagname.md index 977cc11f4e..1402902d01 100644 --- a/docs/recipes/xml/changetagname.md +++ b/docs/recipes/xml/changetagname.md @@ -33,6 +33,7 @@ This recipe is used as part of the following composite recipes: * [Change dataformat fury to fury in xml/java dsl.](/recipes/org/apache/camel/upgrade/camel413/furydsl.md) * [Replace global method security with method security](/recipes/java/spring/security5/replaceglobalmethodsecuritywithmethodsecurityxml.md) +* [Replace modules with subprojects](/recipes/maven/replacemoduleswithsubprojects.md) * [XML DSL bearer from rest/securityDefinitions is renamed to bearerToken](/recipes/org/apache/camel/upgrade/camel412/xmldslbearer.md) ## Example diff --git a/docs/recipes/xml/changetagvalue.md b/docs/recipes/xml/changetagvalue.md index f19a4fd02a..b78b169149 100644 --- a/docs/recipes/xml/changetagvalue.md +++ b/docs/recipes/xml/changetagvalue.md @@ -37,6 +37,8 @@ This recipe is used as part of the following composite recipes: * [JNDI name `jsf/ClientSideSecretKey` has been renamed to `faces/ClientSideSecretKey`, and the `jsf/FlashSecretKey` JNDI name has been renamed to `faces/FlashSecretKey`.](/recipes/com/oracle/weblogic/rewrite/jakarta/facesjndinameschanged3.md) * [JNDI name `jsf/ClientSideSecretKey` has been renamed to `faces/ClientSideSecretKey`, and the `jsf/FlashSecretKey` JNDI name has been renamed to `faces/FlashSecretKey`](/recipes/java/migrate/jakarta/facesjndinameschanged.md) * [Removed OpenJPA providers in the persistence.xml file](/recipes/java/migrate/javaee7/openjpapersistenceprovider.md) +* [Replace deprecated lifecycle phases](/recipes/maven/replacedeprecatedlifecyclephases.md) +* [Upgrade to Maven model version 4.1.0](/recipes/maven/upgradetomodelversion410.md) ## Example diff --git a/docs/reference/latest-versions-of-every-openrewrite-module.md b/docs/reference/latest-versions-of-every-openrewrite-module.md index 7c8ee81e00..c51a2e7110 100644 --- a/docs/reference/latest-versions-of-every-openrewrite-module.md +++ b/docs/reference/latest-versions-of-every-openrewrite-module.md @@ -14,84 +14,84 @@ The use of the "bill of materials" means that a developer will only need to spec | Module | Version | License | |-----------------------------------------------------------------------------------------------------------------------| ---------- | ------- | -| [**org.openrewrite:rewrite-bom**](https://github.com/openrewrite/rewrite) | **[8.63.0](https://github.com/openrewrite/rewrite/releases/tag/v8.63.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [**org.openrewrite:rewrite-maven-plugin**](https://github.com/openrewrite/rewrite-maven-plugin) | **[6.21.0](https://github.com/openrewrite/rewrite-maven-plugin/releases/tag/v6.21.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [**org.openrewrite:rewrite-gradle-plugin**](https://github.com/openrewrite/rewrite-gradle-plugin) | **[7.18.0](https://github.com/openrewrite/rewrite-gradle-plugin/releases/tag/v7.18.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [**org.openrewrite.recipe:rewrite-recipe-bom**](https://github.com/openrewrite/rewrite-recipe-bom) | **[3.16.0](https://github.com/openrewrite/rewrite-recipe-bom/releases/tag/v3.16.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [**io.moderne.recipe:moderne-recipe-bom**](https://github.com/moderneinc/moderne-recipe-bom) | **[0.20.1](https://github.com/moderneinc/rewrite-recipe-bom/releases/tag/v0.20.1)** | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [io.moderne.recipe:rewrite-cryptography](https://github.com/moderneinc/rewrite-cryptography/blob/main/rewrite-cryptography) | [0.10.0](https://github.com/moderneinc/rewrite-cryptography/releases/tag/0.10.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [io.moderne.recipe:rewrite-devcenter](https://github.com/moderneinc/rewrite-devcenter/blob/main/) | [1.9.0](https://github.com/moderneinc/rewrite-devcenter/releases/tag/1.9.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [io.moderne.recipe:rewrite-elastic](https://github.com/moderneinc/rewrite-elastic/blob/main/) | [0.3.0](https://github.com/moderneinc/rewrite-elastic/releases/tag/0.3.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [io.moderne.recipe:rewrite-hibernate](https://github.com/moderneinc/rewrite-hibernate/blob/main/) | [0.13.0](https://github.com/moderneinc/rewrite-hibernate/releases/tag/0.13.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [io.moderne.recipe:rewrite-kafka](https://github.com/moderneinc/rewrite-kafka/blob/main/) | [0.3.0](https://github.com/moderneinc/rewrite-kafka/releases/tag/0.3.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [io.moderne.recipe:rewrite-program-analysis](https://github.com/moderneinc/rewrite-program-analysis/blob/main/) | [0.5.5](https://github.com/moderneinc/rewrite-program-analysis/releases/tag/0.5.5) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [io.moderne.recipe:rewrite-spring](https://github.com/moderneinc/rewrite-spring/blob/main/) | [0.13.1](https://github.com/moderneinc/rewrite-spring/releases/tag/0.13.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [**org.openrewrite:rewrite-bom**](https://github.com/openrewrite/rewrite) | **[8.64.0](https://github.com/openrewrite/rewrite/releases/tag/v8.64.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [**org.openrewrite:rewrite-maven-plugin**](https://github.com/openrewrite/rewrite-maven-plugin) | **[6.22.1](https://github.com/openrewrite/rewrite-maven-plugin/releases/tag/v6.22.1)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [**org.openrewrite:rewrite-gradle-plugin**](https://github.com/openrewrite/rewrite-gradle-plugin) | **[7.19.0](https://github.com/openrewrite/rewrite-gradle-plugin/releases/tag/v7.19.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [**org.openrewrite.recipe:rewrite-recipe-bom**](https://github.com/openrewrite/rewrite-recipe-bom) | **[3.17.0](https://github.com/openrewrite/rewrite-recipe-bom/releases/tag/v3.17.0)** | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [**io.moderne.recipe:moderne-recipe-bom**](https://github.com/moderneinc/moderne-recipe-bom) | **[0.21.0](https://github.com/moderneinc/rewrite-recipe-bom/releases/tag/v0.21.0)** | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [io.moderne.recipe:rewrite-cryptography](https://github.com/moderneinc/rewrite-cryptography/blob/main/rewrite-cryptography) | [0.10.1](https://github.com/moderneinc/rewrite-cryptography/releases/tag/0.10.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [io.moderne.recipe:rewrite-devcenter](https://github.com/moderneinc/rewrite-devcenter/blob/main/) | [1.10.1](https://github.com/moderneinc/rewrite-devcenter/releases/tag/1.10.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [io.moderne.recipe:rewrite-elastic](https://github.com/moderneinc/rewrite-elastic/blob/main/) | [0.3.1](https://github.com/moderneinc/rewrite-elastic/releases/tag/0.3.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [io.moderne.recipe:rewrite-hibernate](https://github.com/moderneinc/rewrite-hibernate/blob/main/) | [0.13.2](https://github.com/moderneinc/rewrite-hibernate/releases/tag/0.13.2) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [io.moderne.recipe:rewrite-kafka](https://github.com/moderneinc/rewrite-kafka/blob/main/) | [0.3.1](https://github.com/moderneinc/rewrite-kafka/releases/tag/0.3.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [io.moderne.recipe:rewrite-program-analysis](https://github.com/moderneinc/rewrite-program-analysis/blob/main/) | [0.5.6](https://github.com/moderneinc/rewrite-program-analysis/releases/tag/0.5.6) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [io.moderne.recipe:rewrite-spring](https://github.com/moderneinc/rewrite-spring/blob/main/) | [0.15.0](https://github.com/moderneinc/rewrite-spring/releases/tag/0.15.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | | [io.moderne.recipe:rewrite-vulncheck](https://github.com/moderneinc/rewrite-vulncheck/blob/main/) | [0.5.0](https://github.com/moderneinc/rewrite-vulncheck/releases/tag/0.5.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | | [org.openrewrite:rewrite-cobol](https://github.com/moderneinc/rewrite-cobol/blob/main/) | [2.13.0](https://github.com/moderneinc/rewrite-cobol/releases/tag/2.13.0) | License Unknown | -| [org.openrewrite:rewrite-core](https://github.com/openrewrite/rewrite/blob/main/rewrite-core) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-core](https://github.com/openrewrite/rewrite/blob/main/rewrite-core) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | | [org.openrewrite:rewrite-csharp](https://github.com/openrewrite/rewrite-csharp/blob/main/rewrite-csharp) | [0.27.27](https://github.com/openrewrite/rewrite-csharp/releases/tag/0.27.27) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite:rewrite-gradle](https://github.com/openrewrite/rewrite/blob/main/rewrite-gradle) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-groovy](https://github.com/openrewrite/rewrite/blob/main/rewrite-groovy) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-hcl](https://github.com/openrewrite/rewrite/blob/main/rewrite-hcl) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-java](https://github.com/openrewrite/rewrite/blob/main/rewrite-java) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-javascript](https://github.com/openrewrite/rewrite/blob/main/rewrite-javascript) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite:rewrite-json](https://github.com/openrewrite/rewrite/blob/main/rewrite-json) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-kotlin](https://github.com/openrewrite/rewrite/blob/main/rewrite-kotlin) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-maven](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-polyglot](https://github.com/openrewrite/rewrite-polyglot/blob/main/) | [2.7.3](https://github.com/openrewrite/rewrite-polyglot/releases/tag/2.7.3) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-properties](https://github.com/openrewrite/rewrite/blob/main/rewrite-properties) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-protobuf](https://github.com/openrewrite/rewrite/blob/main/rewrite-protobuf) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-python](https://github.com/openrewrite/rewrite-python/blob/main/rewrite-python) | [1.43.0](https://github.com/openrewrite/rewrite-python/releases/tag/1.43.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-templating](https://github.com/openrewrite/rewrite-templating/blob/main/) | [1.36.2](https://github.com/openrewrite/rewrite-templating/releases/tag/1.36.2) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-toml](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-xml](https://github.com/openrewrite/rewrite/blob/main/rewrite-xml) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite:rewrite-yaml](https://github.com/openrewrite/rewrite/blob/main/rewrite-yaml) | [8.63.0](https://github.com/openrewrite/rewrite/releases/tag/8.63.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.meta:rewrite-analysis](https://github.com/openrewrite/rewrite-analysis/blob/main/) | [2.27.0](https://github.com/openrewrite/rewrite-analysis/releases/tag/2.27.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-ai-search](https://github.com/moderneinc/rewrite-ai-search/blob/main/) | [0.31.0](https://github.com/moderneinc/rewrite-ai-search/releases/tag/0.31.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-all](https://github.com/openrewrite/rewrite-all/blob/main/) | [1.22.1](https://github.com/openrewrite/rewrite-all/releases/tag/1.22.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-android](https://github.com/moderneinc/rewrite-android/blob/main/) | [0.13.0](https://github.com/moderneinc/rewrite-android/releases/tag/0.13.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-apache](https://github.com/openrewrite/rewrite-apache/blob/main/) | [2.18.0](https://github.com/openrewrite/rewrite-apache/releases/tag/2.18.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-azul](https://github.com/moderneinc/rewrite-azul/blob/main/) | [0.7.0](https://github.com/moderneinc/rewrite-azul/releases/tag/0.7.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-circleci](https://github.com/moderneinc/rewrite-circleci/blob/main/) | [3.8.0](https://github.com/moderneinc/rewrite-circleci/releases/tag/3.8.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-codemods](https://github.com/moderneinc/rewrite-codemods/blob/main/) | [0.20.0](https://github.com/moderneinc/rewrite-codemods/releases/tag/0.20.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-codemods-ng](https://github.com/moderneinc/rewrite-codemods-ng/blob/main/) | [0.14.3](https://github.com/moderneinc/rewrite-codemods-ng/releases/tag/0.14.3) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-compiled-analysis](https://github.com/moderneinc/rewrite-compiled-analysis/blob/main/) | [0.9.0](https://github.com/moderneinc/rewrite-compiled-analysis/releases/tag/0.9.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-comprehension](https://github.com/moderneinc/rewrite-comprehension/blob/main/) | [0.8.0](https://github.com/moderneinc/rewrite-comprehension/releases/tag/0.8.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-concourse](https://github.com/moderneinc/rewrite-concourse/blob/main/) | [3.8.0](https://github.com/moderneinc/rewrite-concourse/releases/tag/3.8.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-cucumber-jvm](https://github.com/openrewrite/rewrite-cucumber-jvm/blob/main/) | [2.10.0](https://github.com/openrewrite/rewrite-cucumber-jvm/releases/tag/2.10.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-docker](https://github.com/openrewrite/rewrite-docker/blob/main/) | [2.12.0](https://github.com/openrewrite/rewrite-docker/releases/tag/2.12.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-dotnet](https://github.com/moderneinc/rewrite-dotnet/blob/main/) | [0.13.4](https://github.com/moderneinc/rewrite-dotnet/releases/tag/0.13.4) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-dropwizard](https://github.com/openrewrite/rewrite-dropwizard/blob/main/) | [0.7.0](https://github.com/openrewrite/rewrite-dropwizard/releases/tag/0.7.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-feature-flags](https://github.com/openrewrite/rewrite-feature-flags/blob/main/) | [1.14.0](https://github.com/openrewrite/rewrite-feature-flags/releases/tag/1.14.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-github-actions](https://github.com/openrewrite/rewrite-github-actions/blob/main/) | [3.12.0](https://github.com/openrewrite/rewrite-github-actions/releases/tag/3.12.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-gitlab](https://github.com/openrewrite/rewrite-gitlab/blob/main/) | [0.16.0](https://github.com/openrewrite/rewrite-gitlab/releases/tag/0.16.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-hibernate](https://github.com/openrewrite/rewrite-hibernate/blob/main/) | [2.13.0](https://github.com/openrewrite/rewrite-hibernate/releases/tag/2.13.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-jackson](https://github.com/openrewrite/rewrite-jackson/blob/main/) | [1.7.0](https://github.com/openrewrite/rewrite-jackson/releases/tag/1.7.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-java-dependencies](https://github.com/openrewrite/rewrite-java-dependencies/blob/main/) | [1.43.0](https://github.com/openrewrite/rewrite-java-dependencies/releases/tag/1.43.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-java-security](https://github.com/moderneinc/rewrite-java-security/blob/main/) | [3.19.1](https://github.com/moderneinc/rewrite-java-security/releases/tag/3.19.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-jenkins](https://github.com/openrewrite/rewrite-jenkins/blob/main/) | [0.31.0](https://github.com/openrewrite/rewrite-jenkins/releases/tag/0.31.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-joda](https://github.com/openrewrite/rewrite-joda/blob/main/) | [0.2.0](https://github.com/openrewrite/rewrite-joda/releases/tag/0.2.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-kubernetes](https://github.com/moderneinc/rewrite-kubernetes/blob/main/) | [3.11.0](https://github.com/moderneinc/rewrite-kubernetes/releases/tag/3.11.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-liberty](https://github.com/openrewrite/rewrite-liberty/blob/main/) | [1.22.0](https://github.com/openrewrite/rewrite-liberty/releases/tag/1.22.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-logging-frameworks](https://github.com/openrewrite/rewrite-logging-frameworks/blob/main/) | [3.16.0](https://github.com/openrewrite/rewrite-logging-frameworks/releases/tag/3.16.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-micrometer](https://github.com/openrewrite/rewrite-micrometer/blob/main/) | [0.26.0](https://github.com/openrewrite/rewrite-micrometer/releases/tag/0.26.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-micronaut](https://github.com/openrewrite/rewrite-micronaut/blob/main/) | [2.29.0](https://github.com/openrewrite/rewrite-micronaut/releases/tag/2.29.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-migrate-java](https://github.com/openrewrite/rewrite-migrate-java/blob/main/) | [3.19.0](https://github.com/openrewrite/rewrite-migrate-java/releases/tag/3.19.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-netty](https://github.com/openrewrite/rewrite-netty/blob/main/) | [0.5.0](https://github.com/openrewrite/rewrite-netty/releases/tag/0.5.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-nodejs](https://github.com/moderneinc/rewrite-nodejs/blob/main/) | [0.30.0](https://github.com/moderneinc/rewrite-nodejs/releases/tag/0.30.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-okhttp](https://github.com/openrewrite/rewrite-okhttp/blob/main/) | [0.19.0](https://github.com/openrewrite/rewrite-okhttp/releases/tag/0.19.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-openapi](https://github.com/openrewrite/rewrite-openapi/blob/main/) | [0.25.0](https://github.com/openrewrite/rewrite-openapi/releases/tag/0.25.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-quarkus](https://github.com/openrewrite/rewrite-quarkus/blob/main/) | [2.27.0](https://github.com/openrewrite/rewrite-quarkus/releases/tag/2.27.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| [org.openrewrite.recipe:rewrite-reactive-streams](https://github.com/moderneinc/rewrite-reactive-streams/blob/main/) | [0.17.0](https://github.com/moderneinc/rewrite-reactive-streams/releases/tag/0.17.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-rewrite](https://github.com/openrewrite/rewrite-rewrite/blob/main/) | [0.14.0](https://github.com/openrewrite/rewrite-rewrite/releases/tag/0.14.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-spring](https://github.com/openrewrite/rewrite-spring/blob/main/) | [6.16.0](https://github.com/openrewrite/rewrite-spring/releases/tag/6.16.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-spring-to-quarkus](https://github.com/openrewrite/rewrite-spring-to-quarkus/blob/main/) | [0.1.0](https://github.com/openrewrite/rewrite-spring-to-quarkus/releases/tag/0.1.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-sql](https://github.com/moderneinc/rewrite-sql/blob/main/) | [2.7.0](https://github.com/moderneinc/rewrite-sql/releases/tag/2.7.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-static-analysis](https://github.com/openrewrite/rewrite-static-analysis/blob/main/) | [2.19.0](https://github.com/openrewrite/rewrite-static-analysis/releases/tag/2.19.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-struts](https://github.com/openrewrite/rewrite-struts/blob/main/) | [0.22.0](https://github.com/openrewrite/rewrite-struts/releases/tag/0.22.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-terraform](https://github.com/moderneinc/rewrite-terraform/blob/main/) | [3.9.0](https://github.com/moderneinc/rewrite-terraform/releases/tag/3.9.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | -| [org.openrewrite.recipe:rewrite-testing-frameworks](https://github.com/openrewrite/rewrite-testing-frameworks/blob/main/) | [3.19.0](https://github.com/openrewrite/rewrite-testing-frameworks/releases/tag/3.19.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | -| [org.openrewrite.recipe:rewrite-third-party](https://github.com/openrewrite/rewrite-third-party/blob/main/) | [0.29.0](https://github.com/openrewrite/rewrite-third-party/releases/tag/0.29.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-gradle](https://github.com/openrewrite/rewrite/blob/main/rewrite-gradle) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-groovy](https://github.com/openrewrite/rewrite/blob/main/rewrite-groovy) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-hcl](https://github.com/openrewrite/rewrite/blob/main/rewrite-hcl) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-java](https://github.com/openrewrite/rewrite/blob/main/rewrite-java) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-javascript](https://github.com/openrewrite/rewrite/blob/main/rewrite-javascript) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite:rewrite-json](https://github.com/openrewrite/rewrite/blob/main/rewrite-json) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-kotlin](https://github.com/openrewrite/rewrite/blob/main/rewrite-kotlin) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-maven](https://github.com/openrewrite/rewrite/blob/main/rewrite-maven) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-polyglot](https://github.com/openrewrite/rewrite-polyglot/blob/main/) | [2.7.4](https://github.com/openrewrite/rewrite-polyglot/releases/tag/2.7.4) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-properties](https://github.com/openrewrite/rewrite/blob/main/rewrite-properties) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-protobuf](https://github.com/openrewrite/rewrite/blob/main/rewrite-protobuf) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-python](https://github.com/openrewrite/rewrite-python/blob/main/rewrite-python) | [1.43.1](https://github.com/openrewrite/rewrite-python/releases/tag/1.43.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-templating](https://github.com/openrewrite/rewrite-templating/blob/main/) | [1.37.0](https://github.com/openrewrite/rewrite-templating/releases/tag/1.37.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-toml](https://github.com/openrewrite/rewrite/blob/main/rewrite-toml) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-xml](https://github.com/openrewrite/rewrite/blob/main/rewrite-xml) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite:rewrite-yaml](https://github.com/openrewrite/rewrite/blob/main/rewrite-yaml) | [8.64.0](https://github.com/openrewrite/rewrite/releases/tag/8.64.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.meta:rewrite-analysis](https://github.com/openrewrite/rewrite-analysis/blob/main/) | [2.28.0](https://github.com/openrewrite/rewrite-analysis/releases/tag/2.28.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-ai-search](https://github.com/moderneinc/rewrite-ai-search/blob/main/) | [0.31.1](https://github.com/moderneinc/rewrite-ai-search/releases/tag/0.31.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-all](https://github.com/openrewrite/rewrite-all/blob/main/) | [1.22.2](https://github.com/openrewrite/rewrite-all/releases/tag/1.22.2) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-android](https://github.com/moderneinc/rewrite-android/blob/main/) | [0.13.1](https://github.com/moderneinc/rewrite-android/releases/tag/0.13.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-apache](https://github.com/openrewrite/rewrite-apache/blob/main/) | [2.19.0](https://github.com/openrewrite/rewrite-apache/releases/tag/2.19.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-azul](https://github.com/moderneinc/rewrite-azul/blob/main/) | [0.7.1](https://github.com/moderneinc/rewrite-azul/releases/tag/0.7.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-circleci](https://github.com/moderneinc/rewrite-circleci/blob/main/) | [3.8.1](https://github.com/moderneinc/rewrite-circleci/releases/tag/3.8.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-codemods](https://github.com/moderneinc/rewrite-codemods/blob/main/) | [0.20.1](https://github.com/moderneinc/rewrite-codemods/releases/tag/0.20.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-codemods-ng](https://github.com/moderneinc/rewrite-codemods-ng/blob/main/) | [0.14.4](https://github.com/moderneinc/rewrite-codemods-ng/releases/tag/0.14.4) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-compiled-analysis](https://github.com/moderneinc/rewrite-compiled-analysis/blob/main/) | [0.9.1](https://github.com/moderneinc/rewrite-compiled-analysis/releases/tag/0.9.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-comprehension](https://github.com/moderneinc/rewrite-comprehension/blob/main/) | [0.8.1](https://github.com/moderneinc/rewrite-comprehension/releases/tag/0.8.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-concourse](https://github.com/moderneinc/rewrite-concourse/blob/main/) | [3.8.1](https://github.com/moderneinc/rewrite-concourse/releases/tag/3.8.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-cucumber-jvm](https://github.com/openrewrite/rewrite-cucumber-jvm/blob/main/) | [2.10.1](https://github.com/openrewrite/rewrite-cucumber-jvm/releases/tag/2.10.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-docker](https://github.com/openrewrite/rewrite-docker/blob/main/) | [2.13.0](https://github.com/openrewrite/rewrite-docker/releases/tag/2.13.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-dotnet](https://github.com/moderneinc/rewrite-dotnet/blob/main/) | [0.13.5](https://github.com/moderneinc/rewrite-dotnet/releases/tag/0.13.5) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-dropwizard](https://github.com/openrewrite/rewrite-dropwizard/blob/main/) | [0.7.1](https://github.com/openrewrite/rewrite-dropwizard/releases/tag/0.7.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-feature-flags](https://github.com/openrewrite/rewrite-feature-flags/blob/main/) | [1.15.0](https://github.com/openrewrite/rewrite-feature-flags/releases/tag/1.15.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-github-actions](https://github.com/openrewrite/rewrite-github-actions/blob/main/) | [3.13.0](https://github.com/openrewrite/rewrite-github-actions/releases/tag/3.13.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-gitlab](https://github.com/openrewrite/rewrite-gitlab/blob/main/) | [0.16.1](https://github.com/openrewrite/rewrite-gitlab/releases/tag/0.16.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-hibernate](https://github.com/openrewrite/rewrite-hibernate/blob/main/) | [2.14.0](https://github.com/openrewrite/rewrite-hibernate/releases/tag/2.14.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-jackson](https://github.com/openrewrite/rewrite-jackson/blob/main/) | [1.8.0](https://github.com/openrewrite/rewrite-jackson/releases/tag/1.8.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-java-dependencies](https://github.com/openrewrite/rewrite-java-dependencies/blob/main/) | [1.44.0](https://github.com/openrewrite/rewrite-java-dependencies/releases/tag/1.44.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-java-security](https://github.com/moderneinc/rewrite-java-security/blob/main/) | [3.20.0](https://github.com/moderneinc/rewrite-java-security/releases/tag/3.20.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-jenkins](https://github.com/openrewrite/rewrite-jenkins/blob/main/) | [0.31.1](https://github.com/openrewrite/rewrite-jenkins/releases/tag/0.31.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-joda](https://github.com/openrewrite/rewrite-joda/blob/main/) | [0.2.1](https://github.com/openrewrite/rewrite-joda/releases/tag/0.2.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-kubernetes](https://github.com/moderneinc/rewrite-kubernetes/blob/main/) | [3.12.0](https://github.com/moderneinc/rewrite-kubernetes/releases/tag/3.12.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-liberty](https://github.com/openrewrite/rewrite-liberty/blob/main/) | [1.22.1](https://github.com/openrewrite/rewrite-liberty/releases/tag/1.22.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-logging-frameworks](https://github.com/openrewrite/rewrite-logging-frameworks/blob/main/) | [3.17.0](https://github.com/openrewrite/rewrite-logging-frameworks/releases/tag/3.17.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-micrometer](https://github.com/openrewrite/rewrite-micrometer/blob/main/) | [0.26.1](https://github.com/openrewrite/rewrite-micrometer/releases/tag/0.26.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-micronaut](https://github.com/openrewrite/rewrite-micronaut/blob/main/) | [2.29.1](https://github.com/openrewrite/rewrite-micronaut/releases/tag/2.29.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-migrate-java](https://github.com/openrewrite/rewrite-migrate-java/blob/main/) | [3.20.0](https://github.com/openrewrite/rewrite-migrate-java/releases/tag/3.20.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-netty](https://github.com/openrewrite/rewrite-netty/blob/main/) | [0.5.1](https://github.com/openrewrite/rewrite-netty/releases/tag/0.5.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-nodejs](https://github.com/moderneinc/rewrite-nodejs/blob/main/) | [0.32.3](https://github.com/moderneinc/rewrite-nodejs/releases/tag/0.32.3) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-okhttp](https://github.com/openrewrite/rewrite-okhttp/blob/main/) | [0.19.1](https://github.com/openrewrite/rewrite-okhttp/releases/tag/0.19.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-openapi](https://github.com/openrewrite/rewrite-openapi/blob/main/) | [0.26.0](https://github.com/openrewrite/rewrite-openapi/releases/tag/0.26.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-quarkus](https://github.com/openrewrite/rewrite-quarkus/blob/main/) | [2.27.1](https://github.com/openrewrite/rewrite-quarkus/releases/tag/2.27.1) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| [org.openrewrite.recipe:rewrite-reactive-streams](https://github.com/moderneinc/rewrite-reactive-streams/blob/main/) | [0.17.1](https://github.com/moderneinc/rewrite-reactive-streams/releases/tag/0.17.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-rewrite](https://github.com/openrewrite/rewrite-rewrite/blob/main/) | [0.14.1](https://github.com/openrewrite/rewrite-rewrite/releases/tag/0.14.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-spring](https://github.com/openrewrite/rewrite-spring/blob/main/) | [6.17.0](https://github.com/openrewrite/rewrite-spring/releases/tag/6.17.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-spring-to-quarkus](https://github.com/openrewrite/rewrite-spring-to-quarkus/blob/main/) | [0.2.0](https://github.com/openrewrite/rewrite-spring-to-quarkus/releases/tag/0.2.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-sql](https://github.com/moderneinc/rewrite-sql/blob/main/) | [2.7.1](https://github.com/moderneinc/rewrite-sql/releases/tag/2.7.1) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-static-analysis](https://github.com/openrewrite/rewrite-static-analysis/blob/main/) | [2.20.0](https://github.com/openrewrite/rewrite-static-analysis/releases/tag/2.20.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-struts](https://github.com/openrewrite/rewrite-struts/blob/main/) | [0.22.1](https://github.com/openrewrite/rewrite-struts/releases/tag/0.22.1) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-terraform](https://github.com/moderneinc/rewrite-terraform/blob/main/) | [3.10.0](https://github.com/moderneinc/rewrite-terraform/releases/tag/3.10.0) | [Moderne Proprietary License](https://docs.moderne.io/licensing/overview) | +| [org.openrewrite.recipe:rewrite-testing-frameworks](https://github.com/openrewrite/rewrite-testing-frameworks/blob/main/) | [3.20.0](https://github.com/openrewrite/rewrite-testing-frameworks/releases/tag/3.20.0) | [Moderne Source Available License](https://docs.moderne.io/licensing/moderne-source-available-license) | +| [org.openrewrite.recipe:rewrite-third-party](https://github.com/openrewrite/rewrite-third-party/blob/main/) | [0.30.0](https://github.com/openrewrite/rewrite-third-party/releases/tag/0.30.0) | [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) | ## CLI Installation diff --git a/docs/reference/moderne-recipes.md b/docs/reference/moderne-recipes.md index 0f7e422f1e..d86132ee2e 100644 --- a/docs/reference/moderne-recipes.md +++ b/docs/reference/moderne-recipes.md @@ -159,7 +159,7 @@ This doc includes every recipe that is exclusive to users of Moderne. For a full * [Find Twilio secrets](/recipes/java/security/secrets/findtwiliosecrets.md) - _Locates Twilio secrets stored in plain text in code._ * [Find Twitter secrets](/recipes/java/security/secrets/findtwittersecrets.md) - _Locates Twitter secrets stored in plain text in code._ * [Find and fix vulnerable Nuget dependencies](/recipes/csharp/dependencies/dependencyvulnerabilitycheck.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe **only** upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this recipe will not make any changes. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Dependencies following [Semantic Versioning](https://semver.org/) will see their _patch_ version updated where applicable._ -* [Find and fix vulnerable dependencies](/recipes/java/dependencies/dependencyvulnerabilitycheck.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-06T1102._ +* [Find and fix vulnerable dependencies](/recipes/java/dependencies/dependencyvulnerabilitycheck.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-20T1103._ * [Find generic secrets](/recipes/java/security/secrets/findgenericsecrets.md) - _Locates generic secrets stored in plain text in code._ * [Find hard-coded loopback IPv4 addresses](/recipes/text/findhardcodedloopbackaddresses.md) - _Locates mentions of hard-coded IPv4 addresses from the loopback IP range. The loopback IP range includes `127.0.0.0` to `127.255.255.255`. This detects the entire localhost/loopback subnet range, not just the commonly used `127.0.0.1`._ * [Find hard-coded private IPv4 addresses](/recipes/text/findhardcodedprivateipaddresses.md) - _Locates mentions of hard-coded IPv4 addresses from private IP ranges. Private IP ranges include: * `192.168.0.0` to `192.168.255.255` * `10.0.0.0` to `10.255.255.255` * `172.16.0.0` to `172.31.255.255` It is not detecting the localhost subnet `127.0.0.0` to `127.255.255.255`._ @@ -349,7 +349,7 @@ This doc includes every recipe that is exclusive to users of Moderne. For a full * [Add `@Valid` annotation to fields](/recipes/java/spring/boot3/addvalidtoconfigurationpropertiesfields.md) - _In Spring Boot 3.4, validation of `@ConfigurationProperties` classes annotated with `@Validated` now follows the Bean Validation specification, only cascading to nested properties if the corresponding field is annotated with `@Valid`. The recipe will add a `@Valid` annotation to each field which has a type that has a field which is annotated with a `jakarta.validation.constraints.*` annotation._ * [Comment deprecated methods in Spring 3.4](/recipes/java/spring/boot3/commentdeprecations.md) - _Spring Boot 3.4 deprecates methods that are not commonly used or need manual interaction._ * [Comment on `@MockitoSpyBean` and `@MockitoBean` in `@Configuration`](/recipes/java/spring/boot3/commentonmockandspybeansinconfigspring34.md) - _As stated in [Spring Docs](https://docs.spring.io/spring-framework/reference/testing/annotations/integration-spring/annotation-mockitobean.html) `@MockitoSpyBean` and `@MockitoBean` will only work in tests, explicitly not in `@Configuration` annotated classes._ -* [Delete empty `web.xml` files](/recipes/java/spring/framework/webxml/deleteemptywebxml.md) - _Deletes `web.xml` files that contain only an empty `<web-app>` root element with no child elements._ +* [Convert field injection to constructor injection](/recipes/java/spring/boot/fieldtoconstructorinjection.md) - _Converts `@Autowired` field injection to constructor injection pattern. For non-final classes, adds both a no-args constructor and the autowired constructor to maintain compatibility with extending classes. Moves `@Qualifier` annotations to constructor parameters._ * [Is likely a Spring Boot project](/recipes/java/spring/boot/islikelyspringboot.md) - _Marks the project if it's likely a Spring Boot project._ * [Is likely a Spring Framework project](/recipes/java/spring/framework/islikelyspringframework.md) - _Marks the project if it's likely a Spring Framework project._ * [Is likely not a Spring Boot project](/recipes/java/spring/boot/islikelynotspringboot.md) - _Marks the project if it's likely not a Spring Boot project._ @@ -366,10 +366,8 @@ This doc includes every recipe that is exclusive to users of Moderne. For a full * [Migrate `@Endpoint` Security properties to 3.4](/recipes/java/spring/boot3/springbootproperties_3_4.md) - _Migrate the settings for Spring Boot Management Endpoint Security from `true`|`false` to `read-only`|`none`._ * [Migrate `@Endpoint`s `defaultAccess` value](/recipes/java/spring/boot3/migrateendpointannotationaccessvaluespring34.md) - _Since Spring Boot 3.4 the `@Endpoint` access configuration values are no longer `true|false` but `none|read-only|unrestricted`._ * [Migrate `ConditionalOnAvailableEndpoint` for Spring Boot 3.4](/recipes/java/spring/boot3/conditionalonavailableendpointmigrationspring34.md) - _Migrate `@ConditionalOnAvailableEndpoint(EndpointExposure.CLOUD_FOUNDRY)` to `@ConditionalOnAvailableEndpoint(EndpointExposure.WEB)` for Spring Boot 3.4._ -* [Migrate `web.xml` to Java Configuration](/recipes/spring/webxml/removewebxml.md) - _Migrates `web.xml` content to Spring Boot Configuration classes with respect to Java EE or Jakarta EE usage._ -* [Migrate `web.xml` to `WebApplicationInitializer`](/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md) - _Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests._ -* [Migrate `web.xml` using Jakarta EE](/recipes/spring/webxml/migratetojakartaeeservletconfiguration.md) - _Migrates `web.xml` content to Spring Boot Configuration classes using Jakarta EE namespace._ -* [Migrate `web.xml` using Java EE](/recipes/spring/webxml/migratetojavaxservletconfiguration.md) - _Migrates `web.xml` content to Spring Boot Configuration classes using Java EE javax namespace._ +* [Migrate `beans.xml` to Spring Framework configuration class](/recipes/java/spring/framework/beansxml/beansxmltoconfiguration.md) - _Converts Java/Jakarta EE `beans.xml` configuration files to Spring Framework `@Configuration` classes._ +* [Migrate `web.xml` to `WebApplicationInitializer`](/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md) - _Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests.It creates a `WebXmlWebAppInitializer` class in `src/main/java` with respect to submodules if they contain java files.**If it finds an existing `WebXmlWebAppInitializer`, it skips the creation**._ * [Migrate antPathRequestMatcher to pathPatternRequestMatcher](/recipes/java/spring/security6/migrateantpathrequestmatcher.md) - _In Spring Security 6.5, `AntPathRequestMatcher` is deprecated in favor of `PathPatternRequestMatcher`. This recipe migrates static method calls and constructor usage to the new pattern._ * [Migrate to Spring Boot 3.4](/recipes/java/spring/boot3/upgradespringboot_3_4-moderne-edition.md) - _Migrate applications to the latest Spring Boot 3.4 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. This recipe will also chain additional framework migrations (Spring Framework, Spring Data, etc) that are required as part of the migration to Spring Boot 3.4._ * [Migrate to Spring Boot 3.5](/recipes/java/spring/boot3/upgradespringboot_3_5-moderne-edition.md) - _Migrate applications to the latest Spring Boot 3.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. This recipe will also chain additional framework migrations (Spring Framework, Spring Data, etc) that are required as part of the migration to Spring Boot 3.5._ diff --git a/docs/reference/recipes-by-tag.md b/docs/reference/recipes-by-tag.md index 1404d0ee6b..f8e249c029 100644 --- a/docs/reference/recipes-by-tag.md +++ b/docs/reference/recipes-by-tag.md @@ -78,8 +78,8 @@ _2 recipes_ _17 recipes_ * [Migrate `WordUtils` to Apache Commons Text](/recipes/apache/commons/lang/wordutilstocommonstext.md) - _Migrate `org.apache.commons.lang.WordUtils` to `org.apache.commons.text.WordUtils` and add the Commons Text dependency._ -* [Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency](/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md) - _Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`_ -* [Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies](/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md) - _Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`_ +* [Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency](/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md) - _Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`._ +* [Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies](/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md) - _Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`._ * [Migrate to ApacheHttpClient 5.x](/recipes/apache/httpclient5/upgradeapachehttpclient_5.md) - _Migrate applications to the latest Apache HttpClient 5.x release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Migrates to Apache Commons Collections 4.x](/recipes/apache/commons/collections/upgradeapachecommonscollections_3_4.md) - _Migrate applications to the latest Apache Commons Collections 4.x release. This recipe modifies application's build files, make changes to deprecated/preferred APIs, and migrates configuration settings that have changes between versions._ * [Migrates to Apache Commons Lang 3.x](/recipes/apache/commons/lang/upgradeapachecommonslang_2_3.md) - _Migrate applications to the latest Apache Commons Lang 3.x release. This recipe modifies application's build files, and changes the package as per [the migration release notes](https://commons.apache.org/proper/commons-lang/article3_0.html)._ @@ -1256,7 +1256,7 @@ _4 recipes_ ## guava -_46 recipes_ +_47 recipes_ * [Prefer `Files#createTempDirectory()`](/recipes/java/migrate/guava/noguavacreatetempdir.md) - _Replaces Guava `Files#createTempDir()` with Java `Files#createTempDirectory(..)`. Transformations are limited to scopes throwing or catching `java.io.IOException`._ * [Prefer `Integer#compareUnsigned`](/recipes/java/migrate/guava/preferintegercompareunsigned.md) - _Prefer `java.lang.Integer#compareUnsigned` instead of using `com.google.common.primitives.UnsignedInts#compare` or `com.google.common.primitives.UnsignedInts#compareUnsigned`._ @@ -1273,6 +1273,7 @@ _46 recipes_ * [Prefer `Math#clamp`](/recipes/java/migrate/guava/prefermathclamp.md) - _Prefer `java.lang.Math#clamp` instead of using `com.google.common.primitives.*#constrainToRange`._ * [Prefer `Math#multiplyExact`](/recipes/java/migrate/guava/prefermathmultiplyexact.md) - _Prefer `java.lang.Math#multiplyExact` instead of using `com.google.common.primitives.IntMath#checkedMultiply` or `com.google.common.primitives.IntMath#multiplyExact`._ * [Prefer `Math#subtractExact`](/recipes/java/migrate/guava/prefermathsubtractexact.md) - _Prefer `java.lang.Math#subtractExact` instead of using `com.google.common.primitives.IntMath#checkedSubtract` or `com.google.common.primitives.IntMath#subtractExact`._ +* [Prefer `Predicate.and(Predicate)`](/recipes/java/migrate/guava/noguavapredicatesandor.md) - _Prefer `Predicate.and(Predicate)` over `Predicates.and(Predicate, Predicate)`._ * [Prefer `Runnable::run`](/recipes/java/migrate/guava/noguavadirectexecutor.md) - _`Executor` is a SAM-compatible interface, so `Runnable::run` is just as succinct as `MoreExecutors.directExecutor()` but without the third-party library requirement._ * [Prefer `Short#compare`](/recipes/java/migrate/guava/prefershortcompare.md) - _Prefer `java.lang.Short#compare` instead of using `com.google.common.primitives.Shorts#compare`._ * [Prefer `String#join()` over Guava `Joiner#join()`](/recipes/java/migrate/guava/preferjavastringjoin.md) - _Replaces supported calls to `com.google.common.base.Joiner#join()` with `java.lang.String#join()`._ @@ -1347,8 +1348,8 @@ _3 recipes_ _4 recipes_ -* [Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency](/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md) - _Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`_ -* [Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies](/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md) - _Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`_ +* [Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency](/recipes/apache/httpclient5/upgradeapachehttpcoreniodependencies.md) - _Adopt `org.apache.httpcomponents.core5:httpcore5` from `org.apache.httpcomponents:httpcore-nio`._ +* [Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies](/recipes/apache/httpclient5/upgradeapachehttpclientdependencies.md) - _Adopt `org.apache.httpcomponents.client5:httpclient5` from `org.apache.httpcomponents`._ * [Migrate to ApacheHttpClient 5.x](/recipes/apache/httpclient5/upgradeapachehttpclient_5.md) - _Migrate applications to the latest Apache HttpClient 5.x release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Migrates to ApacheHttpClient 4.5.x](/recipes/apache/httpclient4/upgradeapachehttpclient_4_5.md) - _Migrate applications to the latest Apache HttpClient 4.5.x release. This recipe modifies application's build files, make changes to deprecated/preferred APIs, and migrates configuration settings that have changes between versions._ @@ -1374,7 +1375,7 @@ _1 recipe_ ## jackson -_13 recipes_ +_14 recipes_ * [Jackson best practices](/recipes/java/jackson/jacksonbestpractices.md) - _Apply best practices for using Jackson library, including upgrade to Jackson 2.x and removing redundant annotations._ * [Migrate classes from Jackson Codehaus (legacy) to Jackson FasterXML](/recipes/java/jackson/codehausclassestofasterxml.md) - _In Jackson 2, the package and dependency coordinates moved from Codehaus to FasterXML._ @@ -1385,6 +1386,7 @@ _13 recipes_ * [Remove redundant `@JsonProperty` argument](/recipes/java/jackson/removeredundantjsonpropertyvalue.md) - _Remove `@JsonProperty` annotation or value attribute when the value matches the argument name._ * [Remove registrations of modules built-in to Jackson 3](/recipes/java/jackson/removebuiltinmoduleregistrations.md) - _In Jackson 3, `ParameterNamesModule`, `Jdk8Module`, and `JavaTimeModule` are built into `jackson-databind` and no longer need to be registered manually. This recipe removes `ObjectMapper.registerModule()` calls for these modules._ * [Rename Jackson 2.x methods to 3.x equivalents](/recipes/java/jackson/upgradejackson_2_3_methodrenames.md) - _Rename Jackson methods that were renamed in 3.x (e.g., `writeObject()` to `writePOJO()`, `getCurrentValue()` to `currentValue()`)._ +* [Replace removed `JsonGenerator` capability methods with `StreamWriteCapability`](/recipes/java/jackson/replacestreamwritecapability.md) - _In Jackson 3, `JsonGenerator.canWriteBinaryNatively()` and `canWriteFormattedNumbers()` were removed and replaced with the `StreamWriteCapability` enum. This recipe updates these method calls to use `getWriteCapabilities().isEnabled(StreamWriteCapability.*)` instead._ * [Update Jackson 2.x types to 3.x](/recipes/java/jackson/upgradejackson_2_3_typechanges.md) - _Update Jackson type names including exception types and core class renames._ * [Update Jackson package names from 2.x to 3.x](/recipes/java/jackson/upgradejackson_2_3_packagechanges.md) - _Update Jackson package imports from `com.fasterxml.jackson` to `tools.jackson`._ * [Upgrade Jackson 2.x dependencies to 3.x](/recipes/java/jackson/upgradejackson_2_3_dependencies.md) - _Upgrade Jackson Maven dependencies from 2.x to 3.x versions and update group IDs._ @@ -2650,7 +2652,7 @@ _173 recipes_ * [Default comes last](/recipes/staticanalysis/defaultcomeslast.md) - _Ensure the `default` case comes last after all the cases in a switch statement._ * [End files with a single newline](/recipes/java/format/emptynewlineatendoffile.md) - _Some tools work better when files end with an empty line._ * [Enum values should be compared with "=="](/recipes/staticanalysis/compareenumswithequalityoperator.md) - _Replaces `Enum equals(java.lang.Object)` with `Enum == java.lang.Object`. An `!Enum equals(java.lang.Object)` will change to `!=`._ -* [Equals avoids null](/recipes/staticanalysis/equalsavoidsnull.md) - _Checks that any combination of String literals is on the left side of an `equals()` comparison. Also checks for String literals assigned to some field (such as `someString.equals(anotherString = "text"))`._ +* [Equals avoids null](/recipes/staticanalysis/equalsavoidsnull.md) - _Checks that any combination of String literals is on the left side of an `equals()` comparison. Also checks for String literals assigned to some field (such as `someString.equals(anotherString = "text"))`. And removes redundant null checks in conjunction with equals comparisons._ * [Explicit initialization](/recipes/staticanalysis/explicitinitialization.md) - _Checks if any class or object member is explicitly initialized to default for its type value: - `null` for object references - zero for numeric types and `char` - and `false` for `boolean` Removes explicit initializations where they aren't necessary._ * [Fall through](/recipes/staticanalysis/fallthrough.md) - _Checks for fall-through in switch statements, adding `break` statements in locations where a case contains Java code but does not have a `break`, `return`, `throw`, or `continue` statement._ * [Finalize classes with private constructors](/recipes/staticanalysis/finalclass.md) - _Adds the `final` modifier to classes that expose no public or package-private constructors._ @@ -2889,7 +2891,7 @@ _1 recipe_ ## security -_58 recipes_ +_59 recipes_ * [Find AWS secrets](/recipes/java/security/secrets/findawssecrets.md) - _Locates AWS secrets stored in plain text in code._ * [Find Artifactory secrets](/recipes/java/security/secrets/findartifactorysecrets.md) - _Locates Artifactory secrets stored in plain text in code._ @@ -2933,6 +2935,7 @@ _58 recipes_ * [Migrate to Spring Security 6.4](/recipes/java/spring/security6/upgradespringsecurity_6_4.md) - _Migrate applications to the latest Spring Security 6.4 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Migrate to Spring Security 6.4](/recipes/java/spring/security6/upgradespringsecurity_6_4.md) - _Migrate applications to the latest Spring Security 6.4 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Migrate to Spring Security 6.5](/recipes/java/spring/security6/upgradespringsecurity_6_5.md) - _Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ +* [Migrate to Spring Security 6.5](/recipes/java/spring/security6/upgradespringsecurity_6_5.md) - _Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Relocate `org.apache.commons:commons-io` to `commons-io:commons-io`](/recipes/apache/commons/io/relocateapachecommonsio.md) - _The deployment of `org.apache.commons:commons-io` [was a publishing mistake around 2012](https://issues.sonatype.org/browse/MVNCENTRAL-244) which was corrected by changing the deployment GAV to be located under `commons-io:commons-io`._ * [Remove Security AccessController](/recipes/java/migrate/accesscontroller.md) - _The Security Manager API is unsupported in Java 24. This recipe will remove the usage of `java.security.AccessController`._ * [Remove Security Policy](/recipes/java/migrate/removesecuritypolicy.md) - _The Security Manager API is unsupported in Java 24. This recipe will remove the use of `java.security.Policy`._ @@ -2981,7 +2984,7 @@ _12 recipes_ ## spring -_128 recipes_ +_129 recipes_ * [Add Spring compatibility extensions for commonly used annotations](/recipes/quarkus/spring/addspringcompatibilityextensions.md) - _Adds Quarkus Spring compatibility extensions when Spring annotations are detected in the codebase._ * [Add or replace Spring Boot build plugin with Quarkus build plugin](/recipes/quarkus/spring/migratemavenplugin.md) - _Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom._ @@ -3060,6 +3063,7 @@ _128 recipes_ * [Migrate to Spring Security 6.4](/recipes/java/spring/security6/upgradespringsecurity_6_4.md) - _Migrate applications to the latest Spring Security 6.4 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Migrate to Spring Security 6.4](/recipes/java/spring/security6/upgradespringsecurity_6_4.md) - _Migrate applications to the latest Spring Security 6.4 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Migrate to Spring Security 6.5](/recipes/java/spring/security6/upgradespringsecurity_6_5.md) - _Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ +* [Migrate to Spring Security 6.5](/recipes/java/spring/security6/upgradespringsecurity_6_5.md) - _Migrate applications to the latest Spring Security 6.5 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions._ * [Remove the deprecated properties `additional-keys-to-sanitize` from the `configprops` and `env` end points](/recipes/java/spring/boot3/actuatorendpointsanitization.md) - _Spring Boot 3.0 removed the key-based sanitization mechanism used in Spring Boot 2.x in favor of a unified approach. See https://github.com/openrewrite/rewrite-spring/issues/228_ * [Remove unnecessary `use-authorization-manager` for message security in Spring security 6](/recipes/java/spring/security6/removeuseauthorizationmanager.md) - _In Spring Security 6, `<websocket-message-broker>` defaults `use-authorization-manager` to `true`. So, the `use-authorization-manager` attribute for message security is no longer needed and can be removed._ * [Rename `server.max-http-header-size` to `server.max-http-request-header-size`](/recipes/java/spring/boot3/migratemaxhttpheadersize.md) - _Previously, the server.max-http-header-size was treated inconsistently across the four supported embedded web servers. When using Jetty, Netty, or Undertow it would configure the max HTTP request header size. When using Tomcat it would configure the max HTTP request and response header sizes. The renamed property is used to configure the http request header size in Spring Boot 3.0. **To limit the max header size of an HTTP response on Tomcat or Jetty (the only two servers that support such a setting), use a `WebServerFactoryCustomizer`**._ diff --git a/docs/reference/recipes-with-data-tables.md b/docs/reference/recipes-with-data-tables.md index 730a82896c..142f1db88e 100644 --- a/docs/reference/recipes-with-data-tables.md +++ b/docs/reference/recipes-with-data-tables.md @@ -63,7 +63,7 @@ This recipe searches for instances in code that may be impacted by post quantum * **io.moderne.devcenter.table.SecurityIssues**: *Security issues in the repository.* -### [Move to JUnit 5](/recipes/devcenter/junitjupiterupgrade.md) +### [Move to JUnit 6](/recipes/devcenter/junitjupiterupgrade.md) _io.moderne.devcenter.JUnitJupiterUpgrade_ @@ -668,17 +668,6 @@ Apply a set of [Gradle best practices](https://docs.gradle.org/current/userguide * **org.openrewrite.maven.table.MavenMetadataFailures**: *Attempts to resolve maven metadata that failed.* -### [Find Gradle `dependencies` blocks](/recipes/gradle/search/finddependencyhandler.md) - -_org.openrewrite.gradle.search.FindDependencyHandler_ - -Find the dependency handler containing any number of dependency definitions. - -#### Data tables: - - * **org.openrewrite.java.table.MethodCalls**: *The text of matching method invocations.* - - ### [Migrate to Gradle 9 from Gradle 8](/recipes/gradle/migratetogradle9.md) _org.openrewrite.gradle.MigrateToGradle9_ @@ -5269,7 +5258,7 @@ Locates and reports on all licenses in use. _org.openrewrite.java.dependencies.DependencyVulnerabilityCheck_ -This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-06T1102. +This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-20T1103. #### Data tables: @@ -5745,17 +5734,6 @@ This recipe will apply changes commonly needed when upgrading to Java 6. This re * **org.openrewrite.maven.table.MavenMetadataFailures**: *Attempts to resolve maven metadata that failed.* -### [Add missing `isWrapperFor` and `unwrap` methods.](/recipes/java/migrate/jrewrapperinterface.md) - -_org.openrewrite.java.migrate.JREWrapperInterface_ - -Add method implementations stubs to classes that implement `java.sql.Wrapper`. - -#### Data tables: - - * **org.openrewrite.maven.table.MavenMetadataFailures**: *Attempts to resolve maven metadata that failed.* - - ### [Migrate to Java 8](/recipes/java/migrate/upgradetojava8.md) _org.openrewrite.java.migrate.UpgradeToJava8_ diff --git a/docs/reference/scanning-recipes.md b/docs/reference/scanning-recipes.md index e9307c3dfa..2c7c8b7a73 100644 --- a/docs/reference/scanning-recipes.md +++ b/docs/reference/scanning-recipes.md @@ -667,7 +667,7 @@ _This doc contains all [scanning recipes](/concepts-and-explanations/recipes#sca * [Enable CSRF attack prevention](/recipes/java/security/spring/csrfprotection.md) - _Cross-Site Request Forgery (CSRF) is a type of attack that occurs when a malicious web site, email, blog, instant message, or program causes a user's web browser to perform an unwanted action on a trusted site when the user is authenticated. See the full [OWASP cheatsheet](https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html)._ * [Find and fix vulnerable Nuget dependencies](/recipes/csharp/dependencies/dependencyvulnerabilitycheck.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe **only** upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this recipe will not make any changes. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Dependencies following [Semantic Versioning](https://semver.org/) will see their _patch_ version updated where applicable._ -* [Find and fix vulnerable dependencies](/recipes/java/dependencies/dependencyvulnerabilitycheck.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-06T1102._ +* [Find and fix vulnerable dependencies](/recipes/java/dependencies/dependencyvulnerabilitycheck.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from the [GitHub Security Advisory Database](https://docs.github.com/en/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database), which aggregates vulnerability data from several public databases, including the [National Vulnerability Database](https://nvd.nist.gov/) maintained by the United States government. Upgrades dependencies versioned according to [Semantic Versioning](https://semver.org/). Last updated: 2025-10-20T1103._ * [Find licenses in use in third-party dependencies](/recipes/java/dependencies/dependencylicensecheck.md) - _Locates and reports on all licenses in use._ * [Prevent clickjacking](/recipes/java/security/spring/preventclickjacking.md) - _The `frame-ancestors` directive can be used in a Content-Security-Policy HTTP response header to indicate whether or not a browser should be allowed to render a page in a `<frame>` or `<iframe>`. Sites can use this to avoid Clickjacking attacks by ensuring that their content is not embedded into other sites._ * [Remove unused dependencies](/recipes/java/dependencies/removeunuseddependencies.md) - _Scans through source code collecting references to types and methods, removing any dependencies that are not used from Maven or Gradle build files. This recipe takes reflective access into account: When reflective access to a class is made unambiguously via a string literal, such as: `Class.forName("java.util.List")` that is counted correctly. When reflective access to a class is made ambiguously via anything other than a string literal no dependencies will be removed. This recipe takes transitive dependencies into account: When a direct dependency is not used but a transitive dependency it brings in _is_ in use the direct dependency is not removed._ @@ -753,8 +753,10 @@ _This doc contains all [scanning recipes](/concepts-and-explanations/recipes#sca * [Merge Spring `bootstrap.yml` with `application.yml`](/recipes/java/spring/boot2/mergebootstrapyamlwithapplicationyaml.md) - _In Spring Boot 2.4, support for `bootstrap.yml` was removed. It's properties should be merged with `application.yml`._ * [Migrate Spring Framework Dependencies to Spring Boot](/recipes/java/spring/boot/migratespringframeworkdependenciestospringboot.md) - _Migrate Spring Framework Dependencies to Spring Boot._ * [Migrate `Docket` to `GroupedOpenAPI`](/recipes/java/spring/doc/migratedocketbeantogroupedopenapibean.md) - _Migrate a `Docket` bean to a `GroupedOpenAPI` bean preserving group name, packages and paths. When possible the recipe will prefer property based configuration._ -* [Migrate `web.xml` to `WebApplicationInitializer`](/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md) - _Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests._ +* [Migrate `beans.xml` to Spring Framework configuration class](/recipes/java/spring/framework/beansxml/beansxmltoconfiguration.md) - _Converts Java/Jakarta EE `beans.xml` configuration files to Spring Framework `@Configuration` classes._ +* [Migrate `web.xml` to `WebApplicationInitializer`](/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md) - _Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests.It creates a `WebXmlWebAppInitializer` class in `src/main/java` with respect to submodules if they contain java files.**If it finds an existing `WebXmlWebAppInitializer`, it skips the creation**._ * [Rename bean](/recipes/java/spring/renamebean.md) - _Renames a Spring bean, both declaration and references._ +* [Separate `application.properties` by profile](/recipes/java/spring/separateapplicationpropertiesbyprofile.md) - _Separating `application.properties` into separate files based on profiles._ * [Separate application YAML by profile](/recipes/java/spring/separateapplicationyamlbyprofile.md) - _The Spring team's recommendation is to separate profile properties into their own YAML files now._ * [Update the API manifest](/recipes/java/spring/updateapimanifest.md) - _Keep a consolidated manifest of the API endpoints that this application exposes up-to-date._ * [Upgrade Spring dependencies](/recipes/maven/spring/upgradeexplicitspringbootdependencies.md) - _Upgrades dependencies according to the specified version of spring boot. Spring boot has many direct and transitive dependencies. When a module has an explicit dependency on one of these it may also need to be upgraded to match the version used by spring boot._ @@ -772,6 +774,9 @@ _This doc contains all [scanning recipes](/concepts-and-explanations/recipes#sca * [Remove `public` visibility of JUnit 5 tests](/recipes/java/testing/cleanup/testsshouldnotbepublic.md) - _Remove `public` and optionally `protected` modifiers from methods with `@Test`, `@ParameterizedTest`, `@RepeatedTest`, `@TestFactory`, `@BeforeEach`, `@AfterEach`, `@BeforeAll`, or `@AfterAll`. They no longer have to be public visibility to be usable by JUnit 5._ * [Replace Mockito 1.x `anyString()`/`any()` with `nullable(Class)`](/recipes/java/testing/mockito/anytonullable.md) - _Since Mockito 2.10 `anyString()` and `any()` no longer matches null values. Use `nullable(Class)` instead._ * [Replace `verifyZeroInteractions()` with `verifyNoMoreInteractions()`](/recipes/java/testing/mockito/verifyzerotonomoreinteractions.md) - _Replaces `verifyZeroInteractions()` with `verifyNoMoreInteractions()` in Mockito tests when migration when using a Mockito version < 3.x._ +## rewrite-toml + +* [Create TOML file](/recipes/toml/createtomlfile.md) - _Create a new TOML file._ ## rewrite-vulncheck * [Use VulnCheck Exploit Intelligence to fix vulnerabilities](/recipes/vulncheck/fixvulncheckvulnerabilities.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from VulnCheck Vulnerability Intelligence. The recipe has an option to limit fixes to only those vulnerabilities that have evidence of exploitation at various levels of severity._ diff --git a/docs/reference/standalone-recipes.md b/docs/reference/standalone-recipes.md index b2ebdb4aa1..bae1bb29a9 100644 --- a/docs/reference/standalone-recipes.md +++ b/docs/reference/standalone-recipes.md @@ -6,7 +6,7 @@ description: An autogenerated list of recipes that are not included in any compo _This doc contains recipes that are not included as part of any larger composite recipe. These recipes can be run independently and are not bundled with other recipes._ -Total standalone recipes: 1666 +Total standalone recipes: 1676 ## other @@ -18,7 +18,6 @@ Total standalone recipes: 1666 * [Add explicit JAXB API dependencies and remove runtimes](/recipes/java/migrate/javax/addjaxbdependencieswithoutruntime.md) - _This recipe will add explicit API dependencies without runtime dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing API dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 version 2.x which allows for the continued use of the `javax.xml.bind` namespace. All JAXB runtime implementation dependencies are removed._ * [Add manual workflow trigger](/recipes/github/addmanualtrigger.md) - _You can manually trigger workflow runs. To trigger specific workflows in a repository, use the `workflow_dispatch` event._ * [Adds `DefaultTheme` module augmentation to typescript projects.](/recipes/codemods/migrate/mui/themeaugment.md) - _See Material UI codemod projects for more [details](https://github.com/mui/material-ui/tree/master/packages/mui-codemod#theme-augment)._ -* [Adopt switch pattern matching (JEP 441)](/recipes/java/migrate/switchpatternmatching.md) - _[JEP 441](https://openjdk.org/jeps/441) describes how some switch statements can be improved with pattern matching. This recipe applies some of those improvements where applicable._ * [All Picnic Refaster rules](/recipes/tech/picnic/errorprone/refasterrules/tech/picnic/errorprone/refasterrules/allrefasterrules.md) - _Collection of all Refaster rules from Picnic's error-prone-contrib project._ * [Apply Gradle best practices](/recipes/gradle/gradlebestpractices.md) - _Apply a set of [Gradle best practices](https://docs.gradle.org/current/userguide/best_practices_general.html) to the build files, for more efficient and ideomatic builds._ * [ArchUnit 0.x upgrade](/recipes/java/testing/archunit/archunit0to1migration.md) - _Upgrade ArchUnit from 0.x to 1.x._ @@ -257,7 +256,6 @@ Total standalone recipes: 1666 * [Ensures presets are safe to use](/recipes/codemods/migrate/mui/presetsafe.md) - _See Material UI codemod projects for more [details](https://github.com/mui/material-ui/tree/master/packages/mui-codemod#preset-safe)._ * [Expect space before the type declaration in the named tuple](/recipes/codemods/format/typenamedtuplespacing.md) - _Expect space before the type declaration in the named tuple See [rule details](https://eslint.style/rules/default/type-named-tuple-spacing)_ * [Find GitHub action secret references](/recipes/github/findgithubactionsecretreferences.md) - _Help identify and inventory your GitHub secrets that are being used in GitHub actions._ -* [Find Gradle `dependencies` blocks](/recipes/gradle/search/finddependencyhandler.md) - _Find the dependency handler containing any number of dependency definitions._ * [Find Spring Web dependency](/recipes/java/spring/http/springwebdependency.md) - _Find compile scoped Spring Web dependency for Maven and Gradle, both direct and transitive._ * [Find Virtual Thread opportunities](/recipes/java/migrate/lang/findvirtualthreadopportunities.md) - _Find opportunities to convert existing code to use Virtual Threads._ * [Find hardcoded IP addresses](/recipes/kubernetes/search/findharcodedipaddresses.md) - _Find hardcoded IP address anywhere in text-based files._ @@ -315,7 +313,6 @@ Total standalone recipes: 1666 * [Migrate Spring Boot to Quarkus](/recipes/quarkus/spring/springboottoquarkus.md) - _Replace Spring Boot with Quarkus._ * [Migrate Spring to Spring Boot](/recipes/java/spring/boot/springtospringboot.md) - _Migrate non Spring Boot applications to the latest compatible Spring Boot release. This recipe will modify an application's build files introducing Maven dependency management for Spring Boot, or adding the Gradle Spring Boot build plugin._ * [Migrate `javax.annotations` to SpotBugs annotations](/recipes/jenkins/javaxannotationstospotbugs.md) - _SpotBugs is the [preferred replacement](https://www.jenkins.io/doc/developer/tutorial-improve/replace-jsr-305-annotations/) of JSR-305 annotations for Jenkins plugins._ -* [Migrate `web.xml` to Java Configuration](/recipes/spring/webxml/removewebxml.md) - _Migrates `web.xml` content to Spring Boot Configuration classes with respect to Java EE or Jakarta EE usage._ * [Migrate com.intellij:annotations to org.jetbrains:annotations](/recipes/java/migrate/comintellijannotationstoorgjetbrainsannotations.md) - _This recipe will upgrade old dependency of com.intellij:annotations to the newer org.jetbrains:annotations._ * [Migrate from EasyMock to Mockito](/recipes/java/testing/easymock/easymocktomockito.md) - _This recipe will apply changes commonly needed when migrating from EasyMock to Mockito._ * [Migrate from Elasticsearch 8 to 9](/recipes/elastic/elastic9/migratetoelasticsearch9.md) - _This recipe performs a comprehensive migration from Elasticsearch 8 to Elasticsearch 9, addressing breaking changes, API removals, deprecations, and required code modifications._ @@ -351,12 +348,14 @@ Total standalone recipes: 1666 * [Migrate to Kafka 4.1](/recipes/kafka/migratetokafka41.md) - _Migrate applications to the latest Kafka 4.1 release. This includes updating dependencies to 4.1.x, migrating deprecated Admin API methods, updating Streams configuration properties, and removing deprecated broker properties._ * [Migrate to Kubernetes API v1.32](/recipes/kubernetes/migrate/migratetoapiv1_32.md) - _This recipe will apply changes commonly needed when migrating to Kubernetes API v1.32._ * [Migrate to LaunchDarkly 7.x](/recipes/featureflags/launchdarkly/upgradelaunchdarkly7.md) - _This recipe will apply changes commonly needed when migrating to LaunchDarkly 7.x._ +* [Migrate to Maven 4](/recipes/maven/migratetomaven4.md) - _Migrates Maven POMs from Maven 3 to Maven 4, addressing breaking changes and deprecations. This recipe updates property expressions, lifecycle phases, removes duplicate plugin declarations, and replaces removed properties to ensure compatibility with Maven 4._ * [Migrate to OkHttp 5.x](/recipes/okhttp/upgradeokhttp5.md) - _This recipe will apply changes commonly needed when migrating to OkHttp 5.x._ * [Migrate to Spring Framework 6.2 for WebLogic 15.1.1](/recipes/com/oracle/weblogic/rewrite/spring/framework/upgradetospringframework_6_2.md) - _Migrate applications to the Spring Framework 6.2 release and compatibility with WebLogic 15.1.1._ * [Migrate to Struts 6.0](/recipes/java/struts/migrate6/migratestruts6.md) - _Migrate Struts 2.x to Struts 6.0_ * [Migrate to WebLogic 14.1.1](/recipes/com/oracle/weblogic/rewrite/upgradeto1411.md) - _This recipe will apply changes required for migrating to WebLogic 14.1.1_ * [Migrate to WebLogic 14.1.2](/recipes/com/oracle/weblogic/rewrite/upgradeto1412.md) - _This recipe will apply changes required for migrating to WebLogic 14.1.2_ * [Migrate to WebLogic 15.1.1](/recipes/com/oracle/weblogic/rewrite/upgradeto1511.md) - _This recipe will apply changes required for migrating to WebLogic 15.1.1 and Jakarta EE 9.1_ +* [Migrates `camel 4.14` application to `camel 4.15`](/recipes/io/quarkus/updates/camel/camel415/camelquarkusmigrationrecipe.md) - _Migrates `camel 4.14` Quarkus application to `camel 4.15`._ * [Migrates from Jackson 2.x to Jackson 3.x](/recipes/java/jackson/upgradejackson_2_3.md) - _Migrate applications to the latest Jackson 3.x release. This recipe handles package changes (`com.fasterxml.jackson` -> `tools.jackson`), dependency updates, core class renames, exception renames, and method renames (e.g., `JsonGenerator.writeObject()` -> `writePOJO()`, `JsonParser.getCurrentValue()` -> `currentValue()`)._ * [Migrates from Netty 4.1.x to Netty 4.2.x](/recipes/netty/upgradenetty_4_1_to_4_2.md) - _Migrate applications to the latest Netty 4.2.x release._ * [Migrates to Apache Commons Collections 4.x](/recipes/apache/commons/collections/upgradeapachecommonscollections_3_4.md) - _Migrate applications to the latest Apache Commons Collections 4.x release. This recipe modifies application's build files, make changes to deprecated/preferred APIs, and migrates configuration settings that have changes between versions._ @@ -643,11 +642,9 @@ Total standalone recipes: 1666 * [URIs created with an HTTP scheme](/recipes/analysis/search/uricreatedwithhttpscheme.md) - _This is a sample recipe demonstrating a simple application of local data flow analysis._ ## rewrite-apache -* [Apache POI use `Cell.setCellType(CellType)`](/recipes/apache/poi/replacesetcelltype.md) - _`Cell.setCellType()` can be configured with either an integer or a the `CellType` enumeration. It is clearer and less error-prone to use the `CellType` enumeration, so this recipe converts all `setCellType()` calls to use it._ * [Migrate from Plexus `AbstractLogEnabled` to SLF4J](/recipes/codehaus/plexus/abstractlogenabledtoslf4j.md) - _Introduce a SLF4J `Logger` field and replace calls to `getLogger()` with calls to the field._ * [Prefer `java.nio.file.Files`](/recipes/apache/commons/io/apachefileutilstojavafiles.md) - _Prefer the Java standard library's `java.nio.file.Files` over third-party usage of apache's `apache.commons.io.FileUtils`._ * [Prefer `java.util.Base64`](/recipes/apache/commons/codec/apachebase64tojavabase64.md) - _Prefer the Java standard library's `java.util.Base64` over third-party usage of apache's `apache.commons.codec.binary.Base64`._ -* [Replace `Font.setBoldweight(short)` with `Font.setBold(boolean)`](/recipes/apache/poi/replacesetboldweightwithsetbold.md) - _Replace `Font.setBoldweight(short)` or equivalent with `Font.setBold(boolean)`._ * [Replace any StringUtils#isEmpty(String) and #isNotEmpty(String)](/recipes/apache/commons/lang/isnotemptytojdk.md) - _Replace any `StringUtils#isEmpty(String)` and `#isNotEmpty(String)` with `s == null || s.isEmpty()` and `s != null && !s.isEmpty()`._ * [Use IOUtils method that include their charset encoding](/recipes/apache/commons/io/apacheioutilsuseexplicitcharset.md) - _Use `IOUtils` method invocations that include the charset encoding instead of using the deprecated versions that do not include a charset encoding. (e.g. converts `IOUtils.readLines(inputStream)` to `IOUtils.readLines(inputStream, StandardCharsets.UTF_8)`._ * [`ApacheCommonsFileUtils` Refaster recipes](/recipes/apache/commons/io/apachecommonsfileutilsrecipes.md) - _Refaster template recipes for `org.openrewrite.apache.commons.io.ApacheCommonsFileUtils`._ @@ -1304,7 +1301,12 @@ Total standalone recipes: 1666 * [Remove FF4j's `check` for feature key](/recipes/featureflags/ff4j/removecheck.md) - _Replace `check()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ * [Remove LaunchDarkly's `boolVariation` for feature key](/recipes/featureflags/launchdarkly/removeboolvariation.md) - _Replace `boolVariation` invocations for feature key with value, and simplify constant if branch execution._ * [Remove LaunchDarkly's `boolVariation` for feature key](/recipes/featureflags/launchdarkly/removestringvariation.md) - _Replace `boolVariation` invocations for feature key with value, and simplify constant if branch execution._ +* [Remove LaunchDarkly's `doubleVariation` for feature key](/recipes/featureflags/launchdarkly/removedoublevariation.md) - _Replace `doubleVariation` invocations for feature key with value, and simplify constant if branch execution._ +* [Remove LaunchDarkly's `intVariation` for feature key](/recipes/featureflags/launchdarkly/removeintvariation.md) - _Replace `intVariation` invocations for feature key with value, and simplify constant if branch execution._ * [Remove OpenFeature's `getBooleanValue` for feature key](/recipes/featureflags/openfeature/removegetbooleanvalue.md) - _Replace `getBooleanValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ +* [Remove OpenFeature's `getDoubleValue` for feature key](/recipes/featureflags/openfeature/removegetdoublevalue.md) - _Replace `getDoubleValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ +* [Remove OpenFeature's `getIntegerValue` for feature key](/recipes/featureflags/openfeature/removegetintegervalue.md) - _Replace `getIntegerValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ +* [Remove OpenFeature's `getStringValue` for feature key](/recipes/featureflags/openfeature/removegetstringvalue.md) - _Replace `getStringValue()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ * [Remove Unleash's `isEnabled` for feature key](/recipes/featureflags/unleash/removeisenabled.md) - _Replace `isEnabled()` invocations for `featureKey` with `replacementValue`, and simplify constant if branch execution._ ## rewrite-github-actions @@ -1353,6 +1355,7 @@ Total standalone recipes: 1666 * [Does not include Gradle dependency](/recipes/gradle/search/doesnotincludedependency.md) - _A precondition which returns false if visiting a Gradle file which includes the specified dependency in the classpath of some scope. For compatibility with multimodule projects, this should most often be applied as a precondition._ * [Enable Develocity build cache](/recipes/gradle/enabledevelocitybuildcache.md) - _Adds `buildCache` configuration to `develocity` where not yet present._ * [Find Gradle JVMTestSuite plugin configuration](/recipes/gradle/search/findjvmtestsuites.md) - _Find Gradle JVMTestSuite plugin configurations and produce a data table._ +* [Find Gradle `dependencies` blocks](/recipes/gradle/search/finddependencyhandler.md) - _Find the dependency handler containing any number of dependency definitions._ * [Find Gradle dependency](/recipes/gradle/search/finddependency.md) - _Finds dependencies declared in gradle build files. See the [reference](https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph) on Gradle configurations or the diagram below for a description of what configuration to use. A project's compile and runtime classpath is based on these configurations. <img alt="Gradle compile classpath" src="https://docs.gradle.org/current/userguide/img/java-library-ignore-deprecated-main.png" width="200px"/> A project's test classpath is based on these configurations. <img alt="Gradle test classpath" src="https://docs.gradle.org/current/userguide/img/java-library-ignore-deprecated-test.png" width="200px"/>._ * [Find Gradle plugin](/recipes/gradle/search/findplugins.md) - _Find a Gradle plugin by id and/or class name. For best results both should be specified, as one cannot automatically be used to infer the other._ * [Find Gradle projects](/recipes/gradle/search/findgradleproject.md) - _Gradle projects are those with `build.gradle` or `build.gradle.kts` files._ @@ -1412,6 +1415,8 @@ Total standalone recipes: 1666 * [Find files compiled at a specific Java version](/recipes/java/search/hasjavaversion.md) - _Finds Java source files matching a particular language level. This is useful especially as a precondition for other recipes._ * [Find files in a source set](/recipes/java/search/hassourceset.md) - _Source sets are a way to organize your source code into logical groups. For example, Java projects commonly have a `main` source set for application code and a `test` source set for test code. This recipe will find all files in a given source set._ * [Find files that are likely not tests](/recipes/java/search/islikelynottest.md) - _Sources that do not contain indicators of being, or being exclusively for the use in tests. This recipe is simply a negation of the `org.openrewrite.java.search.IsLikelyTest` recipe._ +* [Find files that have at least one use of a method](/recipes/java/search/hasmethod.md) - _Marks files that have at least one occurrence of a method matching a pattern._ +* [Find files that have at least one use of a type](/recipes/java/search/hastype.md) - _Marks files that have at least one occurrence of a type, even if the name of that type doesn't appear in the source code._ * [Find files with a particular build tool version](/recipes/java/search/hasbuildtoolversion.md) - _Finds Java source files built with a particular build tool. This is useful especially as a precondition for other recipes._ * [Find literals](/recipes/java/search/findliterals.md) - _Find literals matching a pattern._ * [Find method declaration](/recipes/java/search/findmethoddeclaration.md) - _Locates the declaration of a method._ @@ -1575,7 +1580,6 @@ Total standalone recipes: 1666 * [A collection of `String` rules](/recipes/java/migrate/lang/stringrulesrecipes.md) - _A collection of rules for refactoring methods called on `String` instances in Java code._ * [Add `JDeprScan` Maven Plug-in](/recipes/java/migrate/addjdeprscanplugin.md) - _Add the `JDeprScan` Maven plugin to scan class files for uses of deprecated APIs._ * [Add maven jar plugin to suppress illegal reflection warnings](/recipes/java/migrate/addsuppressionforillegalreflectionwarningsplugin.md) - _Adds a maven jar plugin that's configured to suppress Illegal Reflection Warnings._ -* [Add null check to existing switch cases](/recipes/java/migrate/lang/nullcheckasswitchcase.md) - _In later Java 21+, null checks are valid in switch cases. This recipe will only add null checks to existing switch cases if there are no other statements in between them or if the block in the if statement is not impacting the flow of the switch._ * [Add scope annotation to injected classes](/recipes/java/migrate/javax/addscopetoinjectedclass.md) - _Finds member variables annotated with `@Inject' and applies `@Dependent` scope annotation to the variable's type._ * [Convert `@lombok.Value` class to Record](/recipes/java/migrate/lombok/lombokvaluetorecord.md) - _Convert Lombok `@Value` annotated classes to standard Java Records._ * [Convert `new URL(String, ..)` to `new URI(String, ..).toURL()`](/recipes/java/migrate/net/urlconstructorstonewuri.md) - _Converts `new URL(String, ..)` constructors to `new URI(String, ..).toURL()`._ @@ -1587,9 +1591,7 @@ Total standalone recipes: 1666 * [Force indentation to either tabs or spaces](/recipes/java/migrate/usetabsorspaces.md) - _This is useful for one-off migrations of a codebase that has mixed indentation styles, while preserving all other auto-detected formatting rules._ * [If-else-if-else to switch](/recipes/java/migrate/lang/ifelseifconstructtoswitch.md) - _Replace if-else-if-else with switch statements. In order to be replaced with a switch, all conditions must be on the same variable and there must be at least three cases._ * [Plan a Java version migration](/recipes/java/migrate/search/planjavamigration.md) - _Study the set of Java versions and associated tools in use across many repositories._ -* [Prefer `EnumSet of(..)`](/recipes/java/migrate/util/useenumsetof.md) - _Prefer `EnumSet of(..)` instead of using `Set of(..)` when the arguments are enums in Java 5 or higher._ * [Prefer `Map.of(..)`](/recipes/java/migrate/util/usemapof.md) - _Prefer `Map.of(..)` instead of using `java.util.Map#put(..)` in Java 10 or higher._ -* [Prefer `new HashMap<>()`](/recipes/java/migrate/guava/noguavamapsnewhashmap.md) - _Prefer the Java standard library over third-party usage of Guava in simple cases like this._ * [Prefer `new LinkedHashMap<>()`](/recipes/java/migrate/guava/noguavamapsnewlinkedhashmap.md) - _Prefer the Java standard library over third-party usage of Guava in simple cases like this._ * [Project has no Jakarta annotations](/recipes/java/migrate/jakarta/hasnojakartaannotations.md) - _Mark all source as found per `JavaProject` where no Jakarta annotations are found. This is useful mostly as a precondition for recipes that require Jakarta annotations to be present_ * [Remove illegal semicolons](/recipes/java/migrate/removeillegalsemicolons.md) - _Remove semicolons after package declarations and imports, no longer accepted in Java 21 as of [JDK-8027682](https://bugs.openjdk.org/browse/JDK-8027682)._ @@ -1638,7 +1640,6 @@ Total standalone recipes: 1666 * [Add missing `@Configuration` annotation](/recipes/java/spring/boot2/addconfigurationannotationifbeanspresent.md) - _Class having `@Bean` annotation over any methods but missing `@Configuration` annotation over the declaring class would have `@Configuration` annotation added._ * [Add trailing slash to Spring routes](/recipes/java/spring/boot3/addroutetrailingslash.md) - _This is part of Spring MVC and WebFlux URL Matching Changes, as of Spring Framework 6.0, the trailing slash matching configuration option has been deprecated and its default value set to false. This means that previously, a controller `@GetMapping("/some/greeting")` would match both `GET /some/greeting` and `GET /some/greeting/`, but it doesn't match `GET /some/greeting/` anymore by default and will result in an HTTP 404 error. This recipe is to add declaration of additional route explicitly on the controller handler (like `@GetMapping("/some/greeting", "/some/greeting/")`._ * [Bean methods should return concrete types](/recipes/java/spring/boot3/precisebeantype.md) - _Replace Bean method return types with concrete types being returned. This is required for Spring 6 AOT._ -* [Delete empty `web.xml` files](/recipes/java/spring/framework/webxml/deleteemptywebxml.md) - _Deletes `web.xml` files that contain only an empty `<web-app>` root element with no child elements._ * [Expand Spring YAML properties](/recipes/java/spring/expandproperties.md) - _Expand YAML properties to not use the dot syntax shortcut._ * [Find HTTP API calls via `RestTemplate`](/recipes/java/spring/search/findapicalls.md) - _Find outbound HTTP API calls made via Spring's `RestTemplate` class._ * [Find Spring API endpoints](/recipes/java/spring/search/findapiendpoints.md) - _Find all HTTP API endpoints exposed by Spring applications. More specifically, this marks method declarations annotated with `@RequestMapping`, `@GetMapping`, `@PostMapping`, `@PutMapping`, `@DeleteMapping`, and `@PatchMapping` as search results._ @@ -1648,14 +1649,14 @@ Total standalone recipes: 1666 * [Is likely a Spring Framework project](/recipes/java/spring/framework/islikelyspringframework.md) - _Marks the project if it's likely a Spring Framework project._ * [Is likely not a Spring Boot project](/recipes/java/spring/boot/islikelynotspringboot.md) - _Marks the project if it's likely not a Spring Boot project._ * [Maintain trailing slash URL mappings](/recipes/java/spring/boot3/maintaintrailingslashurlmappings.md) - _This is part of Spring MVC and WebFlux URL Matching Changes, as of Spring Framework 6.0, the trailing slash matching configuration option has been deprecated and its default value set to false. This means that previously, a controller `@GetMapping("/some/greeting")` would match both `GET /some/greeting` and `GET /some/greeting/`, but it doesn't match `GET /some/greeting/` anymore by default and will result in an HTTP 404 error. This recipe is to maintain trailing slash in all HTTP url mappings._ -* [Migrate `web.xml` to `WebApplicationInitializer`](/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md) - _Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests._ +* [Migrate `beans.xml` to Spring Framework configuration class](/recipes/java/spring/framework/beansxml/beansxmltoconfiguration.md) - _Converts Java/Jakarta EE `beans.xml` configuration files to Spring Framework `@Configuration` classes._ +* [Migrate `web.xml` to `WebApplicationInitializer`](/recipes/java/spring/framework/webxml/webxmltowebapplicationinitializer.md) - _Migrate `web.xml` to `WebApplicationInitializer` for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks up `web.xml` files located in the `src/main/webapp/WEB-INF` directory to avoid inference with tests.It creates a `WebXmlWebAppInitializer` class in `src/main/java` with respect to submodules if they contain java files.**If it finds an existing `WebXmlWebAppInitializer`, it skips the creation**._ * [Migrate multi-condition `@ConditionalOnBean` annotations](/recipes/java/spring/boot2/conditionalonbeananynestedcondition.md) - _Migrate multi-condition `@ConditionalOnBean` annotations to `AnyNestedCondition`._ * [Remove `TestRestTemplate.HttpClientOption.ENABLE_REDIRECTS` option](/recipes/java/spring/boot3/removetestresttemplateenableredirectsoptionrecipe.md) - _The `TestRestTemplate` now uses the same follow redirects settings as the regular RestTemplate. The `HttpOption.ENABLE_REDIRECTS` option has also been deprecated. This recipe removes the option from the `TestRestTemplate` constructor arguments._ * [Remove implicit web annotation names](/recipes/java/spring/implicitwebannotationnames.md) - _Removes implicit web annotation names._ * [Remove unnecessary `@Repository` annotation from Spring Data `Repository` sub-interface](/recipes/java/spring/norepoannotationonrepointerface.md) - _Removes superfluous `@Repository` annotation from Spring Data `Repository` sub-interfaces._ * [Remove unneeded `oauth2Login` config when upgrading to Spring Security 6](/recipes/java/spring/security6/removeoauth2loginconfig.md) - _`oauth2Login()` is a Spring Security feature that allows users to authenticate with an OAuth2 or OpenID Connect 1.0 provider. When a user is authenticated using this feature, they are granted a set of authorities that determines what actions they are allowed to perform within the application. In Spring Security 5, the default authority given to a user authenticated with an OAuth2 or OpenID Connect 1.0 provider via `oauth2Login()` is `ROLE_USER`. This means that the user is allowed to access the application's resources as a regular user. However, in Spring Security 6, the default authority given to a user authenticated with an OAuth2 provider is `OAUTH2_USER`, and the default authority given to a user authenticated with an OpenID Connect 1.0 provider is `OIDC_USER`. These authorities are more specific and allow for better customization of the user's permissions within the application. If you are upgrading to Spring Security 6 and you have previously configured a `GrantedAuthoritiesMapper` to handle the authorities of users authenticated via `oauth2Login()`, you can remove it completely as the new default authorities should be sufficient._ * [Rename bean](/recipes/java/spring/renamebean.md) - _Renames a Spring bean, both declaration and references._ -* [Separate application YAML by profile](/recipes/java/spring/separateapplicationyamlbyprofile.md) - _The Spring team's recommendation is to separate profile properties into their own YAML files now._ * [Update the API manifest](/recipes/java/spring/updateapimanifest.md) - _Keep a consolidated manifest of the API endpoints that this application exposes up-to-date._ * [Upgrade Spring dependencies](/recipes/maven/spring/upgradeexplicitspringbootdependencies.md) - _Upgrades dependencies according to the specified version of spring boot. Spring boot has many direct and transitive dependencies. When a module has an explicit dependency on one of these it may also need to be upgraded to match the version used by spring boot._ * [Use TLS for AMQP connection strings](/recipes/java/spring/amqp/usetlsamqpconnectionstring.md) - _Use TLS for AMQP connection strings._ @@ -1741,9 +1742,18 @@ Total standalone recipes: 1666 * [JUnit 4 MockitoJUnitRunner.Silent to JUnit Jupiter MockitoExtension with LENIENT settings](/recipes/java/testing/mockito/mockitojunitrunnersilenttoextension.md) - _Replace `@RunWith(MockitoJUnitRunner.Silent.class)` with `@ExtendWith(MockitoExtension.class)` and `@MockitoSettings(strictness = Strictness.LENIENT)`._ * [Remove empty tests without comments](/recipes/java/testing/cleanup/removeemptytests.md) - _Removes empty methods with a `@Test` annotation if the body does not have comments._ * [Replace Mockito 1.x `anyString()` with `nullable(String.class)`](/recipes/java/testing/mockito/anystringtonullable.md) - _Since Mockito 2.10 `anyString()` no longer matches null values. Use `nullable(Class)` instead._ -## rewrite-third-party +## rewrite-toml -* [`AssertJStreamRules` Refaster recipes](/recipes/tech/picnic/errorprone/refasterrules/assertjstreamrulesrecipes.md) - _Refaster template recipes for `tech.picnic.errorprone.refasterrules.AssertJStreamRules`. [Source](https://error-prone.picnic.tech/refasterrules/AssertJStreamRules)._ +* [Change TOML key](/recipes/toml/changekey.md) - _Change a TOML key, while leaving the value intact._ +* [Change TOML table row value](/recipes/toml/changetablerowvalue.md) - _Change a value in a TOML table row when the identifying property matches the specified matcher._ +* [Change TOML value](/recipes/toml/changevalue.md) - _Change the value of a TOML key._ +* [Create TOML file](/recipes/toml/createtomlfile.md) - _Create a new TOML file._ +* [Delete TOML key](/recipes/toml/deletekey.md) - _Delete a TOML key-value pair._ +* [Delete TOML table](/recipes/toml/deletetable.md) - _Delete a TOML table._ +* [Delete TOML table row](/recipes/toml/deletetablerow.md) - _Delete a TOML table row when one of its values matches the specified matcher._ +* [Find TOML keys](/recipes/toml/findkey.md) - _Find TOML keys matching a path expression._ +* [Merge TOML table row](/recipes/toml/mergetablerow.md) - _Merge a TOML row into an array table. If a row with the same identifying property exists, merge the values. Otherwise, insert a new row._ +* [Replace TOML table row](/recipes/toml/replacetablerow.md) - _Replace a TOML table row with new content. If a row with the same identifying property exists, replace it entirely._ ## rewrite-vulncheck * [Use VulnCheck Exploit Intelligence to fix vulnerabilities](/recipes/vulncheck/fixvulncheckvulnerabilities.md) - _This software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version, this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from VulnCheck Vulnerability Intelligence. The recipe has an option to limit fixes to only those vulnerabilities that have evidence of exploitation at various levels of severity._ diff --git a/sidebars.ts b/sidebars.ts index 75de582abc..ef1455b518 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -183,6 +183,7 @@ const sidebars: SidebarsConfig = { keywords: ['changelog'], }, items: [ + 'changelog/8-64-0-Release', 'changelog/8-63-0-Release', 'changelog/8-62-4-Release', 'changelog/8-62-0-Release', diff --git a/src/plugins/latest-versions.js b/src/plugins/latest-versions.js index 894800d82a..c7cd48d3ac 100644 --- a/src/plugins/latest-versions.js +++ b/src/plugins/latest-versions.js @@ -1,79 +1,79 @@ const latestVersions = { - "{{VERSION_REWRITE_RECIPE_BOM}}": "3.16.0", - "{{VERSION_REWRITE_GRADLE_PLUGIN}}": "7.18.0", - "{{VERSION_REWRITE_MAVEN_PLUGIN}}": "6.21.0", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_CRYPTOGRAPHY}}": "0.10.0", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_DEVCENTER}}": "1.9.0", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_ELASTIC}}": "0.3.0", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_HIBERNATE}}": "0.13.0", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_KAFKA}}": "0.3.0", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_PROGRAM_ANALYSIS}}": "0.5.5", - "{{VERSION_IO_MODERNE_RECIPE_REWRITE_SPRING}}": "0.13.1", + "{{VERSION_REWRITE_RECIPE_BOM}}": "3.17.0", + "{{VERSION_REWRITE_GRADLE_PLUGIN}}": "7.19.0", + "{{VERSION_REWRITE_MAVEN_PLUGIN}}": "6.22.1", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_CRYPTOGRAPHY}}": "0.10.1", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_DEVCENTER}}": "1.10.1", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_ELASTIC}}": "0.3.1", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_HIBERNATE}}": "0.13.2", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_KAFKA}}": "0.3.1", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_PROGRAM_ANALYSIS}}": "0.5.6", + "{{VERSION_IO_MODERNE_RECIPE_REWRITE_SPRING}}": "0.15.0", "{{VERSION_IO_MODERNE_RECIPE_REWRITE_VULNCHECK}}": "0.5.0", "{{VERSION_ORG_OPENREWRITE_REWRITE_COBOL}}": "2.13.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_CORE}}": "8.63.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_CORE}}": "8.64.0", "{{VERSION_ORG_OPENREWRITE_REWRITE_CSHARP}}": "0.27.27", - "{{VERSION_ORG_OPENREWRITE_REWRITE_GRADLE}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_GROOVY}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_HCL}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_JAVA}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_JAVASCRIPT}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_JSON}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_KOTLIN}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_POLYGLOT}}": "2.7.3", - "{{VERSION_ORG_OPENREWRITE_REWRITE_PROPERTIES}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_PROTOBUF}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_PYTHON}}": "1.43.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_TEMPLATING}}": "1.36.2", - "{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_XML}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_REWRITE_YAML}}": "8.63.0", - "{{VERSION_ORG_OPENREWRITE_META_REWRITE_ANALYSIS}}": "2.27.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_AI_SEARCH}}": "0.31.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_ALL}}": "1.22.1", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_ANDROID}}": "0.13.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_APACHE}}": "2.18.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_AZUL}}": "0.7.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CIRCLECI}}": "3.8.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CODEMODS}}": "0.20.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CODEMODS_NG}}": "0.14.3", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_COMPILED_ANALYSIS}}": "0.9.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_COMPREHENSION}}": "0.8.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CONCOURSE}}": "3.8.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CUCUMBER_JVM}}": "2.10.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_DOCKER}}": "2.12.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_DOTNET}}": "0.13.4", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_DROPWIZARD}}": "0.7.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}": "1.14.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_GITHUB_ACTIONS}}": "3.12.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_GITLAB}}": "0.16.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_HIBERNATE}}": "2.13.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JACKSON}}": "1.7.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JAVA_DEPENDENCIES}}": "1.43.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JAVA_SECURITY}}": "3.19.1", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JENKINS}}": "0.31.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JODA}}": "0.2.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_KUBERNETES}}": "3.11.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_LIBERTY}}": "1.22.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_LOGGING_FRAMEWORKS}}": "3.16.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MICROMETER}}": "0.26.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MICRONAUT}}": "2.29.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MIGRATE_JAVA}}": "3.19.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_NETTY}}": "0.5.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_NODEJS}}": "0.30.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_OKHTTP}}": "0.19.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_OPENAPI}}": "0.25.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_QUARKUS}}": "2.27.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_REACTIVE_STREAMS}}": "0.17.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_REWRITE}}": "0.14.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}}": "6.16.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING_TO_QUARKUS}}": "0.1.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SQL}}": "2.7.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_STATIC_ANALYSIS}}": "2.19.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_STRUTS}}": "0.22.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TERRAFORM}}": "3.9.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}": "3.19.0", - "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}": "0.29.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_GRADLE}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_GROOVY}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_HCL}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_JAVA}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_JAVASCRIPT}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_JSON}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_KOTLIN}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_MAVEN}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_POLYGLOT}}": "2.7.4", + "{{VERSION_ORG_OPENREWRITE_REWRITE_PROPERTIES}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_PROTOBUF}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_PYTHON}}": "1.43.1", + "{{VERSION_ORG_OPENREWRITE_REWRITE_TEMPLATING}}": "1.37.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_TOML}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_XML}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_REWRITE_YAML}}": "8.64.0", + "{{VERSION_ORG_OPENREWRITE_META_REWRITE_ANALYSIS}}": "2.28.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_AI_SEARCH}}": "0.31.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_ALL}}": "1.22.2", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_ANDROID}}": "0.13.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_APACHE}}": "2.19.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_AZUL}}": "0.7.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CIRCLECI}}": "3.8.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CODEMODS}}": "0.20.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CODEMODS_NG}}": "0.14.4", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_COMPILED_ANALYSIS}}": "0.9.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_COMPREHENSION}}": "0.8.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CONCOURSE}}": "3.8.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_CUCUMBER_JVM}}": "2.10.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_DOCKER}}": "2.13.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_DOTNET}}": "0.13.5", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_DROPWIZARD}}": "0.7.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_FEATURE_FLAGS}}": "1.15.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_GITHUB_ACTIONS}}": "3.13.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_GITLAB}}": "0.16.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_HIBERNATE}}": "2.14.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JACKSON}}": "1.8.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JAVA_DEPENDENCIES}}": "1.44.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JAVA_SECURITY}}": "3.20.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JENKINS}}": "0.31.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_JODA}}": "0.2.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_KUBERNETES}}": "3.12.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_LIBERTY}}": "1.22.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_LOGGING_FRAMEWORKS}}": "3.17.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MICROMETER}}": "0.26.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MICRONAUT}}": "2.29.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_MIGRATE_JAVA}}": "3.20.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_NETTY}}": "0.5.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_NODEJS}}": "0.32.3", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_OKHTTP}}": "0.19.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_OPENAPI}}": "0.26.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_QUARKUS}}": "2.27.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_REACTIVE_STREAMS}}": "0.17.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_REWRITE}}": "0.14.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING}}": "6.17.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SPRING_TO_QUARKUS}}": "0.2.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_SQL}}": "2.7.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_STATIC_ANALYSIS}}": "2.20.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_STRUTS}}": "0.22.1", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TERRAFORM}}": "3.10.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_TESTING_FRAMEWORKS}}": "3.20.0", + "{{VERSION_ORG_OPENREWRITE_RECIPE_REWRITE_THIRD_PARTY}}": "0.30.0", }; export default latestVersions;