Recipes by Tag
This doc contains all recipe tags and the recipes that are tagged with them.
Total tags: 252
5to6
7 recipes
- org.openrewrite.codemods.ecmascript.5to6.ECMAScript6BestPractices
- Upgrade ECMAScript 5 to ECMAScript 6
- A collection of common ECMAScript 5 to ECMAScript 6 updates.
- org.openrewrite.codemods.ecmascript.5to6.amdToEsm
- Transform AMD style
define()calls to ES6importstatements - Transform AMD style
define()calls to ES6importstatements.
- Transform AMD style
- org.openrewrite.codemods.ecmascript.5to6.cjsToEsm
- Transform CommonJS style
require()calls to ES6importstatements - Transform CommonJS style
require()calls to ES6importstatements.
- Transform CommonJS style
- org.openrewrite.codemods.ecmascript.5to6.namedExportGeneration
- Generate named exports from CommonJS modules
- Generate named exports from CommonJS modules.
- org.openrewrite.codemods.ecmascript.5to6.noStrict
- Remove "use strict" directives
- Remove "use strict" directives.
- org.openrewrite.codemods.ecmascript.5to6.simpleArrow
- Replace all function expressions with only
returnstatement with simple arrow - Replace all function expressions with only
returnstatement with simple arrow function.
- Replace all function expressions with only
- org.openrewrite.codemods.ecmascript.5to6.varToLet
- Convert
vartolet - Convert
vartolet.
- Convert
actions
2 recipes
- org.openrewrite.github.MigrateSetupUvV6ToV7
- Migrate
astral-sh/setup-uvfrom v6 to v7 - Migrates
astral-sh/setup-uvfrom v6 to v7. Updates the action version and removes the deprecatedserver-urlinput. See the v7.0.0 release notes for breaking changes.
- Migrate
- org.openrewrite.github.MigrateTibdexGitHubAppTokenToActions
- Migrate from tibdex/github-app-token to actions/create-github-app-token
- Migrates from tibdex/github-app-token@v2 to actions/create-github-app-token@v2 and updates parameter names from snake_case to kebab-case.
activation
2 recipes
- io.quarkus.updates.core.quarkus30.JavaxActivationMigrationToJakartaActivation
- Migrate deprecated
javax.activationpackages tojakarta.activation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxActivationMigrationToJakartaActivation
- Migrate deprecated
javax.activationpackages tojakarta.activation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
activemq
1 recipe
- org.openrewrite.quarkus.spring.SpringBootActiveMQToQuarkus
- Replace Spring Boot ActiveMQ with Quarkus Artemis JMS
- Migrates
spring-boot-starter-activemqtoquarkus-artemis-jms.
actuator
1 recipe
- org.openrewrite.quarkus.spring.SpringBootActuatorToQuarkus
- Replace Spring Boot Actuator with Quarkus SmallRye Health
- Migrates
spring-boot-starter-actuatortoquarkus-smallrye-health.
ai
1 recipe
- io.moderne.ai.FixMisencodedCommentsInFrench
- Fix mis-encoded French comments, javadocs and pom.xml comments
- Fixes mis-encoded French comments in your code, javadocs and in your pom.xml files. Mis-encoded comments contain a ? or � character.
amqp
2 recipes
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic
- Replace Spring Boot AMQP with Quarkus Messaging RabbitMQ
- Migrates
spring-boot-starter-amqptoquarkus-messaging-rabbitmqwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive
- Replace Spring Boot AMQP with Quarkus Messaging AMQP
- Migrates
spring-boot-starter-amqptoquarkus-messaging-amqpwhen reactor dependencies are present.
annotation
3 recipes
- com.oracle.weblogic.rewrite.jakarta.JavaxAnnotationMigrationToJakarta9Annotation
- Migrate deprecated
javax.annotationtojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationMigrationToJakartaAnnotation
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAnnotationMigrationToJakartaAnnotation
- Migrate deprecated
javax.annotationtojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
annotations
2 recipes
- org.openrewrite.java.migrate.ComIntelliJAnnotationsToOrgJetbrainsAnnotations
- Migrate com.intellij:annotations to org.jetbrains:annotations
- This recipe will upgrade old dependency of com.intellij:annotations to the newer org.jetbrains:annotations.
- org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies
- Migrate
@EnableXyzannotations to Quarkus extensions - Removes Spring
@EnableXyzannotations and adds the corresponding Quarkus extensions as dependencies.
- Migrate
apache
17 recipes
- org.openrewrite.apache.commons.codec.ApacheBase64ToJavaBase64
- Prefer
java.util.Base64 - Prefer the Java standard library's
java.util.Base64over third-party usage of apache'sapache.commons.codec.binary.Base64.
- Prefer
- org.openrewrite.apache.commons.collections.UpgradeApacheCommonsCollections_3_4
- Migrates to Apache Commons Collections 4.x
- 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.
- org.openrewrite.apache.commons.io.ApacheFileUtilsToJavaFiles
- Prefer
java.nio.file.Files - Prefer the Java standard library's
java.nio.file.Filesover third-party usage of apache'sapache.commons.io.FileUtils.
- Prefer
- org.openrewrite.apache.commons.io.ApacheIOUtilsUseExplicitCharset
- Use IOUtils method that include their charset encoding
- Use
IOUtilsmethod invocations that include the charset encoding instead of using the deprecated versions that do not include a charset encoding. (e.g. convertsIOUtils.readLines(inputStream)toIOUtils.readLines(inputStream, StandardCharsets.UTF_8).
- org.openrewrite.apache.commons.io.RelocateApacheCommonsIo
- Relocate
org.apache.commons:commons-iotocommons-io:commons-io - The deployment of
org.apache.commons:commons-iowas a publishing mistake around 2012 which was corrected by changing the deployment GAV to be located undercommons-io:commons-io.
- Relocate
- org.openrewrite.apache.commons.io.UseStandardCharsets
- Prefer
java.nio.charset.StandardCharsets - Prefer the Java standard library's
java.nio.charset.StandardCharsetsover third-party usage of apache'sorg.apache.commons.io.Charsets.
- Prefer
- org.openrewrite.apache.commons.io.UseSystemLineSeparator
- Prefer
System.lineSeparator() - Prefer the Java standard library's
System.lineSeparator()over third-party usage of apache'sIOUtils.LINE_SEPARATOR.
- Prefer
- org.openrewrite.apache.commons.lang.IsNotEmptyToJdk
- Replace any StringUtils#isEmpty(String) and #isNotEmpty(String)
- Replace any
StringUtils#isEmpty(String)and#isNotEmpty(String)withs == null || s.isEmpty()ands != null && !s.isEmpty().
- org.openrewrite.apache.commons.lang.UpgradeApacheCommonsLang_2_3
- Migrates to Apache Commons Lang 3.x
- 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.
- org.openrewrite.apache.commons.lang.WordUtilsToCommonsText
- Migrate
WordUtilsto Apache Commons Text - Migrate
org.apache.commons.lang.WordUtilstoorg.apache.commons.text.WordUtilsand add the Commons Text dependency.
- Migrate
- org.openrewrite.apache.commons.lang3.UseStandardCharsets
- Prefer
java.nio.charset.StandardCharsets - Prefer the Java standard library's
java.nio.charset.StandardCharsetsoverorg.apache.commons.lang3.CharEncoding.
- Prefer
- org.openrewrite.apache.commons.math.UpgradeApacheCommonsMath_2_3
- Migrates to Apache Commons Math 3.x
- Migrate applications to the latest Apache Commons Math 3.x release. This recipe modifies application's build files, make changes to deprecated/preferred APIs, and migrates configuration settings that have changes between versions.
- org.openrewrite.apache.httpclient4.UpgradeApacheHttpClient_4_5
- Migrates to ApacheHttpClient 4.5.x
- 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.
- org.openrewrite.apache.httpclient5.UpgradeApacheHttpClientDependencies
- Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies
- Adopt
org.apache.httpcomponents.client5:httpclient5fromorg.apache.httpcomponents.
- org.openrewrite.apache.httpclient5.UpgradeApacheHttpClient_5
- Migrate to ApacheHttpClient 5.x
- 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.
- org.openrewrite.apache.httpclient5.UpgradeApacheHttpCoreNioDependencies
- Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency
- Adopt
org.apache.httpcomponents.core5:httpcore5fromorg.apache.httpcomponents:httpcore-nio.
- org.openrewrite.apache.poi.UpgradeApachePoi_3_17
- Migrates to Apache POI 3.17
- Migrates to the last Apache POI 3.x release. This recipe modifies build files and makes changes to deprecated/preferred APIs that have changed between versions.
application
7 recipes
- com.oracle.weblogic.rewrite.WebLogicApplicationClientXmlNamespace1412
- Migrate xmlns entries in
application-client.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Application Client schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationClientXmlNamespace1511
- Migrate xmlns entries in
application-client.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inapplication-client.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationXmlNamespace1412
- Migrate xmlns entries in
weblogic-application.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Application schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationXmlNamespace1511
- Migrate xmlns entries in
weblogic-application.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-application.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxApplicationClientXmlToJakarta9ApplicationClientXml
- Migrate xmlns entries in
application-client.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxApplicationXmlToJakarta9ApplicationXml
- Migrate xmlns entries in
application.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies
- Migrate
@EnableXyzannotations to Quarkus extensions - Removes Spring
@EnableXyzannotations and adds the corresponding Quarkus extensions as dependencies.
- Migrate
arquillian
1 recipe
- org.openrewrite.java.testing.arquillian.ArquillianJUnit4ToArquillianJUnit5
- Use Arquillian JUnit 5 Extension
- Migrates Arquillian JUnit 4 to JUnit 5.
artemis
1 recipe
- org.openrewrite.quarkus.spring.SpringBootArtemisToQuarkus
- Replace Spring Boot Artemis with Quarkus Artemis JMS
- Migrates
spring-boot-starter-artemistoquarkus-artemis-jms.
assertj
11 recipes
- org.openrewrite.java.testing.assertj.Assertj
- AssertJ best practices
- Migrates JUnit asserts to AssertJ and applies best practices to assertions.
- org.openrewrite.java.testing.assertj.FestToAssertj
- Migrate Fest 2.x to AssertJ
- AssertJ provides a rich set of assertions, truly helpful error messages, improves test code readability. Converts Fest 2.x imports to AssertJ imports.
- org.openrewrite.java.testing.assertj.JUnitToAssertj
- Migrate JUnit asserts to AssertJ
- AssertJ provides a rich set of assertions, truly helpful error messages, improves test code readability. Converts assertions from
org.junit.jupiter.api.Assertionstoorg.assertj.core.api.Assertions. Will convert JUnit 4 to JUnit Jupiter if necessary to match and modify assertions.
- org.openrewrite.java.testing.assertj.SimplifyAssertJAssertions
- Shorten AssertJ assertions
- Replace AssertJ assertions where a dedicated assertion is available for the same actual value.
- org.openrewrite.java.testing.assertj.SimplifyChainedAssertJAssertions
- Simplify AssertJ chained assertions
- Replace AssertJ assertions where a method is called on the actual value with a dedicated assertion.
- org.openrewrite.java.testing.assertj.StaticImports
- Statically import AssertJ's
assertThat - Consistently use a static import rather than inlining the
Assertionsclass name in tests.
- Statically import AssertJ's
- org.openrewrite.java.testing.hamcrest.ConsistentHamcrestMatcherImports
- Use consistent Hamcrest matcher imports
- Use consistent imports for Hamcrest matchers, and remove wrapping
is(Matcher)calls ahead of further changes.
- org.openrewrite.java.testing.hamcrest.MigrateHamcrestToAssertJ
- Migrate Hamcrest assertions to AssertJ
- Migrate Hamcrest
assertThat(..)to AssertJAssertions.
- org.openrewrite.java.testing.hamcrest.MigrateHamcrestToJUnit5
- Migrate Hamcrest assertions to JUnit Jupiter
- Migrate Hamcrest
assertThat(..)to JUnit JupiterAssertions.
- org.openrewrite.java.testing.testng.TestNgToAssertj
- Migrate TestNG assertions to AssertJ
- Convert assertions from
org.testng.Asserttoorg.assertj.core.api.Assertions.
- org.openrewrite.java.testing.truth.MigrateTruthToAssertJ
- Migrate Google Truth to AssertJ
- Migrate Google Truth assertions to AssertJ assertions.
async
1 recipe
- org.openrewrite.javascript.cleanup.async-callback-in-sync-array-method
- Detect async callbacks in synchronous array methods
- Detects async callbacks passed to array methods like .some(), .every(), .filter() which don't await promises. This is a common bug where Promise objects are always truthy.
authentication
2 recipes
- io.quarkus.updates.core.quarkus30.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
authorization
2 recipes
- io.quarkus.updates.core.quarkus30.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
AWS
53 recipes
- org.openrewrite.terraform.aws.AWSBestPractices
- Best practices for AWS
- Securely operate on Amazon Web Services.
- org.openrewrite.terraform.aws.DisableInstanceMetadataServiceV1
- Disable Instance Metadata Service version 1
- As a request/response method IMDSv1 is prone to local misconfigurations.
- org.openrewrite.terraform.aws.EnableApiGatewayCaching
- Enable API gateway caching
- Enable caching for all methods of API Gateway.
- org.openrewrite.terraform.aws.EnableDynamoDbPITR
- Enable point-in-time recovery for DynamoDB
- DynamoDB Point-In-Time Recovery (PITR) is an automatic backup service for DynamoDB table data that helps protect your DynamoDB tables from accidental write or delete operations.
- org.openrewrite.terraform.aws.EnableECRScanOnPush
- Scan images pushed to ECR
- ECR Image Scanning assesses and identifies operating system vulnerabilities. Using automated image scans you can ensure container image vulnerabilities are found before getting pushed to production.
- org.openrewrite.terraform.aws.EncryptAuroraClusters
- Encrypt Aurora clusters
- Native Aurora encryption helps protect your cloud applications and fulfils compliance requirements for data-at-rest encryption.
- org.openrewrite.terraform.aws.EncryptCodeBuild
- Encrypt CodeBuild projects
- Build artifacts, such as a cache, logs, exported raw test report data files, and build results, are encrypted by default using CMKs for Amazon S3 that are managed by the AWS Key Management Service.
- org.openrewrite.terraform.aws.EncryptDAXStorage
- Encrypt DAX storage at rest
- DAX encryption at rest automatically integrates with AWS KMS for managing the single service default key used to encrypt clusters.
- org.openrewrite.terraform.aws.EncryptDocumentDB
- Encrypt DocumentDB storage
- The encryption feature available for Amazon DocumentDB clusters provides an additional layer of data protection by helping secure your data against unauthorized access to the underlying storage.
- org.openrewrite.terraform.aws.EncryptEBSSnapshots
- Encrypt EBS snapshots
- EBS snapshots should be encrypted, as they often include sensitive information, customer PII or CPNI.
- org.openrewrite.terraform.aws.EncryptEBSVolumeLaunchConfiguration
- Encrypt EBS volume launch configurations
- EBS volumes allow you to create encrypted launch configurations when creating EC2 instances and auto scaling. When the entire EBS volume is encrypted, data stored at rest on the volume, disk I/O, snapshots created from the volume, and data in-transit between EBS and EC2 are all encrypted.
- org.openrewrite.terraform.aws.EncryptEBSVolumes
- Encrypt EBS volumes
- Encrypting EBS volumes ensures that replicated copies of your images are secure even if they are accidentally exposed. AWS EBS encryption uses AWS KMS customer master keys (CMK) when creating encrypted volumes and snapshots. Storing EBS volumes in their encrypted state reduces the risk of data exposure or data loss.
- org.openrewrite.terraform.aws.EncryptEFSVolumesInECSTaskDefinitionsInTransit
- Encrypt EFS Volumes in ECS Task Definitions in transit
- Enable attached EFS definitions in ECS tasks to use encryption in transit.
- org.openrewrite.terraform.aws.EncryptElastiCacheRedisAtRest
- Encrypt ElastiCache Redis at rest
- ElastiCache for Redis offers default encryption at rest as a service.
- org.openrewrite.terraform.aws.EncryptElastiCacheRedisInTransit
- Encrypt ElastiCache Redis in transit
- ElastiCache for Redis offers optional encryption in transit. In-transit encryption provides an additional layer of data protection when transferring data over standard HTTPS protocol.
- org.openrewrite.terraform.aws.EncryptNeptuneStorage
- Encrypt Neptune storage
- Encryption of Neptune storage protects data and metadata against unauthorized access.
- org.openrewrite.terraform.aws.EncryptRDSClusters
- Encrypt RDS clusters
- Native RDS encryption helps protect your cloud applications and fulfils compliance requirements for data-at-rest encryption.
- org.openrewrite.terraform.aws.EncryptRedshift
- Encrypt Redshift storage at rest
- Redshift clusters should be securely encrypted at rest.
- org.openrewrite.terraform.aws.EnsureAWSCMKRotationIsEnabled
- Ensure AWS CMK rotation is enabled
- Ensure AWS CMK rotation is enabled.
- org.openrewrite.terraform.aws.EnsureAWSEFSWithEncryptionForDataAtRestIsEnabled
- Ensure AWS EFS with encryption for data at rest is enabled
- Ensure AWS EFS with encryption for data at rest is enabled.
- org.openrewrite.terraform.aws.EnsureAWSEKSClusterEndpointAccessIsPubliclyDisabled
- Ensure AWS EKS cluster endpoint access is publicly disabled
- Ensure AWS EKS cluster endpoint access is publicly disabled.
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchDomainEncryptionForDataAtRestIsEnabled
- Ensure AWS Elasticsearch domain encryption for data at rest is enabled
- Ensure AWS Elasticsearch domain encryption for data at rest is enabled.
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchDomainsHaveEnforceHTTPSEnabled
- Ensure AWS Elasticsearch domains have
EnforceHTTPSenabled - Ensure AWS Elasticsearch domains have
EnforceHTTPSenabled.
- Ensure AWS Elasticsearch domains have
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchHasNodeToNodeEncryptionEnabled
- Ensure AWS Elasticsearch has node-to-node encryption enabled
- Ensure AWS Elasticsearch has node-to-node encryption enabled.
- org.openrewrite.terraform.aws.EnsureAWSIAMPasswordPolicyHasAMinimumOf14Characters
- Ensure AWS IAM password policy has a minimum of 14 characters
- Ensure AWS IAM password policy has a minimum of 14 characters.
- org.openrewrite.terraform.aws.EnsureAWSLambdaFunctionIsConfiguredForFunctionLevelConcurrentExecutionLimit
- Ensure AWS Lambda function is configured for function-level concurrent execution limit
- Ensure AWS Lambda function is configured for function-level concurrent execution limit.
- org.openrewrite.terraform.aws.EnsureAWSLambdaFunctionsHaveTracingEnabled
- Ensure AWS Lambda functions have tracing enabled
- Ensure AWS Lambda functions have tracing enabled.
- org.openrewrite.terraform.aws.EnsureAWSRDSDatabaseInstanceIsNotPubliclyAccessible
- Ensure AWS RDS database instance is not publicly accessible
- Ensure AWS RDS database instance is not publicly accessible.
- org.openrewrite.terraform.aws.EnsureAWSS3ObjectVersioningIsEnabled
- Ensure AWS S3 object versioning is enabled
- Ensure AWS S3 object versioning is enabled.
- org.openrewrite.terraform.aws.EnsureAmazonEKSControlPlaneLoggingEnabledForAllLogTypes
- Ensure Amazon EKS control plane logging enabled for all log types
- Ensure Amazon EKS control plane logging enabled for all log types.
- org.openrewrite.terraform.aws.EnsureCloudTrailLogFileValidationIsEnabled
- Ensure CloudTrail log file validation is enabled
- Ensure CloudTrail log file validation is enabled.
- org.openrewrite.terraform.aws.EnsureDataStoredInAnS3BucketIsSecurelyEncryptedAtRest
- Ensure data stored in an S3 bucket is securely encrypted at rest
- Ensure data stored in an S3 bucket is securely encrypted at rest.
- org.openrewrite.terraform.aws.EnsureDetailedMonitoringForEC2InstancesIsEnabled
- Ensure detailed monitoring for EC2 instances is enabled
- Ensure detailed monitoring for EC2 instances is enabled.
- org.openrewrite.terraform.aws.EnsureEC2IsEBSOptimized
- Ensure EC2 is EBS optimized
- Ensure EC2 is EBS optimized.
- org.openrewrite.terraform.aws.EnsureECRRepositoriesAreEncrypted
- Ensure ECR repositories are encrypted
- Ensure ECR repositories are encrypted.
- org.openrewrite.terraform.aws.EnsureEnhancedMonitoringForAmazonRDSInstancesIsEnabled
- Ensure enhanced monitoring for Amazon RDS instances is enabled
- Ensure enhanced monitoring for Amazon RDS instances is enabled.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyExpiresPasswordsWithin90DaysOrLess
- Ensure IAM password policy expires passwords within 90 days or less
- Ensure IAM password policy expires passwords within 90 days or less.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyPreventsPasswordReuse
- Ensure IAM password policy prevents password reuse
- Ensure IAM password policy prevents password reuse.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneLowercaseLetter
- Ensure IAM password policy requires at least one lowercase letter
- Ensure IAM password policy requires at least one lowercase letter.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneNumber
- Ensure IAM password policy requires at least one number
- Ensure IAM password policy requires at least one number.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneSymbol
- Ensure IAM password policy requires at least one symbol
- Ensure IAM password policy requires at least one symbol.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneUppercaseLetter
- Ensure IAM password policy requires at least one uppercase letter
- Ensure IAM password policy requires at least one uppercase letter.
- org.openrewrite.terraform.aws.EnsureKinesisStreamIsSecurelyEncrypted
- Ensure Kinesis Stream is securely encrypted
- Ensure Kinesis Stream is securely encrypted.
- org.openrewrite.terraform.aws.EnsureRDSDatabaseHasIAMAuthenticationEnabled
- Ensure RDS database has IAM authentication enabled
- Ensure RDS database has IAM authentication enabled.
- org.openrewrite.terraform.aws.EnsureRDSInstancesHaveMultiAZEnabled
- Ensure RDS instances have Multi-AZ enabled
- Ensure RDS instances have Multi-AZ enabled.
- org.openrewrite.terraform.aws.EnsureRespectiveLogsOfAmazonRDSAreEnabled
- Ensure respective logs of Amazon RDS are enabled
- Ensure respective logs of Amazon RDS are enabled.
- org.openrewrite.terraform.aws.EnsureTheS3BucketHasAccessLoggingEnabled
- Ensure the S3 bucket has access logging enabled
- Ensure the S3 bucket has access logging enabled.
- org.openrewrite.terraform.aws.EnsureVPCSubnetsDoNotAssignPublicIPByDefault
- Ensure VPC subnets do not assign public IP by default
- Ensure VPC subnets do not assign public IP by default.
- org.openrewrite.terraform.aws.ImmutableECRTags
- Make ECR tags immutable
- Amazon ECR supports immutable tags, preventing image tags from being overwritten. In the past, ECR tags could have been overwritten, this could be overcome by requiring users to uniquely identify an image using a naming convention.
- org.openrewrite.terraform.aws.UseHttpsForCloudfrontDistribution
- Use HTTPS for Cloudfront distribution
- Secure communication by default.
- software.amazon.awssdk.v2migration.AddS3EventNotificationDependency
- Add AWS SDK for Java v2 S3 Event Notification dependency if needed
- This recipe will add the Java v2 S3 Event Notification dependency if v1 S3EventNotification is used
- software.amazon.awssdk.v2migration.AddTransferManagerDependency
- Add AWS SDK for Java v2 S3 Transfer Manager dependency if needed
- This recipe will add the Java v2 S3 Transfer Manager dependency if v1 Transfer Manager is used
- software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2
- Migrate from the AWS SDK for Java v1 to the AWS SDK for Java v2
- This recipe will apply changes required for migrating from the AWS SDK for Java v1 to the AWS SDK for Java v2.
Azure
49 recipes
- org.openrewrite.terraform.azure.AzureBestPractices
- Best practices for Azure
- Securely operate on Microsoft Azure.
- org.openrewrite.terraform.azure.DisableKubernetesDashboard
- Disable Kubernetes dashboard
- Disabling the dashboard eliminates it as an attack vector. The dashboard add-on is disabled by default for all new clusters created on Kubernetes 1.18 or greater.
- org.openrewrite.terraform.azure.EnableAzureStorageAccountTrustedMicrosoftServicesAccess
- Enable Azure Storage Account Trusted Microsoft Services access
- Certain Microsoft services that interact with storage accounts operate from networks that cannot be granted access through network rules. Using this configuration, you can allow the set of trusted Microsoft services to bypass those network rules.
- org.openrewrite.terraform.azure.EnableAzureStorageSecureTransferRequired
- Enable Azure Storage secure transfer required
- Microsoft recommends requiring secure transfer for all storage accounts.
- org.openrewrite.terraform.azure.EnableGeoRedundantBackupsOnPostgreSQLServer
- Enable geo-redundant backups on PostgreSQL server
- Ensure PostgreSQL server enables geo-redundant backups.
- org.openrewrite.terraform.azure.EncryptAzureVMDataDiskWithADECMK
- Encrypt Azure VM data disk with ADE/CMK
- Ensure Azure VM data disk is encrypted with ADE/CMK.
- org.openrewrite.terraform.azure.EnsureAKSPoliciesAddOn
- Ensure AKS policies add-on
- Azure Policy Add-on for Kubernetes service (AKS) extends Gatekeeper v3, an admission controller webhook for Open Policy Agent (OPA), to apply at-scale enforcements and safeguards on your clusters in a centralized, consistent manner.
- org.openrewrite.terraform.azure.EnsureAKVSecretsHaveAnExpirationDateSet
- Ensure AKV secrets have an expiration date set
- Ensure AKV secrets have an expiration date set.
- org.openrewrite.terraform.azure.EnsureASecurityContactPhoneNumberIsPresent
- Ensure a security contact phone number is present
- Ensure a security contact phone number is present.
- org.openrewrite.terraform.azure.EnsureActivityLogRetentionIsSetTo365DaysOrGreater
- Ensure activity log retention is set to 365 days or greater
- Ensure activity log retention is set to 365 days or greater.
- org.openrewrite.terraform.azure.EnsureAllKeysHaveAnExpirationDate
- Ensure all keys have an expiration date
- Ensure all keys have an expiration date.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesDetailedErrorMessages
- Ensure app service enables detailed error messages
- Ensure app service enables detailed error messages.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesFailedRequestTracing
- Ensure app service enables failed request tracing
- Ensure app service enables failed request tracing.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesHTTPLogging
- Ensure app service enables HTTP logging
- Ensure app service enables HTTP logging.
- org.openrewrite.terraform.azure.EnsureAppServicesUseAzureFiles
- Ensure app services use Azure files
- Ensure app services use Azure files.
- org.openrewrite.terraform.azure.EnsureAzureAppServiceWebAppRedirectsHTTPToHTTPS
- Ensure Azure App Service Web app redirects HTTP to HTTPS
- Ensure Azure App Service Web app redirects HTTP to HTTPS.
- org.openrewrite.terraform.azure.EnsureAzureApplicationGatewayHasWAFEnabled
- Ensure Azure application gateway has WAF enabled
- Ensure Azure application gateway has WAF enabled.
- org.openrewrite.terraform.azure.EnsureAzureKeyVaultIsRecoverable
- Ensure Azure key vault is recoverable
- Ensure Azure key vault is recoverable.
- org.openrewrite.terraform.azure.EnsureAzureNetworkWatcherNSGFlowLogsRetentionIsGreaterThan90Days
- Ensure Azure Network Watcher NSG flow logs retention is greater than 90 days
- Ensure Azure Network Watcher NSG flow logs retention is greater than 90 days.
- org.openrewrite.terraform.azure.EnsureAzurePostgreSQLDatabaseServerWithSSLConnectionIsEnabled
- Ensure Azure PostgreSQL database server with SSL connection is enabled
- Ensure Azure PostgreSQL database server with SSL connection is enabled.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerAuditLogRetentionIsGreaterThan90Days
- Ensure Azure SQL server audit log retention is greater than 90 days
- Ensure Azure SQL server audit log retention is greater than 90 days.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerSendAlertsToFieldValueIsSet
- Ensure Azure SQL server send alerts to field value is set
- Ensure Azure SQL server send alerts to field value is set.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerThreatDetectionAlertsAreEnabledForAllThreatTypes
- Ensure Azure SQL Server threat detection alerts are enabled for all threat types
- Ensure Azure SQL Server threat detection alerts are enabled for all threat types.
- org.openrewrite.terraform.azure.EnsureFTPDeploymentsAreDisabled
- Ensure FTP Deployments are disabled
- Ensure FTP Deployments are disabled.
- org.openrewrite.terraform.azure.EnsureKeyVaultAllowsFirewallRulesSettings
- Ensure key vault allows firewall rules settings
- Ensure key vault allows firewall rules settings.
- org.openrewrite.terraform.azure.EnsureKeyVaultEnablesPurgeProtection
- Ensure key vault enables purge protection
- Ensure key vault enables purge protection.
- org.openrewrite.terraform.azure.EnsureKeyVaultKeyIsBackedByHSM
- Ensure key vault key is backed by HSM
- Ensure key vault key is backed by HSM.
- org.openrewrite.terraform.azure.EnsureKeyVaultSecretsHaveContentTypeSet
- Ensure key vault secrets have
content_typeset - Ensure key vault secrets have
content_typeset.
- Ensure key vault secrets have
- org.openrewrite.terraform.azure.EnsureLogProfileIsConfiguredToCaptureAllActivities
- Ensure log profile is configured to capture all activities
- Ensure log profile is configured to capture all activities.
- org.openrewrite.terraform.azure.EnsureMSSQLServersHaveEmailServiceAndCoAdministratorsEnabled
- Ensure MSSQL servers have email service and co-administrators enabled
- Ensure MSSQL servers have email service and co-administrators enabled.
- org.openrewrite.terraform.azure.EnsureManagedIdentityProviderIsEnabledForAppServices
- Ensure managed identity provider is enabled for app services
- Ensure managed identity provider is enabled for app services.
- org.openrewrite.terraform.azure.EnsureMySQLIsUsingTheLatestVersionOfTLSEncryption
- Ensure MySQL is using the latest version of TLS encryption
- Ensure MySQL is using the latest version of TLS encryption.
- org.openrewrite.terraform.azure.EnsureMySQLServerDatabasesHaveEnforceSSLConnectionEnabled
- Ensure MySQL server databases have Enforce SSL connection enabled
- Ensure MySQL server databases have Enforce SSL connection enabled.
- org.openrewrite.terraform.azure.EnsureMySQLServerDisablesPublicNetworkAccess
- Ensure MySQL server disables public network access
- Ensure MySQL server disables public network access.
- org.openrewrite.terraform.azure.EnsureMySQLServerEnablesGeoRedundantBackups
- Ensure MySQL server enables geo-redundant backups
- Ensure MySQL server enables geo-redundant backups.
- org.openrewrite.terraform.azure.EnsureMySQLServerEnablesThreatDetectionPolicy
- Ensure MySQL server enables Threat Detection policy
- Ensure MySQL server enables Threat Detection policy.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerDisablesPublicNetworkAccess
- Ensure PostgreSQL server disables public network access
- Ensure PostgreSQL server disables public network access.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerEnablesInfrastructureEncryption
- Ensure PostgreSQL server enables infrastructure encryption
- Ensure PostgreSQL server enables infrastructure encryption.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerEnablesThreatDetectionPolicy
- Ensure PostgreSQL server enables Threat Detection policy
- Ensure PostgreSQL server enables Threat Detection policy.
- org.openrewrite.terraform.azure.EnsurePublicNetworkAccessEnabledIsSetToFalseForMySQLServers
- Ensure public network access enabled is set to False for mySQL servers
- Ensure public network access enabled is set to False for mySQL servers.
- org.openrewrite.terraform.azure.EnsureSendEmailNotificationForHighSeverityAlertsIsEnabled
- Ensure Send email notification for high severity alerts is enabled
- Ensure Send email notification for high severity alerts is enabled.
- org.openrewrite.terraform.azure.EnsureSendEmailNotificationForHighSeverityAlertsToAdminsIsEnabled
- Ensure Send email notification for high severity alerts to admins is enabled
- Ensure Send email notification for high severity alerts to admins is enabled.
- org.openrewrite.terraform.azure.EnsureStandardPricingTierIsSelected
- Ensure standard pricing tier is selected
- Ensure standard pricing tier is selected.
- org.openrewrite.terraform.azure.EnsureStorageAccountUsesLatestTLSVersion
- Ensure storage account uses latest TLS version
- Communication between an Azure Storage account and a client application is encrypted using Transport Layer Security (TLS). Microsoft recommends using the latest version of TLS for all your Microsoft Azure App Service web applications.
- org.openrewrite.terraform.azure.EnsureTheStorageContainerStoringActivityLogsIsNotPubliclyAccessible
- Ensure the storage container storing activity logs is not publicly accessible
- Ensure the storage container storing activity logs is not publicly accessible.
- org.openrewrite.terraform.azure.EnsureWebAppHasIncomingClientCertificatesEnabled
- Ensure Web App has incoming client certificates enabled
- Ensure Web App has incoming client certificates enabled.
- org.openrewrite.terraform.azure.EnsureWebAppUsesTheLatestVersionOfHTTP
- Ensure Web App uses the latest version of HTTP
- Ensure Web App uses the latest version of HTTP.
- org.openrewrite.terraform.azure.EnsureWebAppUsesTheLatestVersionOfTLSEncryption
- Ensure Web App uses the latest version of TLS encryption
- Ensure Web App uses the latest version of TLS encryption.
- org.openrewrite.terraform.azure.SetAzureStorageAccountDefaultNetworkAccessToDeny
- Set Azure Storage Account default network access to deny
- Ensure Azure Storage Account default network access is set to Deny.
batch
9 recipes
- io.quarkus.updates.core.quarkus30.ChangeJavaxAnnotationToJakarta
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation. Excludes
javax.annotation.processing.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationPackageToJakarta
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Change type of classes in the
javax.annotationpackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationSecurityPackageToJakarta
- Migrate deprecated
javax.annotation.securitypackages tojakarta.annotation.security - Change type of classes in the
javax.annotation.securitypackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationSqlPackageToJakarta
- Migrate deprecated
javax.annotation.sqlpackages tojakarta.annotation.sql - Change type of classes in the
javax.annotation.sqlpackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxBatchMigrationToJakartaBatch
- Migrate deprecated
javax.batchpackages tojakarta.batch - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxBatchMigrationToJakartaBatch
- Migrate deprecated
javax.batchpackages tojakarta.batch - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.spring.batch.SpringBatch4To5Migration
- Migrate to Spring Batch 5.0 from 4.3
- Migrate applications built on Spring Batch 4.3 to the latest Spring Batch 5.0 release.
- org.openrewrite.java.spring.batch.SpringBatch5To6Migration
- Migrate to Spring Batch 6.0 from 5.2
- Migrate applications built on Spring Batch 5.2 to the latest Spring Batch 6.0 release.
- org.openrewrite.quarkus.spring.SpringBootBatchToQuarkus
- Replace Spring Boot Batch with Quarkus Scheduler
- Migrates
spring-boot-starter-batchtoquarkus-scheduler.
batchXML
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxBatchXmlToJakarta9BatchXml
- Migrate xmlns entries in
batch.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
bean validation
1 recipe
- org.openrewrite.java.migrate.jakarta.JavaxBeanValidationXmlToJakartaBeanValidationXml
- Migrate xmlns entries and javax. packages in
validation.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries and javax. packages in
beans
2 recipes
- com.oracle.weblogic.rewrite.jakarta.JavaxBeansXmlToJakarta9BeansXml
- Migrate xmlns entries in
beans.xmlfiles for Beans 3.0. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxBeansXmlToJakartaBeansXml
- Migrate xmlns entries in
beans.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
best practices
1 recipe
- org.openrewrite.java.jackson.JacksonBestPractices
- Jackson best practices
- Apply best practices for using Jackson library, including upgrade to Jackson 2.x and removing redundant annotations.
bindings
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxBindingsSchemaXjbsToJakarta9BindingsSchemaXjbs
- Migrate xmlns entries in
*.xjbfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
bom
1 recipe
- org.openrewrite.quarkus.spring.SpringBootToQuarkus
- Migrate Spring Boot to Quarkus
- Replace Spring Boot with Quarkus.
boot
71 recipes
- io.moderne.java.spring.boot.SpringToSpringBoot
- Migrate Spring Framework to Spring Boot
- 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.
- io.moderne.java.spring.boot2.UpgradeSpringBoot_2_0
- Migrate to Spring Boot 2.0
- Migrate applications to the latest Spring Boot 2.0 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 2.0.
- io.moderne.java.spring.boot3.CommentDeprecations
- Comment deprecated methods in Spring 3.4
- Spring Boot 3.4 deprecates methods that are not commonly used or need manual interaction.
- io.moderne.java.spring.boot3.ReplaceTaskExecutorNameByApplicationTaskExecutorName
- Use bean name
applicationTaskExecutorinstead oftaskExecutor - Spring Boot 3.5 removed the bean name
taskExecutor. Where this bean name is used, the recipe replaces the bean name toapplicationTaskExecutor. This also includes instances where the developer provided their own bean namedtaskExecutor. This also includes scenarios where JSR-250's@Resourceannotation is used.
- Use bean name
- io.moderne.java.spring.boot3.ResolveDeprecationsSpringBoot_3_3
- Resolve Deprecations in Spring Boot 3.3
- Migrates Deprecations in the Spring Boot 3.3 Release. Contains the removal of
DefaultJmsListenerContainerFactoryConfigurer.setObservationRegistryand adds new parameter ofWebEndpointDiscovererconstructor.
- io.moderne.java.spring.boot3.SpringBoot34Deprecations
- Migrate Spring Boot 3.4 deprecated classes and methods
- Migrate deprecated classes and methods that have been marked for removal in Spring Boot 4.0. This includes constructor changes for
EntityManagerFactoryBuilder,HikariCheckpointRestoreLifecycle, and various actuator endpoint discovery classes.
- io.moderne.java.spring.boot3.SpringBoot35Deprecations
- Migrate Spring Boot 3.5 deprecated classes and methods
- Migrate deprecated classes and methods that have been marked for removal in Spring Boot 3.5.
- io.moderne.java.spring.boot3.SpringBoot3BestPractices
- Spring Boot 3.5 best practices
- Applies best practices to Spring Boot 3.5+ applications.
- io.moderne.java.spring.boot3.SpringBootProperties_3_4
- Migrate
@EndpointSecurity properties to 3.4 - Migrate the settings for Spring Boot Management Endpoint Security from
true|falsetoread-only|none.
- Migrate
- io.moderne.java.spring.boot3.UpdateOpenTelemetryResourceAttributes
- Update OpenTelemetry resource attributes
- The
service.groupresource attribute has been deprecated for OpenTelemetry in Spring Boot 3.5. Consider using alternative attributes or remove the deprecated attribute.
- io.moderne.java.spring.boot3.UpgradeGradle7Spring34
- Upgrade Gradle to 7.6.4+ for Spring Boot 3.4
- Spring Boot 3.4 requires Gradle 7.6.4.
- io.moderne.java.spring.boot3.UpgradeGradle8Spring34
- Upgrade Gradle 8 to 8.4+ for Spring Boot 3.4
- Spring Boot 3.4 requires Gradle 8.4+.
- io.moderne.java.spring.boot3.UpgradeSpringBoot_3_4
- Migrate to Spring Boot 3.4 (Moderne Edition)
- 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.
- io.moderne.java.spring.boot3.UpgradeSpringBoot_3_5
- Migrate to Spring Boot 3.5 (Moderne Edition)
- 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.
- io.moderne.java.spring.boot4.AddJackson2ForJerseyJson
- Add Jackson2 for Jersey using JSON
- Check whether a module uses Jersey on combination with JSON and adds the needed
spring-boot-jacksondependency and conditionallyspring-boot-jackson2dependency.
- io.moderne.java.spring.boot4.AddModularStarters
- Add Spring Boot 4.0 modular starters
- Add Spring Boot 4.0 starter dependencies based on package usage. Note: Higher-level starters (like data-jpa) include lower-level ones (like jdbc) transitively, so only the highest-level detected starter is added for each technology.
- io.moderne.java.spring.boot4.AddMongoDbRepresentationProperties
- Add MongoDB representation properties for UUID and BigDecimal
- Adds the 'spring.mongodb.representation.uuid' property with value 'standard' and the 'spring.data.mongodb.representation.big-decimal' property with the value 'decimal128' to Spring configuration files when a MongoDB dependency is detected.
- io.moderne.java.spring.boot4.AdoptJackson3
- Adopt jackson 3
- Adopt Jackson 3 which is supported by Spring Boot 4 and Jackson 2 support is deprecated.
- io.moderne.java.spring.boot4.MigrateSpringRetry
- Migrate Spring Retry to Spring Resilience
- Handle spring-retry not longer managed by Spring Boot and the possible migration to Spring Core Resilience.
- io.moderne.java.spring.boot4.MigrateToModularStarters
- Migrate to Spring Boot 4.0 modular starters
- Remove monolithic starters and adds the necessary Spring Boot 4.0 starter dependencies based on package usage, where any spring-boot-starter was used previously.
- io.moderne.java.spring.boot4.ModuleStarterRelocations
- Spring Boot 4.0 Module Starter Relocations
- Relocate types and packages for Spring Boot 4.0 modular starters.
- io.moderne.java.spring.boot4.UpgradeSpringBoot_4_0
- Migrate to Spring Boot 4.0 (Moderne Edition)
- Migrate applications to the latest Spring Boot 4.0 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 4.0.
- org.openrewrite.java.spring.boot2.SpringBoot2BestPractices
- Spring Boot 2.x best practices
- Applies best practices to Spring Boot 2 applications.
- org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
- Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4
- This recipe will migrate a Spring Boot application's tests from JUnit 4 to JUnit 5. This spring-specific migration includes conversion of Spring Test runners to Spring Test extensions and awareness of the composable Spring Test annotations.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_0
- Migrate Spring Boot properties to 2.0
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_1
- Migrate Spring Boot properties to 2.1
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_2
- Migrate Spring Boot properties to 2.2
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_3
- Migrate Spring Boot properties to 2.3
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_4
- Migrate Spring Boot properties to 2.4
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_5
- Migrate Spring Boot properties to 2.5
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_6
- Migrate Spring Boot properties to 2.6
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_7
- Migrate Spring Boot properties to 2.7
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_0
- Migrate from Spring Boot 1.x to 2.0
- Migrate Spring Boot 1.x applications to the latest Spring Boot 2.0 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 2.0.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_1
- Migrate to Spring Boot 2.1
- Migrate applications to the latest Spring Boot 2.1 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 2.1.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_2
- Migrate to Spring Boot 2.2
- Migrate applications to the latest Spring Boot 2.2 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 2.2.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_3
- Migrate to Spring Boot 2.3
- Migrate applications to the latest Spring Boot 2.3 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 2.3.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_4
- Migrate to Spring Boot 2.4
- Migrate applications to the latest Spring Boot 2.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 2.4.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_6
- Migrate to Spring Boot 2.6
- Migrate applications to the latest Spring Boot 2.6 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 2.6.
- org.openrewrite.java.spring.boot2.search.FindUpgradeRequirementsSpringBoot_2_5
- Find patterns that require updating for Spring Boot 2.5
- Looks for a series of patterns that have not yet had auto-remediation recipes developed for.
- org.openrewrite.java.spring.boot2.search.MessagesInTheDefaultErrorView
- Find projects affected by changes to the default error view message attribute
- As of Spring Boot 2.5 the
messageattribute in the default error view was removed rather than blanked when it is not shown.spring-webmvcorspring-webfluxprojects that parse the error response JSON may need to deal with the missing item (release notes). You can still use theserver.error.include-messageproperty if you want messages to be included.
- org.openrewrite.java.spring.boot3.ActuatorEndpointSanitization
- Remove the deprecated properties
additional-keys-to-sanitizefrom theconfigpropsandenvend points - 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 the deprecated properties
- org.openrewrite.java.spring.boot3.DowngradeServletApiWhenUsingJetty
- Downgrade Jakarta Servlet API to 5.0 when using Jetty
- Jetty does not yet support Servlet 6.0. This recipe will detect the presence of the
spring-boot-starter-jettyas a first-order dependency and will add the maven propertyjakarta-servlet.versionsetting it's value to5.0.0. This will downgrade thejakarta-servletartifact if the pom's parent extends from the spring-boot-parent.
- org.openrewrite.java.spring.boot3.MigrateDropWizardDependencies
- Migrate dropWizard dependencies to Spring Boot 3.x
- Migrate dropWizard dependencies to the new artifactId, since these are changed with Spring Boot 3.
- org.openrewrite.java.spring.boot3.MigrateMaxHttpHeaderSize
- Rename
server.max-http-header-sizetoserver.max-http-request-header-size - 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.
- Rename
- org.openrewrite.java.spring.boot3.MigrateSapCfJavaLoggingSupport
- Migrate SAP cloud foundry logging support to Spring Boot 3.x
- Migrate SAP cloud foundry logging support from
cf-java-logging-support-servlettocf-java-logging-support-servlet-jakarta, to use Jakarta with Spring Boot 3.
- org.openrewrite.java.spring.boot3.MigrateThymeleafDependencies
- Migrate thymeleaf dependencies to Spring Boot 3.x
- Migrate thymeleaf dependencies to the new artifactId, since these are changed with Spring Boot 3.
- org.openrewrite.java.spring.boot3.ReplaceStringLiteralsWithConstants
- Replace String literals with Spring constants
- Replace String literals with Spring constants where applicable.
- org.openrewrite.java.spring.boot3.SpringBoot33BestPractices
- Spring Boot 3.3 best practices
- Applies best practices to Spring Boot 3 applications.
- org.openrewrite.java.spring.boot3.SpringBoot3BestPracticesOnly
- Spring Boot 3.3 best practices (only)
- Applies best practices to Spring Boot 3 applications, without chaining in upgrades to Spring Boot.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_0
- Migrate Spring Boot properties to 3.0
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_1
- Migrate Spring Boot properties to 3.1
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_2
- Migrate Spring Boot properties to 3.2
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_3
- Migrate Spring Boot properties to 3.3
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_4
- Migrate Spring Boot properties to 3.4
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_4_EnabledToAccess
- Migrate Enabled to Access Spring Boot Properties
- Migrate properties found in
application.propertiesandapplication.yml, specifically converting 'enabled' to 'access'.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_5
- Migrate Spring Boot properties to 3.5
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0
- Migrate to Spring Boot 3.0
- Migrate applications to the latest Spring Boot 3.0 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 2.7.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_1
- Migrate to Spring Boot 3.1
- Migrate applications to the latest Spring Boot 3.1 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.0.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2
- Migrate to Spring Boot 3.2
- Migrate applications to the latest Spring Boot 3.2 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.1.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3
- Migrate to Spring Boot 3.3
- Migrate applications to the latest Spring Boot 3.3 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.2.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_4
- Migrate to Spring Boot 3.4 (Community Edition)
- 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.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_5
- Migrate to Spring Boot 3.5 (Community Edition)
- 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.
- org.openrewrite.java.spring.boot4.SpringBootProperties_4_0
- Migrate Spring Boot properties to 4.0
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0
- Migrate to Spring Boot 4.0 (Community Edition)
- Migrate applications to the latest Spring Boot 4.0 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs.
- org.openrewrite.java.spring.opentelemetry.MigrateBraveToOpenTelemetry
- Migrate Brave API to OpenTelemetry API
- Migrate Java code using Brave (Zipkin) tracing API to OpenTelemetry API. This recipe handles the migration of Brave Tracer, Span, and related classes to OpenTelemetry equivalents.
- org.openrewrite.java.spring.opentelemetry.MigrateDatadogToOpenTelemetry
- Migrate Datadog tracing to OpenTelemetry
- Migrate from Datadog Java tracing annotations to OpenTelemetry annotations. Replace Datadog @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateFromZipkinToOpenTelemetry
- Migrate from Zipkin to OpenTelemetry OTLP
- Migrate from Zipkin tracing to OpenTelemetry OTLP. This recipe replaces Zipkin dependencies with OpenTelemetry OTLP exporter and updates the related configuration properties.
- org.openrewrite.java.spring.opentelemetry.MigrateNewRelicToOpenTelemetry
- Migrate New Relic Agent to OpenTelemetry
- Migrate from New Relic Java Agent annotations to OpenTelemetry annotations. Replace @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateOpenTracingToOpenTelemetry
- Migrate OpenTracing API to OpenTelemetry API
- Migrate Java code using OpenTracing API to OpenTelemetry API. OpenTracing has been superseded by OpenTelemetry and is no longer actively maintained.
- org.openrewrite.java.spring.opentelemetry.MigrateSleuthToOpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry. Spring Cloud Sleuth has been deprecated and is replaced by Micrometer Tracing with OpenTelemetry as a backend. This recipe removes Sleuth dependencies and adds OpenTelemetry instrumentation.
- org.openrewrite.java.spring.opentelemetry.MigrateToOpenTelemetry
- Complete migration to OpenTelemetry
- Comprehensive migration to OpenTelemetry including dependencies, configuration properties, and Java code changes. This recipe handles migration from Spring Cloud Sleuth, Brave/Zipkin, and OpenTracing to OpenTelemetry.
bouncycastle
2 recipes
- org.openrewrite.java.migrate.BounceCastleFromJdk15OntoJdk18On
- Migrate Bouncy Castle to
jdk18on - This recipe will upgrade Bouncy Castle dependencies from
-jdk15onor-jdk15to18to-jdk18on.
- Migrate Bouncy Castle to
- org.openrewrite.java.migrate.BouncyCastleFromJdk15OnToJdk15to18
- Migrate Bouncy Castle from
jdk15ontojdk15to18for Java < 8 - This recipe replaces the Bouncy Castle artifacts from
jdk15ontojdk15to18.jdk15onisn't maintained anymore andjdk18onis only for Java 8 and above. Thejdk15to18artifact is the up-to-date replacement of the unmaintainedjdk15onfor Java < 8.
- Migrate Bouncy Castle from
brave
1 recipe
- org.openrewrite.java.spring.opentelemetry.MigrateBraveToOpenTelemetry
- Migrate Brave API to OpenTelemetry API
- Migrate Java code using Brave (Zipkin) tracing API to OpenTelemetry API. This recipe handles the migration of Brave Tracer, Span, and related classes to OpenTelemetry equivalents.
bug
1 recipe
- org.openrewrite.javascript.cleanup.async-callback-in-sync-array-method
- Detect async callbacks in synchronous array methods
- Detects async callbacks passed to array methods like .some(), .every(), .filter() which don't await promises. This is a common bug where Promise objects are always truthy.
build
1 recipe
- org.openrewrite.quarkus.spring.MigrateMavenPlugin
- Add or replace Spring Boot build plugin with Quarkus build plugin
- Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom.
byteman
1 recipe
- org.openrewrite.java.testing.byteman.BytemanJUnit4ToBytemanJUnit5
- Use Byteman JUnit 5 dependency
- Migrates Byteman JUnit 4 to JUnit 5.
cache
1 recipe
- org.openrewrite.quarkus.spring.SpringBootCacheToQuarkus
- Replace Spring Boot Cache with Quarkus Cache
- Migrates
spring-boot-starter-cachetoquarkus-cache.
cacheManager
1 recipe
- com.oracle.weblogic.rewrite.examples.spring.ChangeCacheManagerToSimpleCacheManager
- Change cacheManager to use the SimpleCacheManager
- Change cacheManager to use the SimpleCacheManager.
camel
1 recipe
- org.openrewrite.quarkus.spring.SpringBootIntegrationToQuarkus
- Replace Spring Boot Integration with Camel Quarkus
- Migrates
spring-boot-starter-integrationtocamel-quarkus-core.
cdi
2 recipes
- com.oracle.weblogic.rewrite.jakarta.JavaxBeansXmlToJakarta9BeansXml
- Migrate xmlns entries in
beans.xmlfiles for Beans 3.0. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxBeansXmlToJakartaBeansXml
- Migrate xmlns entries in
beans.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
CKV
110 recipes
- org.openrewrite.terraform.aws.DisableInstanceMetadataServiceV1
- Disable Instance Metadata Service version 1
- As a request/response method IMDSv1 is prone to local misconfigurations.
- org.openrewrite.terraform.aws.EnableApiGatewayCaching
- Enable API gateway caching
- Enable caching for all methods of API Gateway.
- org.openrewrite.terraform.aws.EnableDynamoDbPITR
- Enable point-in-time recovery for DynamoDB
- DynamoDB Point-In-Time Recovery (PITR) is an automatic backup service for DynamoDB table data that helps protect your DynamoDB tables from accidental write or delete operations.
- org.openrewrite.terraform.aws.EnableECRScanOnPush
- Scan images pushed to ECR
- ECR Image Scanning assesses and identifies operating system vulnerabilities. Using automated image scans you can ensure container image vulnerabilities are found before getting pushed to production.
- org.openrewrite.terraform.aws.EncryptAuroraClusters
- Encrypt Aurora clusters
- Native Aurora encryption helps protect your cloud applications and fulfils compliance requirements for data-at-rest encryption.
- org.openrewrite.terraform.aws.EncryptCodeBuild
- Encrypt CodeBuild projects
- Build artifacts, such as a cache, logs, exported raw test report data files, and build results, are encrypted by default using CMKs for Amazon S3 that are managed by the AWS Key Management Service.
- org.openrewrite.terraform.aws.EncryptDAXStorage
- Encrypt DAX storage at rest
- DAX encryption at rest automatically integrates with AWS KMS for managing the single service default key used to encrypt clusters.
- org.openrewrite.terraform.aws.EncryptDocumentDB
- Encrypt DocumentDB storage
- The encryption feature available for Amazon DocumentDB clusters provides an additional layer of data protection by helping secure your data against unauthorized access to the underlying storage.
- org.openrewrite.terraform.aws.EncryptEBSSnapshots
- Encrypt EBS snapshots
- EBS snapshots should be encrypted, as they often include sensitive information, customer PII or CPNI.
- org.openrewrite.terraform.aws.EncryptEBSVolumeLaunchConfiguration
- Encrypt EBS volume launch configurations
- EBS volumes allow you to create encrypted launch configurations when creating EC2 instances and auto scaling. When the entire EBS volume is encrypted, data stored at rest on the volume, disk I/O, snapshots created from the volume, and data in-transit between EBS and EC2 are all encrypted.
- org.openrewrite.terraform.aws.EncryptEBSVolumes
- Encrypt EBS volumes
- Encrypting EBS volumes ensures that replicated copies of your images are secure even if they are accidentally exposed. AWS EBS encryption uses AWS KMS customer master keys (CMK) when creating encrypted volumes and snapshots. Storing EBS volumes in their encrypted state reduces the risk of data exposure or data loss.
- org.openrewrite.terraform.aws.EncryptEFSVolumesInECSTaskDefinitionsInTransit
- Encrypt EFS Volumes in ECS Task Definitions in transit
- Enable attached EFS definitions in ECS tasks to use encryption in transit.
- org.openrewrite.terraform.aws.EncryptElastiCacheRedisAtRest
- Encrypt ElastiCache Redis at rest
- ElastiCache for Redis offers default encryption at rest as a service.
- org.openrewrite.terraform.aws.EncryptElastiCacheRedisInTransit
- Encrypt ElastiCache Redis in transit
- ElastiCache for Redis offers optional encryption in transit. In-transit encryption provides an additional layer of data protection when transferring data over standard HTTPS protocol.
- org.openrewrite.terraform.aws.EncryptNeptuneStorage
- Encrypt Neptune storage
- Encryption of Neptune storage protects data and metadata against unauthorized access.
- org.openrewrite.terraform.aws.EncryptRDSClusters
- Encrypt RDS clusters
- Native RDS encryption helps protect your cloud applications and fulfils compliance requirements for data-at-rest encryption.
- org.openrewrite.terraform.aws.EncryptRedshift
- Encrypt Redshift storage at rest
- Redshift clusters should be securely encrypted at rest.
- org.openrewrite.terraform.aws.EnsureAWSCMKRotationIsEnabled
- Ensure AWS CMK rotation is enabled
- Ensure AWS CMK rotation is enabled.
- org.openrewrite.terraform.aws.EnsureAWSEFSWithEncryptionForDataAtRestIsEnabled
- Ensure AWS EFS with encryption for data at rest is enabled
- Ensure AWS EFS with encryption for data at rest is enabled.
- org.openrewrite.terraform.aws.EnsureAWSEKSClusterEndpointAccessIsPubliclyDisabled
- Ensure AWS EKS cluster endpoint access is publicly disabled
- Ensure AWS EKS cluster endpoint access is publicly disabled.
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchDomainEncryptionForDataAtRestIsEnabled
- Ensure AWS Elasticsearch domain encryption for data at rest is enabled
- Ensure AWS Elasticsearch domain encryption for data at rest is enabled.
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchDomainsHaveEnforceHTTPSEnabled
- Ensure AWS Elasticsearch domains have
EnforceHTTPSenabled - Ensure AWS Elasticsearch domains have
EnforceHTTPSenabled.
- Ensure AWS Elasticsearch domains have
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchHasNodeToNodeEncryptionEnabled
- Ensure AWS Elasticsearch has node-to-node encryption enabled
- Ensure AWS Elasticsearch has node-to-node encryption enabled.
- org.openrewrite.terraform.aws.EnsureAWSIAMPasswordPolicyHasAMinimumOf14Characters
- Ensure AWS IAM password policy has a minimum of 14 characters
- Ensure AWS IAM password policy has a minimum of 14 characters.
- org.openrewrite.terraform.aws.EnsureAWSLambdaFunctionIsConfiguredForFunctionLevelConcurrentExecutionLimit
- Ensure AWS Lambda function is configured for function-level concurrent execution limit
- Ensure AWS Lambda function is configured for function-level concurrent execution limit.
- org.openrewrite.terraform.aws.EnsureAWSLambdaFunctionsHaveTracingEnabled
- Ensure AWS Lambda functions have tracing enabled
- Ensure AWS Lambda functions have tracing enabled.
- org.openrewrite.terraform.aws.EnsureAWSRDSDatabaseInstanceIsNotPubliclyAccessible
- Ensure AWS RDS database instance is not publicly accessible
- Ensure AWS RDS database instance is not publicly accessible.
- org.openrewrite.terraform.aws.EnsureAWSS3ObjectVersioningIsEnabled
- Ensure AWS S3 object versioning is enabled
- Ensure AWS S3 object versioning is enabled.
- org.openrewrite.terraform.aws.EnsureAmazonEKSControlPlaneLoggingEnabledForAllLogTypes
- Ensure Amazon EKS control plane logging enabled for all log types
- Ensure Amazon EKS control plane logging enabled for all log types.
- org.openrewrite.terraform.aws.EnsureCloudTrailLogFileValidationIsEnabled
- Ensure CloudTrail log file validation is enabled
- Ensure CloudTrail log file validation is enabled.
- org.openrewrite.terraform.aws.EnsureDataStoredInAnS3BucketIsSecurelyEncryptedAtRest
- Ensure data stored in an S3 bucket is securely encrypted at rest
- Ensure data stored in an S3 bucket is securely encrypted at rest.
- org.openrewrite.terraform.aws.EnsureDetailedMonitoringForEC2InstancesIsEnabled
- Ensure detailed monitoring for EC2 instances is enabled
- Ensure detailed monitoring for EC2 instances is enabled.
- org.openrewrite.terraform.aws.EnsureEC2IsEBSOptimized
- Ensure EC2 is EBS optimized
- Ensure EC2 is EBS optimized.
- org.openrewrite.terraform.aws.EnsureECRRepositoriesAreEncrypted
- Ensure ECR repositories are encrypted
- Ensure ECR repositories are encrypted.
- org.openrewrite.terraform.aws.EnsureEnhancedMonitoringForAmazonRDSInstancesIsEnabled
- Ensure enhanced monitoring for Amazon RDS instances is enabled
- Ensure enhanced monitoring for Amazon RDS instances is enabled.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyExpiresPasswordsWithin90DaysOrLess
- Ensure IAM password policy expires passwords within 90 days or less
- Ensure IAM password policy expires passwords within 90 days or less.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyPreventsPasswordReuse
- Ensure IAM password policy prevents password reuse
- Ensure IAM password policy prevents password reuse.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneLowercaseLetter
- Ensure IAM password policy requires at least one lowercase letter
- Ensure IAM password policy requires at least one lowercase letter.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneNumber
- Ensure IAM password policy requires at least one number
- Ensure IAM password policy requires at least one number.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneSymbol
- Ensure IAM password policy requires at least one symbol
- Ensure IAM password policy requires at least one symbol.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneUppercaseLetter
- Ensure IAM password policy requires at least one uppercase letter
- Ensure IAM password policy requires at least one uppercase letter.
- org.openrewrite.terraform.aws.EnsureKinesisStreamIsSecurelyEncrypted
- Ensure Kinesis Stream is securely encrypted
- Ensure Kinesis Stream is securely encrypted.
- org.openrewrite.terraform.aws.EnsureRDSDatabaseHasIAMAuthenticationEnabled
- Ensure RDS database has IAM authentication enabled
- Ensure RDS database has IAM authentication enabled.
- org.openrewrite.terraform.aws.EnsureRDSInstancesHaveMultiAZEnabled
- Ensure RDS instances have Multi-AZ enabled
- Ensure RDS instances have Multi-AZ enabled.
- org.openrewrite.terraform.aws.EnsureRespectiveLogsOfAmazonRDSAreEnabled
- Ensure respective logs of Amazon RDS are enabled
- Ensure respective logs of Amazon RDS are enabled.
- org.openrewrite.terraform.aws.EnsureTheS3BucketHasAccessLoggingEnabled
- Ensure the S3 bucket has access logging enabled
- Ensure the S3 bucket has access logging enabled.
- org.openrewrite.terraform.aws.EnsureVPCSubnetsDoNotAssignPublicIPByDefault
- Ensure VPC subnets do not assign public IP by default
- Ensure VPC subnets do not assign public IP by default.
- org.openrewrite.terraform.aws.ImmutableECRTags
- Make ECR tags immutable
- Amazon ECR supports immutable tags, preventing image tags from being overwritten. In the past, ECR tags could have been overwritten, this could be overcome by requiring users to uniquely identify an image using a naming convention.
- org.openrewrite.terraform.aws.UseHttpsForCloudfrontDistribution
- Use HTTPS for Cloudfront distribution
- Secure communication by default.
- org.openrewrite.terraform.azure.DisableKubernetesDashboard
- Disable Kubernetes dashboard
- Disabling the dashboard eliminates it as an attack vector. The dashboard add-on is disabled by default for all new clusters created on Kubernetes 1.18 or greater.
- org.openrewrite.terraform.azure.EnableAzureStorageAccountTrustedMicrosoftServicesAccess
- Enable Azure Storage Account Trusted Microsoft Services access
- Certain Microsoft services that interact with storage accounts operate from networks that cannot be granted access through network rules. Using this configuration, you can allow the set of trusted Microsoft services to bypass those network rules.
- org.openrewrite.terraform.azure.EnableAzureStorageSecureTransferRequired
- Enable Azure Storage secure transfer required
- Microsoft recommends requiring secure transfer for all storage accounts.
- org.openrewrite.terraform.azure.EnableGeoRedundantBackupsOnPostgreSQLServer
- Enable geo-redundant backups on PostgreSQL server
- Ensure PostgreSQL server enables geo-redundant backups.
- org.openrewrite.terraform.azure.EncryptAzureVMDataDiskWithADECMK
- Encrypt Azure VM data disk with ADE/CMK
- Ensure Azure VM data disk is encrypted with ADE/CMK.
- org.openrewrite.terraform.azure.EnsureAKSPoliciesAddOn
- Ensure AKS policies add-on
- Azure Policy Add-on for Kubernetes service (AKS) extends Gatekeeper v3, an admission controller webhook for Open Policy Agent (OPA), to apply at-scale enforcements and safeguards on your clusters in a centralized, consistent manner.
- org.openrewrite.terraform.azure.EnsureAKVSecretsHaveAnExpirationDateSet
- Ensure AKV secrets have an expiration date set
- Ensure AKV secrets have an expiration date set.
- org.openrewrite.terraform.azure.EnsureASecurityContactPhoneNumberIsPresent
- Ensure a security contact phone number is present
- Ensure a security contact phone number is present.
- org.openrewrite.terraform.azure.EnsureActivityLogRetentionIsSetTo365DaysOrGreater
- Ensure activity log retention is set to 365 days or greater
- Ensure activity log retention is set to 365 days or greater.
- org.openrewrite.terraform.azure.EnsureAllKeysHaveAnExpirationDate
- Ensure all keys have an expiration date
- Ensure all keys have an expiration date.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesDetailedErrorMessages
- Ensure app service enables detailed error messages
- Ensure app service enables detailed error messages.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesFailedRequestTracing
- Ensure app service enables failed request tracing
- Ensure app service enables failed request tracing.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesHTTPLogging
- Ensure app service enables HTTP logging
- Ensure app service enables HTTP logging.
- org.openrewrite.terraform.azure.EnsureAppServicesUseAzureFiles
- Ensure app services use Azure files
- Ensure app services use Azure files.
- org.openrewrite.terraform.azure.EnsureAzureAppServiceWebAppRedirectsHTTPToHTTPS
- Ensure Azure App Service Web app redirects HTTP to HTTPS
- Ensure Azure App Service Web app redirects HTTP to HTTPS.
- org.openrewrite.terraform.azure.EnsureAzureApplicationGatewayHasWAFEnabled
- Ensure Azure application gateway has WAF enabled
- Ensure Azure application gateway has WAF enabled.
- org.openrewrite.terraform.azure.EnsureAzureKeyVaultIsRecoverable
- Ensure Azure key vault is recoverable
- Ensure Azure key vault is recoverable.
- org.openrewrite.terraform.azure.EnsureAzureNetworkWatcherNSGFlowLogsRetentionIsGreaterThan90Days
- Ensure Azure Network Watcher NSG flow logs retention is greater than 90 days
- Ensure Azure Network Watcher NSG flow logs retention is greater than 90 days.
- org.openrewrite.terraform.azure.EnsureAzurePostgreSQLDatabaseServerWithSSLConnectionIsEnabled
- Ensure Azure PostgreSQL database server with SSL connection is enabled
- Ensure Azure PostgreSQL database server with SSL connection is enabled.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerAuditLogRetentionIsGreaterThan90Days
- Ensure Azure SQL server audit log retention is greater than 90 days
- Ensure Azure SQL server audit log retention is greater than 90 days.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerSendAlertsToFieldValueIsSet
- Ensure Azure SQL server send alerts to field value is set
- Ensure Azure SQL server send alerts to field value is set.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerThreatDetectionAlertsAreEnabledForAllThreatTypes
- Ensure Azure SQL Server threat detection alerts are enabled for all threat types
- Ensure Azure SQL Server threat detection alerts are enabled for all threat types.
- org.openrewrite.terraform.azure.EnsureFTPDeploymentsAreDisabled
- Ensure FTP Deployments are disabled
- Ensure FTP Deployments are disabled.
- org.openrewrite.terraform.azure.EnsureKeyVaultAllowsFirewallRulesSettings
- Ensure key vault allows firewall rules settings
- Ensure key vault allows firewall rules settings.
- org.openrewrite.terraform.azure.EnsureKeyVaultEnablesPurgeProtection
- Ensure key vault enables purge protection
- Ensure key vault enables purge protection.
- org.openrewrite.terraform.azure.EnsureKeyVaultKeyIsBackedByHSM
- Ensure key vault key is backed by HSM
- Ensure key vault key is backed by HSM.
- org.openrewrite.terraform.azure.EnsureKeyVaultSecretsHaveContentTypeSet
- Ensure key vault secrets have
content_typeset - Ensure key vault secrets have
content_typeset.
- Ensure key vault secrets have
- org.openrewrite.terraform.azure.EnsureLogProfileIsConfiguredToCaptureAllActivities
- Ensure log profile is configured to capture all activities
- Ensure log profile is configured to capture all activities.
- org.openrewrite.terraform.azure.EnsureMSSQLServersHaveEmailServiceAndCoAdministratorsEnabled
- Ensure MSSQL servers have email service and co-administrators enabled
- Ensure MSSQL servers have email service and co-administrators enabled.
- org.openrewrite.terraform.azure.EnsureManagedIdentityProviderIsEnabledForAppServices
- Ensure managed identity provider is enabled for app services
- Ensure managed identity provider is enabled for app services.
- org.openrewrite.terraform.azure.EnsureMySQLIsUsingTheLatestVersionOfTLSEncryption
- Ensure MySQL is using the latest version of TLS encryption
- Ensure MySQL is using the latest version of TLS encryption.
- org.openrewrite.terraform.azure.EnsureMySQLServerDatabasesHaveEnforceSSLConnectionEnabled
- Ensure MySQL server databases have Enforce SSL connection enabled
- Ensure MySQL server databases have Enforce SSL connection enabled.
- org.openrewrite.terraform.azure.EnsureMySQLServerDisablesPublicNetworkAccess
- Ensure MySQL server disables public network access
- Ensure MySQL server disables public network access.
- org.openrewrite.terraform.azure.EnsureMySQLServerEnablesGeoRedundantBackups
- Ensure MySQL server enables geo-redundant backups
- Ensure MySQL server enables geo-redundant backups.
- org.openrewrite.terraform.azure.EnsureMySQLServerEnablesThreatDetectionPolicy
- Ensure MySQL server enables Threat Detection policy
- Ensure MySQL server enables Threat Detection policy.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerDisablesPublicNetworkAccess
- Ensure PostgreSQL server disables public network access
- Ensure PostgreSQL server disables public network access.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerEnablesInfrastructureEncryption
- Ensure PostgreSQL server enables infrastructure encryption
- Ensure PostgreSQL server enables infrastructure encryption.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerEnablesThreatDetectionPolicy
- Ensure PostgreSQL server enables Threat Detection policy
- Ensure PostgreSQL server enables Threat Detection policy.
- org.openrewrite.terraform.azure.EnsurePublicNetworkAccessEnabledIsSetToFalseForMySQLServers
- Ensure public network access enabled is set to False for mySQL servers
- Ensure public network access enabled is set to False for mySQL servers.
- org.openrewrite.terraform.azure.EnsureSendEmailNotificationForHighSeverityAlertsIsEnabled
- Ensure Send email notification for high severity alerts is enabled
- Ensure Send email notification for high severity alerts is enabled.
- org.openrewrite.terraform.azure.EnsureSendEmailNotificationForHighSeverityAlertsToAdminsIsEnabled
- Ensure Send email notification for high severity alerts to admins is enabled
- Ensure Send email notification for high severity alerts to admins is enabled.
- org.openrewrite.terraform.azure.EnsureStandardPricingTierIsSelected
- Ensure standard pricing tier is selected
- Ensure standard pricing tier is selected.
- org.openrewrite.terraform.azure.EnsureStorageAccountUsesLatestTLSVersion
- Ensure storage account uses latest TLS version
- Communication between an Azure Storage account and a client application is encrypted using Transport Layer Security (TLS). Microsoft recommends using the latest version of TLS for all your Microsoft Azure App Service web applications.
- org.openrewrite.terraform.azure.EnsureWebAppHasIncomingClientCertificatesEnabled
- Ensure Web App has incoming client certificates enabled
- Ensure Web App has incoming client certificates enabled.
- org.openrewrite.terraform.azure.EnsureWebAppUsesTheLatestVersionOfHTTP
- Ensure Web App uses the latest version of HTTP
- Ensure Web App uses the latest version of HTTP.
- org.openrewrite.terraform.azure.EnsureWebAppUsesTheLatestVersionOfTLSEncryption
- Ensure Web App uses the latest version of TLS encryption
- Ensure Web App uses the latest version of TLS encryption.
- org.openrewrite.terraform.azure.SetAzureStorageAccountDefaultNetworkAccessToDeny
- Set Azure Storage Account default network access to deny
- Ensure Azure Storage Account default network access is set to Deny.
- org.openrewrite.terraform.gcp.EnablePodSecurityPolicyControllerOnGKEClusters
- Enable
PodSecurityPolicycontroller on Google Kubernetes Engine (GKE) clusters - Ensure
PodSecurityPolicycontroller is enabled on Google Kubernetes Engine (GKE) clusters.
- Enable
- org.openrewrite.terraform.gcp.EnableVPCFlowLogsAndIntranodeVisibility
- Enable VPC flow logs and intranode visibility
- Enable VPC flow logs and intranode visibility.
- org.openrewrite.terraform.gcp.EnableVPCFlowLogsForSubnetworks
- Enable VPC Flow Logs for subnetworks
- Ensure GCP VPC flow logs for subnets are enabled. Flow Logs capture information on IP traffic moving through network interfaces. This information can be used to monitor anomalous traffic and provide security insights.
- org.openrewrite.terraform.gcp.EnsureBinaryAuthorizationIsUsed
- Ensure binary authorization is used
- Ensure binary authorization is used.
- org.openrewrite.terraform.gcp.EnsureComputeInstancesLaunchWithShieldedVMEnabled
- Ensure compute instances launch with shielded VM enabled
- Ensure compute instances launch with shielded VM enabled.
- org.openrewrite.terraform.gcp.EnsureGCPCloudStorageBucketWithUniformBucketLevelAccessAreEnabled
- Ensure GCP cloud storage bucket with uniform bucket-level access are enabled
- Ensure GCP cloud storage bucket with uniform bucket-level access are enabled.
- org.openrewrite.terraform.gcp.EnsureGCPKubernetesClusterNodeAutoRepairConfigurationIsEnabled
- Ensure GCP Kubernetes cluster node auto-repair configuration is enabled
- Ensure GCP Kubernetes cluster node auto-repair configuration is enabled.
- org.openrewrite.terraform.gcp.EnsureGCPKubernetesEngineClustersHaveLegacyComputeEngineMetadataEndpointsDisabled
- Ensure GCP Kubernetes engine clusters have legacy compute engine metadata endpoints disabled
- Ensure GCP Kubernetes engine clusters have legacy compute engine metadata endpoints disabled.
- org.openrewrite.terraform.gcp.EnsureGCPVMInstancesHaveBlockProjectWideSSHKeysFeatureEnabled
- Ensure GCP VM instances have block project-wide SSH keys feature enabled
- Ensure GCP VM instances have block project-wide SSH keys feature enabled.
- org.openrewrite.terraform.gcp.EnsureIPForwardingOnInstancesIsDisabled
- Ensure IP forwarding on instances is disabled
- Ensure IP forwarding on instances is disabled.
- org.openrewrite.terraform.gcp.EnsurePrivateClusterIsEnabledWhenCreatingKubernetesClusters
- Ensure private cluster is enabled when creating Kubernetes clusters
- Ensure private cluster is enabled when creating Kubernetes clusters.
- org.openrewrite.terraform.gcp.EnsureSecureBootForShieldedGKENodesIsEnabled
- Ensure secure boot for shielded GKE nodes is enabled
- Ensure secure boot for shielded GKE nodes is enabled.
- org.openrewrite.terraform.gcp.EnsureShieldedGKENodesAreEnabled
- Ensure shielded GKE nodes are enabled
- Ensure shielded GKE nodes are enabled.
- org.openrewrite.terraform.gcp.EnsureTheGKEMetadataServerIsEnabled
- Ensure the GKE metadata server is enabled
- Ensure the GKE metadata server is enabled.
CKV2
1 recipe
- org.openrewrite.terraform.azure.EnsureTheStorageContainerStoringActivityLogsIsNotPubliclyAccessible
- Ensure the storage container storing activity logs is not publicly accessible
- Ensure the storage container storing activity logs is not publicly accessible.
classic
3 recipes
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic
- Replace Spring Boot AMQP with Quarkus Messaging RabbitMQ
- Migrates
spring-boot-starter-amqptoquarkus-messaging-rabbitmqwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusClassic
- Replace Spring Boot Web with Quarkus RESTEasy Classic
- Migrates
spring-boot-starter-webtoquarkus-resteasy-jacksonwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusClassic
- Replace Spring Kafka with Quarkus Kafka Client
- Migrates
spring-kafkatoquarkus-kafka-clientwhen no reactor dependencies are present.
cleanup
1 recipe
- org.openrewrite.javascript.cleanup.async-callback-in-sync-array-method
- Detect async callbacks in synchronous array methods
- Detects async callbacks passed to array methods like .some(), .every(), .filter() which don't await promises. This is a common bug where Promise objects are always truthy.
cloud
23 recipes
- io.moderne.java.spring.cloud2020.SpringCloudProperties_2020
- Migrate Spring Cloud properties to 2020
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2021.SpringCloudProperties_2021
- Migrate Spring Cloud properties to 2021
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2022.SpringCloudProperties_2022
- Migrate Spring Cloud properties to 2022
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2023.SpringCloudProperties_2023
- Migrate Spring Cloud properties to 2023
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2024.SpringCloudProperties_2024
- Migrate Spring Cloud properties to 2024
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2025.SpringCloudProperties_2025
- Migrate Spring Cloud properties to 2025
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud20251.SpringCloudProperties_2025_1
- Migrate Spring Cloud properties to 2025.1
- Migrate properties found in
application.propertiesandapplication.ymlfor Spring Cloud 2025.1 (Oakwood). This includes the stubrunner property prefix migration fromstubrunner.tospring.cloud.contract.stubrunner..
- io.moderne.java.spring.cloud20251.UpgradeSpringCloud_2025_1
- Upgrade to Spring Cloud 2025.1
- Upgrade to Spring Cloud 2025.1 (Oakwood). This release is based on Spring Framework 7 and Spring Boot 4. Each Spring Cloud project has been updated to version 5.0.0.
- org.openrewrite.java.spring.cloud2022.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2022
- Upgrade dependencies to Spring Cloud 2022 from prior 2021.x version.
- org.openrewrite.java.spring.cloud2022.MigrateCloudSleuthToMicrometerTracing
- Migrate Spring Cloud Sleuth 3.1 to Micrometer Tracing 1.0
- Spring Cloud Sleuth has been discontinued and only compatible with Spring Boot 2.x.
- org.openrewrite.java.spring.cloud2022.UpgradeSpringCloud_2022
- Migrate to Spring Cloud 2022
- Migrate applications to the latest Spring Cloud 2022 (Kilburn) release.
- org.openrewrite.java.spring.cloud2023.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2023
- Upgrade dependencies to Spring Cloud 2023 from prior 2022.x version.
- org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023
- Migrate to Spring Cloud 2023
- Migrate applications to the latest Spring Cloud 2023 (Leyton) release.
- org.openrewrite.java.spring.cloud2024.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2024
- Upgrade dependencies to Spring Cloud 2024 from prior 2023.x version.
- org.openrewrite.java.spring.cloud2024.UpgradeSpringCloud_2024
- Migrate to Spring Cloud 2024
- Migrate applications to the latest Spring Cloud 2024 (Moorgate) release.
- org.openrewrite.java.spring.cloud2025.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2025
- Upgrade dependencies to Spring Cloud 2025 from prior 2024.x version.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayDeprecatedModulesAndStarters
- Migrate to New Spring Cloud Gateway Modules and Starters
- Migrate to new Spring Cloud Gateway modules and starters for Spring Cloud 2025.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayProperties
- Migrate Spring Cloud Gateway Properties
- Migrate Spring Cloud Gateway properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayProxyWebMvcProperties
- Migrate Spring Cloud Gateway Proxy WebMvc Properties
- Migrate Spring Cloud Gateway Proxy WebMvc properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayProxyWebfluxProperties
- Migrate Spring Cloud Gateway Proxy Webflux Properties
- Migrate Spring Cloud Gateway Proxy Webflux properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayWebMvcProperties
- Migrate Spring Cloud Gateway WebMvc Properties
- Migrate Spring Cloud Gateway WebMvc properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayWebfluxProperties
- Migrate Spring Cloud Gateway Webflux Properties
- Migrate Spring Cloud Gateway Webflux properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.UpgradeSpringCloud_2025
- Migrate to Spring Cloud 2025
- Migrate applications to the latest Spring Cloud 2025 (Northfields) release.
cloudfoundry
1 recipe
- org.openrewrite.java.spring.boot3.MigrateSapCfJavaLoggingSupport
- Migrate SAP cloud foundry logging support to Spring Boot 3.x
- Migrate SAP cloud foundry logging support from
cf-java-logging-support-servlettocf-java-logging-support-servlet-jakarta, to use Jakarta with Spring Boot 3.
cobertura
1 recipe
- org.openrewrite.java.migrate.cobertura.RemoveCoberturaMavenPlugin
- Remove Cobertura Maven plugin
- This recipe will remove Cobertura, as it is not compatible with Java 11.
codemods
103 recipes
- org.openrewrite.codemods.ecmascript.5to6.ECMAScript6BestPractices
- Upgrade ECMAScript 5 to ECMAScript 6
- A collection of common ECMAScript 5 to ECMAScript 6 updates.
- org.openrewrite.codemods.ecmascript.5to6.amdToEsm
- Transform AMD style
define()calls to ES6importstatements - Transform AMD style
define()calls to ES6importstatements.
- Transform AMD style
- org.openrewrite.codemods.ecmascript.5to6.cjsToEsm
- Transform CommonJS style
require()calls to ES6importstatements - Transform CommonJS style
require()calls to ES6importstatements.
- Transform CommonJS style
- org.openrewrite.codemods.ecmascript.5to6.namedExportGeneration
- Generate named exports from CommonJS modules
- Generate named exports from CommonJS modules.
- org.openrewrite.codemods.ecmascript.5to6.noStrict
- Remove "use strict" directives
- Remove "use strict" directives.
- org.openrewrite.codemods.ecmascript.5to6.simpleArrow
- Replace all function expressions with only
returnstatement with simple arrow - Replace all function expressions with only
returnstatement with simple arrow function.
- Replace all function expressions with only
- org.openrewrite.codemods.ecmascript.5to6.varToLet
- Convert
vartolet - Convert
vartolet.
- Convert
- org.openrewrite.codemods.ecmascript.ESLintTypeScriptDefaults
- Lint TypeScript code using ESLint
- The default config includes the
@typescript-eslintplugin and the correspondingplugin:@typescript-eslint/recommendedextend.
- org.openrewrite.codemods.ecmascript.ESLintTypeScriptPrettier
- Format TypeScript using ESLint Prettier plugin
- Formats all TypeScript source code using the ESLint Prettier plugin.
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreArray
- Replace lodash and underscore array functions with native JavaScript
-
_.head(x)->x[0]-_.head(x, n)->x.slice(n)-_.first(alias for_.head) -_.tail(x)->x.slice(1)-_.tail(x, n)->x.slice(n)-_.rest(alias for_.tail) -_.last(x)->x[x.length - 1]-_.last(x, n)->x.slice(x.length - n).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreFunction
- Replace lodash and underscore function functions with native JavaScript
-
_.bind(fn, obj, ...x)->fn.bind(obj, ...x)-_.partial(fn, a, b);->(...args) => fn(a, b, ...args).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreObjects
- Replace lodash and underscore object functions with native JavaScript
-
_.clone(x)->{ ...x }-_.extend({}, x, y)->{ ...x, ...y }-_.extend(obj, x, y)->Object.assign(obj, x, y)-_.keys(x)->Object.keys(x)-_.pairs(x)->Object.entries(x)-_.values(x)->Object.values(x).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreUtil
- Replace lodash and underscore utility functions with native JavaScript
-
_.isArray(x)->Array.isArray(x)-_.isBoolean(x)->typeof(x) === 'boolean'-_.isFinite(x)->Number.isFinite(x)-_.isFunction(x)->typeof(x) === 'function'-_.isNull(x)->x === null-_.isString(x)->typeof(x) === 'string'-_.isUndefined(x)->typeof(x) === 'undefined'.
- org.openrewrite.codemods.migrate.mui.AdapterV
- Converts components to use the v4 adapter module
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.All
- Combination of all deprecations
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.AutocompleteRenameCloseicon
- Renames
closeIconprop tocloseButtonIcon - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.AutocompleteRenameOption
- Renames
optionprop togetOptionLabel - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.AvatarCircleCircular
- Updates
circleprop tovariant="circular" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BadgeOverlapValue
- Updates
overlapprop tovariant="dot" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BaseHookImports
- Converts base imports to use React hooks
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BaseRemoveComponentProp
- Removes
componentprop from base components - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.BaseRemoveUnstyledSuffix
- Removes
Unstyledsuffix from base components - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.BaseRenameComponentsToSlots
- Renames base components to slots
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BaseUseNamedExports
- Updates base imports to use named exports
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BoxBorderradiusValues
- Updates
borderRadiusprop values - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BoxRenameCss
- Renames CSS properties for Box component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BoxRenameGap
- Renames
gapprop tospacing - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.BoxSxProp
- Converts
sxprop tosxstyle prop - See Material UI codemod projects for more details.
- Converts
- org.openrewrite.codemods.migrate.mui.ButtonColorProp
- Renames
colorprop tocolorOverride - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.ChipVariantProp
- Updates
variantprop for Chip component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.CircularprogressVariant
- Updates
variantprop for CircularProgress component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.CollapseRenameCollapsedheight
- Renames
collapsedHeightprop totransitionCollapsedHeight - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.ComponentRenameProp
- Renames
componentprop toas - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.CoreStylesImport
- Updates import paths for core styles
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.CreateTheme
- Updates createMuiTheme usage
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.DatePickersMovedToX
- Moves date pickers to
@mui/x-date-picker - See Material UI codemod projects for more details.
- Moves date pickers to
- org.openrewrite.codemods.migrate.mui.DialogProps
- Updates props for Dialog component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.DialogTitleProps
- Updates props for DialogTitle component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.EmotionPrependCache
- Prepends emotion cache
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ExpansionPanelComponent
- Converts ExpansionPanel to use ExpansionPanel component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.FabVariant
- Updates
variantprop for Fab component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.FadeRenameAlpha
- Renames
alphaprop toopacity - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.GridJustifyJustifycontent
- Updates
justifyprop tojustifyContentfor Grid component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.GridListComponent
- Converts GridList to use Grid component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.GridVProps
- Updates the usage of the
@mui/material/Grid2,@mui/system/Grid, and@mui/joy/Gridcomponents to their updated APIs - See Material UI codemod projects for more details.
- Updates the usage of the
- org.openrewrite.codemods.migrate.mui.HiddenDownProps
- Updates
downprop for Hidden component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.IconButtonSize
- Updates
sizeprop for IconButton component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.JoyAvatarRemoveImgprops
- Removes
imgPropsprop from Avatar component - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.JoyRenameClassnamePrefix
- Renames
Muiclassname prefix - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JoyRenameComponentsToSlots
- Renames components to slots
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.JoyRenameRowProp
- Renames
rowprop toflexDirection="row" - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JoyTextFieldToInput
- Renames
TextFieldtoInput - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JssToStyled
- Converts JSS styles to styled-components
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.JssToTssReact
- Converts JSS to TypeScript in React components
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.LinkUnderlineHover
- Updates link underline on hover
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.MaterialUiStyles
- Updates usage of
@mui/styles - See Material UI codemod projects for more details.
- Updates usage of
- org.openrewrite.codemods.migrate.mui.MaterialUiTypes
- Updates usage of
@mui/types - See Material UI codemod projects for more details.
- Updates usage of
- org.openrewrite.codemods.migrate.mui.ModalProps
- Updates props for Modal component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.MovedLabModules
- Moves lab modules to
@mui/material - See Material UI codemod projects for more details.
- Moves lab modules to
- org.openrewrite.codemods.migrate.mui.MuiReplace
- Replaces
@muiimports with@mui/material - See Material UI codemod projects for more details.
- Replaces
- org.openrewrite.codemods.migrate.mui.OptimalImports
- Optimizes imports
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.PaginationRoundCircular
- Updates
circularprop tovariant="circular" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.PresetSafe
- Ensures presets are safe to use
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.RenameCssVariables
- Renames CSS variables
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.RootRef
- Converts
rootReftoref - See Material UI codemod projects for more details.
- Converts
- org.openrewrite.codemods.migrate.mui.SkeletonVariant
- Updates
variantprop for Skeleton component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.Styled
- Updates the usage of
styledfrom@mui/system@v5to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Updates the usage of
- org.openrewrite.codemods.migrate.mui.StyledEngineProvider
- Updates usage of styled engine provider
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.SxProp
- Update the usage of the
sxprop to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Update the usage of the
- org.openrewrite.codemods.migrate.mui.SystemProps
- Remove system props and add them to the
sxprop - See Material UI codemod projects for more details.
- Remove system props and add them to the
- org.openrewrite.codemods.migrate.mui.TableProps
- Updates props for Table component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TabsScrollButtons
- Updates scroll buttons for Tabs component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TextareaMinmaxRows
- Updates
minRowsandmaxRowsprops for TextareaAutosize component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeAugment
- Adds
DefaultThememodule augmentation to typescript projects - See Material UI codemod projects for more details.
- Adds
- org.openrewrite.codemods.migrate.mui.ThemeBreakpoints
- Updates theme breakpoints
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeBreakpointsWidth
- Updates
widthvalues for theme breakpoints - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeOptions
- Updates theme options
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemePaletteMode
- Updates theme palette mode
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeProvider
- Updates usage of ThemeProvider
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeSpacing
- Updates theme spacing
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeSpacingApi
- Updates theme spacing API
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeTypographyRound
- Updates
roundvalues for theme typography - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeV
- Update the theme creation from
@mui/system@v5to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Update the theme creation from
- org.openrewrite.codemods.migrate.mui.TopLevelImports
- Converts all
@mui/materialsubmodule imports to the root module - See Material UI codemod projects for more details.
- Converts all
- org.openrewrite.codemods.migrate.mui.Transitions
- Updates usage of transitions
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TreeViewMovedToX
- Moves tree view to
@mui/x-tree-view - See Material UI codemod projects for more details.
- Moves tree view to
- org.openrewrite.codemods.migrate.mui.UseAutocomplete
- Updates usage of useAutocomplete
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.UseTransitionprops
- Updates usage of useTransitionProps
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.VariantProp
- Updates
variantprop usage - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.WithMobileDialog
- Updates withMobileDialog higher-order component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.WithWidth
- Updates withWidth higher-order component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.nextjs.NextJsCodemods
- Next.js Codemods for API Updates
- Next.js provides Codemod transformations to help upgrade your Next.js codebase when an API is updated or deprecated.
- org.openrewrite.codemods.migrate.nextjs.v10.AddMissingReactImport
- Add React imports
- Transforms files that do not import
Reactto include the import in order for the new React JSX transform to work.
- org.openrewrite.codemods.migrate.nextjs.v11.CraToNext
- Rename Next Image Imports
- Safely renames
next/imageimports in existing Next.js1011or12applications tonext/legacy/imagein Next.js 13. Also renamesnext/future/imagetonext/image.
- org.openrewrite.codemods.migrate.nextjs.v13_0.NewLink
- Remove
<a>Tags From Link Components - Remove
&lt;a&gt;tags inside Link Components or add alegacyBehaviorprop to Links that cannot be auto-fixed.
- Remove
- org.openrewrite.codemods.migrate.nextjs.v13_0.NextImageExperimental
- Migrate to the New Image Component
- Dangerously migrates from
next/legacy/imageto the newnext/imageby adding inline styles and removing unused props.
- org.openrewrite.codemods.migrate.nextjs.v13_0.NextImageToLegacyImage
- Rename Next Image Imports
- Safely renames
next/imageimports in existing Next.js1011or12applications tonext/legacy/imagein Next.js 13. Also renamesnext/future/imagetonext/image.
- org.openrewrite.codemods.migrate.nextjs.v13_2.BuiltInNextFont
- Use Built-in Font
- This codemod uninstalls the
@next/fontpackage and transforms@next/fontimports into the built-innext/font.
- org.openrewrite.codemods.migrate.nextjs.v14_0.MetadataToViewportExport
- Use
viewportexport - This codemod migrates certain viewport metadata to
viewportexport.
- Use
- org.openrewrite.codemods.migrate.nextjs.v14_0.NextOgImport
- Migrate
ImageResponseimports - This codemod moves transforms imports from
next/servertonext/ogfor usage of Dynamic OG Image Generation.
- Migrate
- org.openrewrite.codemods.migrate.nextjs.v6.UrlToWithrouter
- Use
withRouter - Transforms the deprecated automatically injected url property on top-level pages to using
withRouterand therouterproperty it injects. Read more here.
- Use
- org.openrewrite.codemods.migrate.nextjs.v8.WithampToConfig
- Transform AMP HOC into page config
- Transforms the
withAmpHOC into Next.js 9 page configuration.
- org.openrewrite.codemods.migrate.nextjs.v9.NameDefaultComponent
- Transform Anonymous Components into Named Components
- Transforms anonymous components into named components to make sure they work with Fast Refresh. The component will have a camel-cased name based on the name of the file, and it also works with arrow functions.
collections
2 recipes
- org.openrewrite.apache.commons.collections.UpgradeApacheCommonsCollections_3_4
- Migrates to Apache Commons Collections 4.x
- 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.
- org.openrewrite.java.migrate.util.SequencedCollection
- Adopt
SequencedCollection - Replace older code patterns with
SequencedCollectionmethods, as per https://openjdk.org/jeps/431.
- Adopt
commons
14 recipes
- org.openrewrite.apache.commons.codec.ApacheBase64ToJavaBase64
- Prefer
java.util.Base64 - Prefer the Java standard library's
java.util.Base64over third-party usage of apache'sapache.commons.codec.binary.Base64.
- Prefer
- org.openrewrite.apache.commons.collections.UpgradeApacheCommonsCollections_3_4
- Migrates to Apache Commons Collections 4.x
- 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.
- org.openrewrite.apache.commons.io.ApacheFileUtilsToJavaFiles
- Prefer
java.nio.file.Files - Prefer the Java standard library's
java.nio.file.Filesover third-party usage of apache'sapache.commons.io.FileUtils.
- Prefer
- org.openrewrite.apache.commons.io.ApacheIOUtilsUseExplicitCharset
- Use IOUtils method that include their charset encoding
- Use
IOUtilsmethod invocations that include the charset encoding instead of using the deprecated versions that do not include a charset encoding. (e.g. convertsIOUtils.readLines(inputStream)toIOUtils.readLines(inputStream, StandardCharsets.UTF_8).
- org.openrewrite.apache.commons.io.RelocateApacheCommonsIo
- Relocate
org.apache.commons:commons-iotocommons-io:commons-io - The deployment of
org.apache.commons:commons-iowas a publishing mistake around 2012 which was corrected by changing the deployment GAV to be located undercommons-io:commons-io.
- Relocate
- org.openrewrite.apache.commons.io.UseStandardCharsets
- Prefer
java.nio.charset.StandardCharsets - Prefer the Java standard library's
java.nio.charset.StandardCharsetsover third-party usage of apache'sorg.apache.commons.io.Charsets.
- Prefer
- org.openrewrite.apache.commons.io.UseSystemLineSeparator
- Prefer
System.lineSeparator() - Prefer the Java standard library's
System.lineSeparator()over third-party usage of apache'sIOUtils.LINE_SEPARATOR.
- Prefer
- org.openrewrite.apache.commons.lang.IsNotEmptyToJdk
- Replace any StringUtils#isEmpty(String) and #isNotEmpty(String)
- Replace any
StringUtils#isEmpty(String)and#isNotEmpty(String)withs == null || s.isEmpty()ands != null && !s.isEmpty().
- org.openrewrite.apache.commons.lang.UpgradeApacheCommonsLang_2_3
- Migrates to Apache Commons Lang 3.x
- 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.
- org.openrewrite.apache.commons.lang.WordUtilsToCommonsText
- Migrate
WordUtilsto Apache Commons Text - Migrate
org.apache.commons.lang.WordUtilstoorg.apache.commons.text.WordUtilsand add the Commons Text dependency.
- Migrate
- org.openrewrite.apache.commons.lang3.UseStandardCharsets
- Prefer
java.nio.charset.StandardCharsets - Prefer the Java standard library's
java.nio.charset.StandardCharsetsoverorg.apache.commons.lang3.CharEncoding.
- Prefer
- org.openrewrite.apache.commons.math.UpgradeApacheCommonsMath_2_3
- Migrates to Apache Commons Math 3.x
- Migrate applications to the latest Apache Commons Math 3.x release. This recipe modifies application's build files, make changes to deprecated/preferred APIs, and migrates configuration settings that have changes between versions.
- org.openrewrite.java.logging.log4j.CommonsLoggingToLog4j
- Migrate JCL to Log4j 2.x API
- Transforms code written using Apache Commons Logging to use Log4j 2.x API.
- org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1
- Migrate Apache Commons Logging 1.x to SLF4J 1.x
- Transforms usages of Apache Commons Logging 1.x to leveraging SLF4J 1.x directly.
compatibility
1 recipe
- org.openrewrite.quarkus.spring.AddSpringCompatibilityExtensions
- Add Spring compatibility extensions for commonly used annotations
- Adds Quarkus Spring compatibility extensions when Spring annotations are detected in the codebase.
compiler
2 recipes
- io.quarkus.updates.core.quarkus37.JavaVersion17
- Change Maven and Gradle Java version property values to 17
- Change maven.compiler.source and maven.compiler.target values to 17.
- org.apache.camel.upgrade.JavaVersion17
- Change Maven Java version property values to 17
- Change maven.compiler.source and maven.compiler.target values to 17.
connector
2 recipes
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1412
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Adapter schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1511
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ra.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
connectors
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxRaXmlToJakarta9RaXml
- Migrate xmlns entries in
ra.xmlfiles (Connectors). - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
core
1 recipe
- com.oracle.weblogic.rewrite.hibernate.AddHibernateOrmCore61
- Add Hibernate ORM Core if has dependencies
- This recipe will add Hibernate ORM Core if has dependencies.
cucumber
5 recipes
- org.openrewrite.cucumber.jvm.CucumberJava8ToJava
- Migrate
cucumber-java8tocucumber-java - Migrates
cucumber-java8step definitions andLambdaGluehooks tocucumber-javaannotated methods.
- Migrate
- org.openrewrite.cucumber.jvm.CucumberToJunitPlatformSuite
- Cucumber to JUnit test
@Suite - Migrates Cucumber tests to JUnit test
@Suite.
- Cucumber to JUnit test
- org.openrewrite.cucumber.jvm.UpgradeCucumber2x
- Upgrade to Cucumber-JVM 2.x
- Upgrade to Cucumber-JVM 2.x from any previous version.
- org.openrewrite.cucumber.jvm.UpgradeCucumber5x
- Upgrade to Cucumber-JVM 5.x
- Upgrade to Cucumber-JVM 5.x from any previous version.
- org.openrewrite.cucumber.jvm.UpgradeCucumber7x
- Upgrade to Cucumber-JVM 7.x
- Upgrade to Cucumber-JVM 7.x from any previous version.
CVE
3 recipes
- org.openrewrite.java.logging.log4j.UpgradeLog4J2DependencyVersion
- Upgrade Log4j 2.x dependency version
- Upgrades the Log4j 2.x dependencies to the latest 2.x version. Mitigates the Log4Shell and other Log4j2-related vulnerabilities.
- org.openrewrite.java.security.FindTextDirectionChanges
- Find text-direction changes
- Finds unicode control characters which can change the direction text is displayed in. These control characters can alter how source code is presented to a human reader without affecting its interpretation by tools like compilers. So a malicious patch could pass code review while introducing vulnerabilities. Note that text direction-changing unicode control characters aren't inherently malicious. These characters can appear for legitimate reasons in code written in or dealing with right-to-left languages. See: https://trojansource.codes/ for more information.
- org.openrewrite.java.security.spring.InsecureSpringServiceExporter
- Secure Spring service exporters
- The default Java deserialization mechanism is available via
ObjectInputStreamclass. This mechanism is known to be vulnerable. If an attacker can make an application deserialize malicious data, it may result in arbitrary code execution. Spring’sRemoteInvocationSerializingExporteruses the default Java deserialization mechanism to parse data. As a result, all classes that extend it are vulnerable to deserialization attacks. The Spring Framework contains at leastHttpInvokerServiceExporterandSimpleHttpInvokerServiceExporterthat extendRemoteInvocationSerializingExporter. These exporters parse data from the HTTP body using the unsafe Java deserialization mechanism. See the full blog post by Artem Smotrakov on CVE-2016-1000027 from which the above description is excerpted.
CWE
16 recipes
- org.openrewrite.apache.httpclient4.MigrateDefaultHttpClient
- Migrates deprecated
DefaultHttpClient - Since
DefaultHttpClientis deprecated, we need to change it to theCloseableHttpClient. It only covers the default scenario with no customHttpParamsorConnectionManager. Of note: theDefaultHttpClientdoes not support TLS 1.2. References: - Find Sec Bugs. - IBM Support Pages.
- Migrates deprecated
- org.openrewrite.java.security.FixCwe338
- Fix CWE-338 with
SecureRandom - Use a cryptographically strong pseudo-random number generator (PRNG).
- Fix CWE-338 with
- org.openrewrite.java.security.ImproperPrivilegeManagement
- Improper privilege management
- Marking code as privileged enables a piece of trusted code to temporarily enable access to more resources than are available directly to the code that called it.
- org.openrewrite.java.security.PartialPathTraversalVulnerability
- Partial path traversal vulnerability
- Replaces
dir.getCanonicalPath().startsWith(parent.getCanonicalPath(), which is vulnerable to partial path traversal attacks, with the more securedir.getCanonicalFile().toPath().startsWith(parent.getCanonicalFile().toPath()). To demonstrate this vulnerability, consider"/usr/outnot".startsWith("/usr/out"). The check is bypassed although/outnotis not under the/outdirectory. It's important to understand that the terminating slash may be removed when using variousStringrepresentations of theFileobject. For example, on Linux,println(new File("/var"))will print/var, butprintln(new File("/var", "/")will print/var/; however,println(new File("/var", "/").getCanonicalPath())will print/var.
- org.openrewrite.java.security.SecureTempFileCreation
- Use secure temporary file creation
java.io.File.createTempFile()has exploitable default file permissions. This recipe migrates to the more securejava.nio.file.Files.createTempFile().
- org.openrewrite.java.security.UseFilesCreateTempDirectory
- Use
Files#createTempDirectory - Use
Files#createTempDirectorywhen the sequenceFile#createTempFile(..)->File#delete()->File#mkdir()is used for creating a temp directory.
- Use
- org.openrewrite.java.security.XmlParserXXEVulnerability
- XML parser XXE vulnerability
- Avoid exposing dangerous features of the XML parser by updating certain factory settings.
- org.openrewrite.java.security.ZipSlip
- Zip slip
- Zip slip is an arbitrary file overwrite critical vulnerability, which typically results in remote command execution. A fuller description of this vulnerability is available in the Snyk documentation on it.
- org.openrewrite.java.security.marshalling.InsecureJmsDeserialization
- Insecure JMS deserialization
- JMS
Objectmessages depend on Java Serialization for marshalling/unmarshalling of the message payload whenObjectMessage#getObjectis called. Deserialization of untrusted data can lead to security flaws.
- org.openrewrite.java.security.marshalling.SecureJacksonDefaultTyping
- Secure the use of Jackson default typing
- See the blog post on this subject.
- org.openrewrite.java.security.marshalling.SecureSnakeYamlConstructor
- Secure the use of SnakeYAML's constructor
- See the paper on this subject.
- org.openrewrite.java.security.servlet.CookieSetSecure
- Insecure cookies
- Check for use of insecure cookies. Cookies should be marked as secure. This ensures that the cookie is sent only over HTTPS to prevent cross-site scripting attacks.
- org.openrewrite.java.security.spring.CsrfProtection
- Enable CSRF attack prevention
- 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.
- org.openrewrite.java.security.spring.PreventClickjacking
- Prevent clickjacking
- The
frame-ancestorsdirective 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.
- org.openrewrite.maven.security.UseHttpsForRepositories
- Use HTTPS for repositories
- Use HTTPS for repository URLs.
- org.openrewrite.staticanalysis.OnlyCatchDeclaredExceptions
- Replace
catch(Exception)with specific declared exceptions thrown in the try block - Replaces
catch(Exception e)blocks with a multi-catch block (catch (SpecificException1 | SpecificException2 e)) containing only the exceptions declared thrown by method or constructor invocations within thetryblock that are not already caught by more specificcatchclauses.
- Replace
CycloneDX
1 recipe
- org.openrewrite.java.dependencies.SoftwareBillOfMaterials
- Software bill of materials
- Produces a software bill of materials (SBOM) for a project. An SBOM is a complete list of all dependencies used in a project, including transitive dependencies. The produced SBOM is in the CycloneDX XML format. Supports Gradle and Maven. Places a file named sbom.xml adjacent to the Gradle or Maven build file.
data
5 recipes
- org.openrewrite.quarkus.spring.SpringBootDataJpaToQuarkus
- Replace Spring Boot Data JPA with Quarkus Hibernate ORM Panache
- Migrates
spring-boot-starter-data-jpatoquarkus-hibernate-orm-panache.
- org.openrewrite.quarkus.spring.SpringBootDataMongoToQuarkus
- Replace Spring Boot Data MongoDB with Quarkus MongoDB Panache
- Migrates
spring-boot-starter-data-mongodbtoquarkus-mongodb-panache.
- org.openrewrite.quarkus.spring.SpringBootDataRedisToQuarkus
- Replace Spring Boot Data Redis with Quarkus Redis Client
- Migrates
spring-boot-starter-data-redistoquarkus-redis-client.
- org.openrewrite.quarkus.spring.SpringBootDataRestToQuarkus
- Replace Spring Boot Data REST with Quarkus REST
- Migrates
spring-boot-starter-data-resttoquarkus-rest-jackson.
- org.openrewrite.quarkus.spring.SpringBootElasticsearchToQuarkus
- Replace Spring Boot Elasticsearch with Quarkus Elasticsearch REST Client
- Migrates
spring-boot-starter-data-elasticsearchtoquarkus-elasticsearch-rest-client.
database
5 recipes
- org.openrewrite.quarkus.spring.DerbyDriverToQuarkus
- Replace Derby driver with Quarkus JDBC Derby
- Migrates
org.apache.derby:derbyorderbyclienttoio.quarkus:quarkus-jdbc-derby(excludes test scope).
- org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus
- Replace Derby test driver with Quarkus JDBC Derby (test scope)
- Migrates
org.apache.derby:derbywith test scope toio.quarkus:quarkus-jdbc-derbywith test scope.
- org.openrewrite.quarkus.spring.H2DriverToQuarkus
- Replace H2 driver with Quarkus JDBC H2
- Migrates
com.h2database:h2toio.quarkus:quarkus-jdbc-h2(excludes test scope).
- org.openrewrite.quarkus.spring.H2TestDriverToQuarkus
- Replace H2 test driver with Quarkus JDBC H2 (test scope)
- Migrates
com.h2database:h2with test scope toio.quarkus:quarkus-jdbc-h2with test scope.
- org.openrewrite.quarkus.spring.MigrateDatabaseDrivers
- Migrate database drivers to Quarkus JDBC extensions
- Replaces Spring Boot database driver dependencies with their Quarkus JDBC extension equivalents.
datadog
1 recipe
- org.openrewrite.java.spring.opentelemetry.MigrateDatadogToOpenTelemetry
- Migrate Datadog tracing to OpenTelemetry
- Migrate from Datadog Java tracing annotations to OpenTelemetry annotations. Replace Datadog @Trace annotations with @WithSpan annotations.
datasource
1 recipe
- org.openrewrite.quarkus.spring.SpringBootJdbcToQuarkus
- Replace Spring Boot JDBC with Quarkus Agroal
- Migrates
spring-boot-starter-jdbctoquarkus-agroal.
dbrider
1 recipe
- org.openrewrite.java.testing.dbrider.MigrateDbRiderSpringToDbRiderJUnit5
- Migrate rider-spring (JUnit4) to rider-junit5 (JUnit5)
- This recipe will migrate the necessary dependencies and annotations from DbRider with JUnit4 to JUnit5 in a Spring application.
default
1 recipe
- com.oracle.weblogic.rewrite.spring.framework.DefaultServletHandler
- Update Default Servlet Handler for Spring Framework if empty
- This recipe will update Spring Framework default servlet handler if empty, as noted in the Spring Framework 6.2 documentation.
demo
2 recipes
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesDaily
- Check for github-actions updates daily
- Set dependabot to check for github-actions updates daily.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesWeekly
- Check for github-actions updates weekly
- Set dependabot to check for github-actions updates weekly.
dependabot
4 recipes
- org.openrewrite.github.AddDependabotCooldown
- Add cooldown periods to Dependabot configuration
- Adds a
cooldownsection to each update configuration in Dependabot files. Supportsdefault-days,semver-major-days,semver-minor-days,semver-patch-days,include, andexcludeoptions. This implements a security best practice where dependencies are not immediately adopted upon release, allowing time for security vendors to identify potential supply chain compromises. Cooldown applies only to version updates, not security updates. Read more about dependency cooldowns. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.ChangeDependabotScheduleInterval
- Change dependabot schedule interval
- Change the schedule interval for a given package-ecosystem in a
dependabot.ymlconfiguration file. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesDaily
- Check for github-actions updates daily
- Set dependabot to check for github-actions updates daily.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesWeekly
- Check for github-actions updates weekly
- Set dependabot to check for github-actions updates weekly.
dependencies
7 recipes
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPlatform9_1
- Update Jakarta EE Platform Dependencies to 9.1.0
- Update Jakarta EE Platform Dependencies to 9.1.0
- com.oracle.weblogic.rewrite.jakarta.UpgradeMavenPluginConfigurationArtifacts
- Change artifacts for a Maven plugin configuration
- Change artifacts for a Maven plugin configuration artifacts.
- org.openrewrite.github.AddDependabotCooldown
- Add cooldown periods to Dependabot configuration
- Adds a
cooldownsection to each update configuration in Dependabot files. Supportsdefault-days,semver-major-days,semver-minor-days,semver-patch-days,include, andexcludeoptions. This implements a security best practice where dependencies are not immediately adopted upon release, allowing time for security vendors to identify potential supply chain compromises. Cooldown applies only to version updates, not security updates. Read more about dependency cooldowns. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.ChangeDependabotScheduleInterval
- Change dependabot schedule interval
- Change the schedule interval for a given package-ecosystem in a
dependabot.ymlconfiguration file. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesDaily
- Check for github-actions updates daily
- Set dependabot to check for github-actions updates daily.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesWeekly
- Check for github-actions updates weekly
- Set dependabot to check for github-actions updates weekly.
- org.openrewrite.quarkus.spring.MigrateBootStarters
- Replace Spring Boot starter dependencies with Quarkus equivalents
- Migrates Spring Boot starter dependencies to their Quarkus equivalents, removing version tags as Quarkus manages versions through its BOM.
deployment
2 recipes
- com.oracle.weblogic.rewrite.WebLogicPlanXmlNamespace1412
- Migrate xmlns entries in
plan.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Plan schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPlanXmlNamespace1511
- Migrate xmlns entries in
plan.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inplan.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
deprecated
17 recipes
- org.openrewrite.java.migrate.Java8toJava11
- Migrate to Java 11
- This recipe will apply changes commonly needed when upgrading to Java 11. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 11 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 11.
- org.openrewrite.java.migrate.jakarta.UpdateJakartaAnnotations2
- Update Jakarta EE annotation Dependencies to 2.1.x
- Update Jakarta EE annotation Dependencies to 2.1.x.
- org.openrewrite.java.migrate.javaee6
- Migrate to JavaEE6
- These recipes help with the Migration to Java EE 6, flagging and updating deprecated methods.
- org.openrewrite.java.migrate.javaee7
- Migrate to JavaEE7
- These recipes help with the Migration to Java EE 7, flagging and updating deprecated methods.
- org.openrewrite.java.migrate.javaee8
- Migrate to JavaEE8
- These recipes help with the Migration to Java EE 8, flagging and updating deprecated methods.
- org.openrewrite.java.migrate.javax.openJPAToEclipseLink
- Migrate from OpenJPA to EclipseLink JPA
- These recipes help migrate Java Persistence applications using OpenJPA to EclipseLink JPA.
- org.openrewrite.java.migrate.lang.MigrateClassLoaderDefineClass
- Use
ClassLoader#defineClass(String, byte[], int, int) - Use
ClassLoader#defineClass(String, byte[], int, int)instead of the deprecatedClassLoader#defineClass(byte[], int, int)in Java 1.1 or higher.
- Use
- org.openrewrite.java.migrate.lang.MigrateClassNewInstanceToGetDeclaredConstructorNewInstance
- Use
Class#getDeclaredConstructor().newInstance() - Use
Class#getDeclaredConstructor().newInstance()instead of the deprecatedClass#newInstance()in Java 9 or higher.
- Use
- org.openrewrite.java.migrate.lang.MigrateSecurityManagerMulticast
- Use
SecurityManager#checkMulticast(InetAddress) - Use
SecurityManager#checkMulticast(InetAddress)instead of the deprecatedSecurityManager#checkMulticast(InetAddress, byte)in Java 1.4 or higher.
- Use
- org.openrewrite.java.migrate.logging.MigrateGetLoggingMXBeanToGetPlatformMXBean
- Use
ManagementFactory#getPlatformMXBean(PlatformLoggingMXBean.class) - Use
ManagementFactory#getPlatformMXBean(PlatformLoggingMXBean.class)instead of the deprecatedLogManager#getLoggingMXBean()in Java 9 or higher.
- Use
- org.openrewrite.java.migrate.logging.MigrateLogRecordSetMillisToSetInstant
- Use
LogRecord#setInstant(Instant) - Use
LogRecord#setInstant(Instant)instead of the deprecatedLogRecord#setMillis(long)in Java 9 or higher.
- Use
- org.openrewrite.java.migrate.logging.MigrateLoggerLogrbToUseResourceBundle
- Use
Logger#logrb(.., ResourceBundle bundleName, ..) - Use
Logger#logrb(.., ResourceBundle bundleName, ..)instead of the deprecatedjava.util.logging.Logger#logrb(.., String bundleName, ..)in Java 8 or higher.
- Use
- org.openrewrite.java.migrate.net.MigrateHttpURLConnectionHttpServerErrorToHttpInternalError
- Use
java.net.HttpURLConnection.HTTP_INTERNAL_ERROR - Use
java.net.HttpURLConnection.HTTP_INTERNAL_ERRORinstead of the deprecatedjava.net.HttpURLConnection.HTTP_SERVER_ERROR.
- Use
- org.openrewrite.java.migrate.net.MigrateMulticastSocketSetTTLToSetTimeToLive
- Use
java.net.MulticastSocket#setTimeToLive(int) - Use
java.net.MulticastSocket#setTimeToLive(int)instead of the deprecatedjava.net.MulticastSocket#setTTL(byte)in Java 1.2 or higher.
- Use
- org.openrewrite.java.migrate.net.MigrateURLDecoderDecode
- Use
java.net.URLDecoder#decode(String, StandardCharsets.UTF_8) - Use
java.net.URLDecoder#decode(String, StandardCharsets.UTF_8)instead of the deprecatedjava.net.URLDecoder#decode(String)in Java 10 or higher.
- Use
- org.openrewrite.java.migrate.net.MigrateURLEncoderEncode
- Use
java.net.URLEncoder#encode(String, StandardCharsets.UTF_8) - Use
java.net.URLEncoder#encode(String, StandardCharsets.UTF_8)instead of the deprecatedjava.net.URLEncoder#encode(String)in Java 10 or higher.
- Use
- org.openrewrite.java.migrate.sql.MigrateDriverManagerSetLogStream
- Use
DriverManager#setLogWriter(java.io.PrintWriter) - Use
DriverManager#setLogWriter(java.io.PrintWriter)instead of the deprecatedDriverManager#setLogStream(java.io.PrintStream)in Java 1.2 or higher.
- Use
deprecation
5 recipes
- org.openrewrite.github.SetupNodeUpgradeNodeVersion
- Upgrade
actions/setup-nodenode-version - Update the Node.js version used by
actions/setup-nodeif it is below the expected version number.
- Upgrade
- org.openrewrite.java.migrate.AccessController
- Remove Security AccessController
- The Security Manager API is unsupported in Java 24. This recipe will remove the usage of
java.security.AccessController.
- org.openrewrite.java.migrate.RemoveSecurityManager
- Remove Security SecurityManager
- The Security Manager API is unsupported in Java 24. This recipe will remove the usage of
java.security.SecurityManager.
- org.openrewrite.java.migrate.RemoveSecurityPolicy
- Remove Security Policy
- The Security Manager API is unsupported in Java 24. This recipe will remove the use of
java.security.Policy.
- org.openrewrite.java.migrate.SystemGetSecurityManagerToNull
- Replace
System.getSecurityManager()withnull - The Security Manager API is unsupported in Java 24. This recipe will replace
System.getSecurityManager()withnullto make its behavior more obvious and try to simplify execution paths afterwards.
- Replace
derby
2 recipes
- org.openrewrite.quarkus.spring.DerbyDriverToQuarkus
- Replace Derby driver with Quarkus JDBC Derby
- Migrates
org.apache.derby:derbyorderbyclienttoio.quarkus:quarkus-jdbc-derby(excludes test scope).
- org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus
- Replace Derby test driver with Quarkus JDBC Derby (test scope)
- Migrates
org.apache.derby:derbywith test scope toio.quarkus:quarkus-jdbc-derbywith test scope.
descriptors
2 recipes
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1412
- Migrate WebLogic Schemas to 14.1.2
- This recipe will migrate WebLogic schemas to 14.1.2
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1511
- Migrate WebLogic Schemas to 15.1.1
- This recipe will migrate WebLogic schemas to 15.1.1
dropwizard
1 recipe
- org.openrewrite.java.spring.boot3.MigrateDropWizardDependencies
- Migrate dropWizard dependencies to Spring Boot 3.x
- Migrate dropWizard dependencies to the new artifactId, since these are changed with Spring Boot 3.
easymock
1 recipe
- org.openrewrite.java.testing.easymock.EasyMockToMockito
- Migrate from EasyMock to Mockito
- This recipe will apply changes commonly needed when migrating from EasyMock to Mockito.
ejb
7 recipes
- com.oracle.weblogic.rewrite.WebLogicEjbJar32XmlNamespace1412
- Migrate xmlns entries in
weblogic-ejb-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicEjbJar32XmlNamespace1511
- Migrate xmlns entries in
weblogic-ejb-jar.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ejb-jar.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1412
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 Persistence Configuration schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1412
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 RDBMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxEjbJarXmlToJakarta9EjbJarXml
- Migrate xmlns entries in
ejb-jar.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxBeanValidationXmlToJakartaBeanValidationXml
- Migrate xmlns entries and javax. packages in
validation.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries and javax. packages in
- org.openrewrite.java.migrate.jakarta.JavaxEjbJarXmlToJakartaEjbJarXml
- Migrate xmlns entries and javax. packages in
ejb-jar.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries and javax. packages in
elasticsearch
11 recipes
- io.moderne.elastic.elastic9.ChangeApiNumericFieldTypes
- Change numeric field types for Elasticsearch 9
- Handles changes between different numeric types (
LongtoInteger,inttoLong...) in Elasticsearch 9 API responses by adding appropriate conversion methods with null checks.
- io.moderne.elastic.elastic9.MigrateDenseVectorElementType
- Migrate DenseVectorProperty.elementType from String to DenseVectorElementType enum
- In Elasticsearch 9,
DenseVectorProperty.elementType()returnsDenseVectorElementTypeenum instead ofString, and the builder methodelementType(String)now accepts the enum type. This recipe handles both builder calls and getter calls.
- io.moderne.elastic.elastic9.MigrateDenseVectorSimilarity
- Migrate DenseVectorProperty.similarity from String to DenseVectorSimilarity enum
- In Elasticsearch 9,
DenseVectorProperty.similarity()returnsDenseVectorSimilarityenum instead ofString, and the builder methodsimilarity(String)now accepts the enum type. This recipe handles both builder calls and getter calls.
- io.moderne.elastic.elastic9.MigrateMatchedQueries
- Migrate
matchedQueriesfrom List to Map - In Elasticsearch Java Client 9.0,
Hit.matchedQueries()changed from returningList<String>toMap<String, Double>. This recipe migrates the usage by adding.keySet()for iterations and usingnew ArrayList<>(result.keySet())for assignments.
- Migrate
- io.moderne.elastic.elastic9.MigrateScriptSource
- Migrate script source from String to Script/ScriptSource
- Migrates
Script.source(String)calls to useScriptSource.scriptString(String)wrapper in Elasticsearch Java client 9.x.
- io.moderne.elastic.elastic9.MigrateSpanTermQueryValue
- Migrate
SpanTermQuery.value()from String to FieldValue - In Elasticsearch 9,
SpanTermQuery.value()returns aFieldValueinstead ofString. This recipe updates calls to handle the new return type by checking if it's a string and extracting the string value.
- Migrate
- io.moderne.elastic.elastic9.MigrateToElasticsearch9
- Migrate from Elasticsearch 8 to 9
- This recipe performs a comprehensive migration from Elasticsearch 8 to Elasticsearch 9, addressing breaking changes, API removals, deprecations, and required code modifications.
- io.moderne.elastic.elastic9.RenameApiField
- Rename
Elasticsearch valueBody()methods - In Elasticsearch Java Client 9.0, the generic
valueBody()method andvalueBody(...)builder methods have been replaced with specific getter and setter methods that better reflect the type of data being returned. Similarly, forGetRepositoryResponse, theresultfield also got altered torepositories.
- Rename
- io.moderne.elastic.elastic9.RenameApiFields
- Rename API fields for Elasticsearch 9
- Renames various API response fields from
valueBodyto align with Elasticsearch 9 specifications.
- io.moderne.elastic.elastic9.UseNamedValueParameters
- Use NamedValue parameters instead of Map
- Migrates
indicesBoostanddynamicTemplatesparameters fromMaptoNamedValuein Elasticsearch Java client 9.x.
- org.openrewrite.quarkus.spring.SpringBootElasticsearchToQuarkus
- Replace Spring Boot Elasticsearch with Quarkus Elasticsearch REST Client
- Migrates
spring-boot-starter-data-elasticsearchtoquarkus-elasticsearch-rest-client.
epoll
1 recipe
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes$EpollEventLoopGroupFactoryRecipe
- Replace
EpollEventLoopGroupwithMultiThreadIoEventLoopGroup - Replace
new EpollEventLoopGroup()withnew MultiThreadIoEventLoopGroup(EpollIoHandler.newFactory()).
- Replace
eslint
190 recipes
- org.openrewrite.codemods.cleanup.jest.ConsistentTestIt
- Enforce test and it usage conventions
- Enforce test and it usage conventions See rule details for jest/consistent-test-it.
- org.openrewrite.codemods.cleanup.jest.NoAliasMethods
- Disallow alias methods
- Disallow alias methods See rule details for jest/no-alias-methods.
- org.openrewrite.codemods.cleanup.jest.NoDeprecatedFunctions27
- Disallow use of deprecated functions from before version 27
- Disallow use of deprecated functions from before version 27 See rule details for jest/no-deprecated-functions.
- org.openrewrite.codemods.cleanup.jest.NoJasmineGlobals
- Disallow Jasmine globals
- Disallow Jasmine globals See rule details for jest/no-jasmine-globals.
- org.openrewrite.codemods.cleanup.jest.NoTestPrefixes
- Require using .only and .skip over f and x
- Require using .only and .skip over f and x See rule details for jest/no-test-prefixes.
- org.openrewrite.codemods.cleanup.jest.NoUntypedMockFactory
- Disallow using jest.mock() factories without an explicit type parameter
- Disallow using jest.mock() factories without an explicit type parameter See rule details for jest/no-untyped-mock-factory.
- org.openrewrite.codemods.cleanup.jest.PreferComparisonMatcher
- Suggest using the built-in comparison matchers
- Suggest using the built-in comparison matchers See rule details for jest/prefer-comparison-matcher.
- org.openrewrite.codemods.cleanup.jest.PreferExpectResolves
- Prefer await expect(...).resolves over expect(await ...) syntax
- Prefer await expect(...).resolves over expect(await ...) syntax See rule details for jest/prefer-expect-resolves.
- org.openrewrite.codemods.cleanup.jest.PreferLowercaseTitle
- Enforce lowercase test names
- Enforce lowercase test names See rule details for jest/prefer-lowercase-title.
- org.openrewrite.codemods.cleanup.jest.PreferMockPromiseShorthand
- Prefer mock resolved/rejected shorthands for promises
- Prefer mock resolved/rejected shorthands for promises See rule details for jest/prefer-mock-promise-shorthand.
- org.openrewrite.codemods.cleanup.jest.PreferSpyOn
- Suggest using jest.spyOn()
- Suggest using jest.spyOn() See rule details for jest/prefer-spy-on.
- org.openrewrite.codemods.cleanup.jest.PreferToBe
- Suggest using toBe() for primitive literals
- Suggest using toBe() for primitive literals See rule details for jest/prefer-to-be.
- org.openrewrite.codemods.cleanup.jest.PreferToContain
- Suggest using toContain()
- Suggest using toContain() See rule details for jest/prefer-to-contain.
- org.openrewrite.codemods.cleanup.jest.PreferToHaveLength
- Suggest using toHaveLength()
- Suggest using toHaveLength() See rule details for jest/prefer-to-have-length.
- org.openrewrite.codemods.cleanup.jest.PreferTodo
- Suggest using test.todo
- Suggest using test.todo See rule details for jest/prefer-todo.
- org.openrewrite.codemods.cleanup.jest.RecommendedJestCodeCleanup
- Recommended Jest code cleanup
- Collection of cleanup ESLint rules that are recommended by eslint-plugin-jest.
- org.openrewrite.codemods.cleanup.jest.ValidTitle
- Enforce valid titles
- Enforce valid titles See rule details for jest/valid-title.
- org.openrewrite.codemods.cleanup.storybook.AwaitInteractions
- Interactions should be awaited
- Interactions should be awaited See rule details for storybook/await-interactions.
- org.openrewrite.codemods.cleanup.storybook.DefaultExports
- Story files should have a default export
- Story files should have a default export See rule details for storybook/default-exports.
- org.openrewrite.codemods.cleanup.storybook.HierarchySeparator
- Deprecated hierarchy separator in title property
- Deprecated hierarchy separator in title property See rule details for storybook/hierarchy-separator.
- org.openrewrite.codemods.cleanup.storybook.NoRedundantStoryName
- A story should not have a redundant name property
- A story should not have a redundant name property See rule details for storybook/no-redundant-story-name.
- org.openrewrite.codemods.cleanup.storybook.NoTitlePropertyInMeta
- Do not define a title in meta
- Do not define a title in meta See rule details for storybook/no-title-property-in-meta.
- org.openrewrite.codemods.cleanup.storybook.PreferPascalCase
- Stories should use PascalCase
- Stories should use PascalCase See rule details for storybook/prefer-pascal-case.
- org.openrewrite.codemods.cleanup.storybook.RecommendedStorybookCodeCleanup
- Recommended Storybook code cleanup
- Collection of cleanup ESLint rules from eslint-plugin-storybook.
- org.openrewrite.codemods.cleanup.storybook.UseStorybookExpect
- Use expect from @storybook/jest
- Use expect from @storybook/jest See rule details for storybook/use-storybook-expect.
- org.openrewrite.codemods.cleanup.storybook.UseStorybookTestingLibrary
- Do not use testing-library directly on stories
- Do not use testing-library directly on stories See rule details for storybook/use-storybook-testing-library.
- org.openrewrite.codemods.cleanup.svelte.FirstAttributeLinebreak
- Enforce the location of first attribute
- Enforce the location of first attribute See rule details for svelte/first-attribute-linebreak.
- org.openrewrite.codemods.cleanup.svelte.HtmlClosingBracketSpacing
- Require or disallow a space before tag's closing brackets
- Require or disallow a space before tag's closing brackets See rule details for svelte/html-closing-bracket-spacing.
- org.openrewrite.codemods.cleanup.svelte.HtmlQuotes
- Enforce quotes style of HTML attributes
- Enforce quotes style of HTML attributes See rule details for svelte/html-quotes.
- org.openrewrite.codemods.cleanup.svelte.HtmlSelfClosing
- Enforce self-closing style
- Enforce self-closing style See rule details for svelte/html-self-closing.
- org.openrewrite.codemods.cleanup.svelte.Indent
- Enforce consistent indentation
- Enforce consistent indentation See rule details for svelte/indent.
- org.openrewrite.codemods.cleanup.svelte.MaxAttributesPerLine
- Enforce the maximum number of attributes per line
- Enforce the maximum number of attributes per line See rule details for svelte/max-attributes-per-line.
- org.openrewrite.codemods.cleanup.svelte.MustacheSpacing
- Enforce unified spacing in mustache
- Enforce unified spacing in mustache See rule details for svelte/mustache-spacing.
- org.openrewrite.codemods.cleanup.svelte.NoDynamicSlotName
- Disallow dynamic slot name
- Disallow dynamic slot name See rule details for svelte/no-dynamic-slot-name.
- org.openrewrite.codemods.cleanup.svelte.NoSpacesAroundEqualSignsInAttribute
- Disallow spaces around equal signs in attribute
- Disallow spaces around equal signs in attribute See rule details for svelte/no-spaces-around-equal-signs-in-attribute.
- org.openrewrite.codemods.cleanup.svelte.NoUselessMustaches
- Disallow unnecessary mustache interpolations
- Disallow unnecessary mustache interpolations See rule details for svelte/no-useless-mustaches.
- org.openrewrite.codemods.cleanup.svelte.PreferClassDirective
- Require class directives instead of ternary expressions
- Require class directives instead of ternary expressions See rule details for svelte/prefer-class-directive.
- org.openrewrite.codemods.cleanup.svelte.PreferStyleDirective
- Require style directives instead of style attribute
- Require style directives instead of style attribute See rule details for svelte/prefer-style-directive.
- org.openrewrite.codemods.cleanup.svelte.RecommendedsvelteCodeCleanup
- Recommended svelte code cleanup
- Collection of cleanup ESLint rules from eslint-plugin-svelte.
- org.openrewrite.codemods.cleanup.svelte.RequireStoreReactiveAccess
- Disallow to use of the store itself as an operand. Need to use $ prefix or get function
- Disallow to use of the store itself as an operand. Need to use $ prefix or get function. See rule details for svelte/require-store-reactive-access.
- org.openrewrite.codemods.cleanup.svelte.ShorthandAttribute
- Enforce use of shorthand syntax in attribute
- Enforce use of shorthand syntax in attribute See rule details for svelte/shorthand-attribute.
- org.openrewrite.codemods.cleanup.svelte.ShorthandDirective
- Enforce use of shorthand syntax in directives
- Enforce use of shorthand syntax in directives See rule details for svelte/shorthand-directive.
- org.openrewrite.codemods.cleanup.svelte.SortAttributes
- Enforce order of attributes
- Enforce order of attributes See rule details for svelte/sort-attributes.
- org.openrewrite.codemods.cleanup.svelte.SpacedHtmlComment
- Enforce consistent spacing after the <!-- and before the --> in a HTML comment
- Enforce consistent spacing after the <!-- and before the --> in a HTML comment See rule details for svelte/spaced-html-comment.
- org.openrewrite.codemods.cleanup.vue.ArrayBracketNewline
- Enforce linebreaks after opening and before closing array brackets in
<template> - Enforce linebreaks after opening and before closing array brackets in
<template>See rule details for vue/array-bracket-newline.
- Enforce linebreaks after opening and before closing array brackets in
- org.openrewrite.codemods.cleanup.vue.ArrayBracketSpacing
- Enforce consistent spacing inside array brackets in
<template> - Enforce consistent spacing inside array brackets in
<template>See rule details for vue/array-bracket-spacing.
- Enforce consistent spacing inside array brackets in
- org.openrewrite.codemods.cleanup.vue.ArrayElementNewline
- Enforce line breaks after each array element in
<template> - Enforce line breaks after each array element in
<template>See rule details for vue/array-element-newline.
- Enforce line breaks after each array element in
- org.openrewrite.codemods.cleanup.vue.ArrowSpacing
- Enforce consistent spacing before and after the arrow in arrow functions in
<template> - Enforce consistent spacing before and after the arrow in arrow functions in
<template>See rule details for vue/arrow-spacing.
- Enforce consistent spacing before and after the arrow in arrow functions in
- org.openrewrite.codemods.cleanup.vue.AttributesOrder
- Enforce order of attributes
- Enforce order of attributes See rule details for vue/attributes-order.
- org.openrewrite.codemods.cleanup.vue.BlockOrder
- Enforce order of component top-level elements
- Enforce order of component top-level elements See rule details for vue/block-order.
- org.openrewrite.codemods.cleanup.vue.BlockSpacing
- Disallow or enforce spaces inside of blocks after opening block and before closing block in
<template> - Disallow or enforce spaces inside of blocks after opening block and before closing block in
<template>See rule details for vue/block-spacing.
- Disallow or enforce spaces inside of blocks after opening block and before closing block in
- org.openrewrite.codemods.cleanup.vue.BlockTagNewline
- Enforce line breaks after opening and before closing block-level tags
- Enforce line breaks after opening and before closing block-level tags See rule details for vue/block-tag-newline.
- org.openrewrite.codemods.cleanup.vue.BraceStyle
- Enforce consistent brace style for blocks in
<template> - Enforce consistent brace style for blocks in
<template>See rule details for vue/brace-style.
- Enforce consistent brace style for blocks in
- org.openrewrite.codemods.cleanup.vue.CommaDangle
- Require or disallow trailing commas in
<template> - Require or disallow trailing commas in
<template>See rule details for vue/comma-dangle.
- Require or disallow trailing commas in
- org.openrewrite.codemods.cleanup.vue.CommaSpacing
- Enforce consistent spacing before and after commas in
<template> - Enforce consistent spacing before and after commas in
<template>See rule details for vue/comma-spacing.
- Enforce consistent spacing before and after commas in
- org.openrewrite.codemods.cleanup.vue.CommaStyle
- Enforce consistent comma style in
<template> - Enforce consistent comma style in
<template>See rule details for vue/comma-style.
- Enforce consistent comma style in
- org.openrewrite.codemods.cleanup.vue.ComponentNameInTemplateCasing
- Enforce specific casing for the component naming style in template
- Enforce specific casing for the component naming style in template See rule details for vue/component-name-in-template-casing.
- org.openrewrite.codemods.cleanup.vue.ComponentOptionsNameCasing
- Enforce the casing of component name in components options
- Enforce the casing of component name in components options See rule details for vue/component-options-name-casing.
- org.openrewrite.codemods.cleanup.vue.ComponentTagsOrder
- Enforce order of component top-level elements
- Enforce order of component top-level elements See rule details for vue/component-tags-order.
- org.openrewrite.codemods.cleanup.vue.DefineMacrosOrder
- Enforce order of defineEmits and defineProps compiler macros
- Enforce order of defineEmits and defineProps compiler macros See rule details for vue/define-macros-order.
- org.openrewrite.codemods.cleanup.vue.DotLocation
- Enforce consistent newlines before and after dots in
<template> - Enforce consistent newlines before and after dots in
<template>See rule details for vue/dot-location.
- Enforce consistent newlines before and after dots in
- org.openrewrite.codemods.cleanup.vue.DotNotation
- Enforce dot notation whenever possible in
<template> - Enforce dot notation whenever possible in
<template>See rule details for vue/dot-notation.
- Enforce dot notation whenever possible in
- org.openrewrite.codemods.cleanup.vue.Eqeqeq
- Require the use of === and !== in
<template> - Require the use of === and !== in
<template>See rule details for vue/eqeqeq.
- Require the use of === and !== in
- org.openrewrite.codemods.cleanup.vue.FuncCallSpacing
- Require or disallow spacing between function identifiers and their invocations in
<template> - Require or disallow spacing between function identifiers and their invocations in
<template>See rule details for vue/func-call-spacing.
- Require or disallow spacing between function identifiers and their invocations in
- org.openrewrite.codemods.cleanup.vue.HtmlCommentContentNewline
- Enforce unified line brake in HTML comments
- Enforce unified line brake in HTML comments See rule details for vue/html-comment-content-newline.
- org.openrewrite.codemods.cleanup.vue.HtmlCommentContentSpacing
- Enforce unified spacing in HTML comments
- Enforce unified spacing in HTML comments See rule details for vue/html-comment-content-spacing.
- org.openrewrite.codemods.cleanup.vue.HtmlCommentIndent
- Enforce consistent indentation in HTML comments
- Enforce consistent indentation in HTML comments See rule details for vue/html-comment-indent.
- org.openrewrite.codemods.cleanup.vue.KeySpacing
- Enforce consistent spacing between keys and values in object literal properties in
<template> - Enforce consistent spacing between keys and values in object literal properties in
<template>See rule details for vue/key-spacing.
- Enforce consistent spacing between keys and values in object literal properties in
- org.openrewrite.codemods.cleanup.vue.KeywordSpacing
- Enforce consistent spacing before and after keywords in
<template> - Enforce consistent spacing before and after keywords in
<template>See rule details for vue/keyword-spacing.
- Enforce consistent spacing before and after keywords in
- org.openrewrite.codemods.cleanup.vue.MultilineTernary
- Enforce newlines between operands of ternary expressions in
<template> - Enforce newlines between operands of ternary expressions in
<template>See rule details for vue/multiline-ternary.
- Enforce newlines between operands of ternary expressions in
- org.openrewrite.codemods.cleanup.vue.NewLineBetweenMultiLineProperty
- Enforce new lines between multi-line properties in Vue components
- Enforce new lines between multi-line properties in Vue components See rule details for vue/new-line-between-multi-line-property.
- org.openrewrite.codemods.cleanup.vue.NextTickStyle
- Enforce Promise or callback style in nextTick
- Enforce Promise or callback style in nextTick See rule details for vue/next-tick-style.
- org.openrewrite.codemods.cleanup.vue.NoExtraParens
- Disallow unnecessary parentheses in
<template> - Disallow unnecessary parentheses in
<template>See rule details for vue/no-extra-parens.
- Disallow unnecessary parentheses in
- org.openrewrite.codemods.cleanup.vue.NoRequiredPropWithDefault
- Enforce props with default values to be optional
- Enforce props with default values to be optional See rule details for vue/no-required-prop-with-default.
- org.openrewrite.codemods.cleanup.vue.NoUnsupportedFeatures
- Disallow unsupported Vue.js syntax on the specified version
- Disallow unsupported Vue.js syntax on the specified version See rule details for vue/no-unsupported-features.
- org.openrewrite.codemods.cleanup.vue.NoUselessMustaches
- Disallow unnecessary mustache interpolations
- Disallow unnecessary mustache interpolations See rule details for vue/no-useless-mustaches.
- org.openrewrite.codemods.cleanup.vue.NoUselessVBind
- Disallow unnecessary v-bind directives
- Disallow unnecessary v-bind directives See rule details for vue/no-useless-v-bind.
- org.openrewrite.codemods.cleanup.vue.ObjectCurlyNewline
- Enforce consistent line breaks after opening and before closing braces in
<template> - Enforce consistent line breaks after opening and before closing braces in
<template>See rule details for vue/object-curly-newline.
- Enforce consistent line breaks after opening and before closing braces in
- org.openrewrite.codemods.cleanup.vue.ObjectCurlySpacing
- Enforce consistent spacing inside braces in
<template> - Enforce consistent spacing inside braces in
<template>See rule details for vue/object-curly-spacing.
- Enforce consistent spacing inside braces in
- org.openrewrite.codemods.cleanup.vue.ObjectPropertyNewline
- Enforce placing object properties on separate lines in
<template> - Enforce placing object properties on separate lines in
<template>See rule details for vue/object-property-newline.
- Enforce placing object properties on separate lines in
- org.openrewrite.codemods.cleanup.vue.ObjectShorthand
- Require or disallow method and property shorthand syntax for object literals in
<template> - Require or disallow method and property shorthand syntax for object literals in
<template>See rule details for vue/object-shorthand.
- Require or disallow method and property shorthand syntax for object literals in
- org.openrewrite.codemods.cleanup.vue.OperatorLinebreak
- Enforce consistent linebreak style for operators in
<template> - Enforce consistent linebreak style for operators in
<template>See rule details for vue/operator-linebreak.
- Enforce consistent linebreak style for operators in
- org.openrewrite.codemods.cleanup.vue.OrderInComponents
- Enforce order of properties in components
- Enforce order of properties in components See rule details for vue/order-in-components.
- org.openrewrite.codemods.cleanup.vue.PaddingLineBetweenBlocks
- Require or disallow padding lines between blocks
- Require or disallow padding lines between blocks See rule details for vue/padding-line-between-blocks.
- org.openrewrite.codemods.cleanup.vue.PaddingLineBetweenTags
- Require or disallow newlines between sibling tags in template
- Require or disallow newlines between sibling tags in template See rule details for vue/padding-line-between-tags.
- org.openrewrite.codemods.cleanup.vue.PaddingLinesInComponentDefinition
- Require or disallow padding lines in component definition
- Require or disallow padding lines in component definition See rule details for vue/padding-lines-in-component-definition.
- org.openrewrite.codemods.cleanup.vue.PreferDefineOptions
- Enforce use of defineOptions instead of default export
- Enforce use of defineOptions instead of default export. See rule details for vue/prefer-define-options.
- org.openrewrite.codemods.cleanup.vue.PreferSeparateStaticClass
- Require static class names in template to be in a separate class attribute
- Require static class names in template to be in a separate class attribute See rule details for vue/prefer-separate-static-class.
- org.openrewrite.codemods.cleanup.vue.PreferTemplate
- Require template literals instead of string concatenation in
<template> - Require template literals instead of string concatenation in
<template>See rule details for vue/prefer-template.
- Require template literals instead of string concatenation in
- org.openrewrite.codemods.cleanup.vue.QuoteProps
- Require quotes around object literal property names in
<template> - Require quotes around object literal property names in
<template>See rule details for vue/quote-props.
- Require quotes around object literal property names in
- org.openrewrite.codemods.cleanup.vue.RecommendedVueCodeCleanup
- Recommended vue code cleanup
- Collection of cleanup ESLint rules from eslint-plugin-vue.
- org.openrewrite.codemods.cleanup.vue.ScriptIndent
- Enforce consistent indentation in
<script> - Enforce consistent indentation in
<script>See rule details for vue/script-indent.
- Enforce consistent indentation in
- org.openrewrite.codemods.cleanup.vue.SpaceInParens
- Enforce consistent spacing inside parentheses in
<template> - Enforce consistent spacing inside parentheses in
<template>See rule details for vue/space-in-parens.
- Enforce consistent spacing inside parentheses in
- org.openrewrite.codemods.cleanup.vue.SpaceInfixOps
- Require spacing around infix operators in
<template> - Require spacing around infix operators in
<template>See rule details for vue/space-infix-ops.
- Require spacing around infix operators in
- org.openrewrite.codemods.cleanup.vue.SpaceUnaryOps
- Enforce consistent spacing before or after unary operators in
<template> - Enforce consistent spacing before or after unary operators in
<template>See rule details for vue/space-unary-ops.
- Enforce consistent spacing before or after unary operators in
- org.openrewrite.codemods.cleanup.vue.StaticClassNamesOrder
- Enforce static class names order
- Enforce static class names order See rule details for vue/static-class-names-order.
- org.openrewrite.codemods.cleanup.vue.TemplateCurlySpacing
- Require or disallow spacing around embedded expressions of template strings in
<template> - Require or disallow spacing around embedded expressions of template strings in
<template>See rule details for vue/template-curly-spacing.
- Require or disallow spacing around embedded expressions of template strings in
- org.openrewrite.codemods.cleanup.vue.ThisInTemplate
- Disallow usage of this in template
- Disallow usage of this in template See rule details for vue/this-in-template.
- org.openrewrite.codemods.cleanup.vue.VForDelimiterStyle
- Enforce v-for directive's delimiter style
- Enforce v-for directive's delimiter style See rule details for vue/v-for-delimiter-style.
- org.openrewrite.codemods.cleanup.vue.VIfElseKey
- Require key attribute for conditionally rendered repeated components
- Require key attribute for conditionally rendered repeated components See rule details for vue/v-if-else-key.
- org.openrewrite.codemods.cleanup.vue.VOnHandlerStyle
- Enforce writing style for handlers in v-on directives
- Enforce writing style for handlers in v-on directives See rule details for vue/v-on-handler-style.
- org.openrewrite.codemods.ecmascript.ESLintTypeScriptDefaults
- Lint TypeScript code using ESLint
- The default config includes the
@typescript-eslintplugin and the correspondingplugin:@typescript-eslint/recommendedextend.
- org.openrewrite.codemods.ecmascript.ESLintTypeScriptPrettier
- Format TypeScript using ESLint Prettier plugin
- Formats all TypeScript source code using the ESLint Prettier plugin.
- org.openrewrite.codemods.format.ArrayBracketNewline
- Enforce linebreaks after opening and before closing array brackets
- Enforce linebreaks after opening and before closing array brackets See rule details.
- org.openrewrite.codemods.format.ArrayBracketSpacing
- Enforce consistent spacing inside array brackets
- Enforce consistent spacing inside array brackets See rule details.
- org.openrewrite.codemods.format.ArrayElementNewline
- Enforce line breaks after each array element
- Enforce line breaks after each array element See rule details.
- org.openrewrite.codemods.format.ArrowParens
- Require parentheses around arrow function arguments
- Require parentheses around arrow function arguments See rule details.
- org.openrewrite.codemods.format.ArrowSpacing
- Enforce consistent spacing before and after the arrow in arrow functions
- Enforce consistent spacing before and after the arrow in arrow functions See rule details.
- org.openrewrite.codemods.format.BlockSpacing
- Disallow or enforce spaces inside of blocks after opening block and before closing block
- Disallow or enforce spaces inside of blocks after opening block and before closing block See rule details.
- org.openrewrite.codemods.format.BraceStyle
- Enforce consistent brace style for blocks
- Enforce consistent brace style for blocks See rule details.
- org.openrewrite.codemods.format.CommaDangle
- Require or disallow trailing commas
- Require or disallow trailing commas See rule details.
- org.openrewrite.codemods.format.CommaSpacing
- Enforce consistent spacing before and after commas
- Enforce consistent spacing before and after commas See rule details.
- org.openrewrite.codemods.format.CommaStyle
- Enforce consistent comma style
- Enforce consistent comma style See rule details.
- org.openrewrite.codemods.format.ComputedPropertySpacing
- Enforce consistent spacing inside computed property brackets
- Enforce consistent spacing inside computed property brackets See rule details.
- org.openrewrite.codemods.format.DotLocation
- Enforce consistent newlines before and after dots
- Enforce consistent newlines before and after dots See rule details.
- org.openrewrite.codemods.format.EolLast
- Require or disallow newline at the end of files
- Require or disallow newline at the end of files See rule details.
- org.openrewrite.codemods.format.FuncCallSpacing
- Require or disallow spacing between function identifiers and their invocations. Alias of `function-call-spacing`
- Require or disallow spacing between function identifiers and their invocations. Alias of `function-call-spacing`. See rule details.
- org.openrewrite.codemods.format.FunctionCallArgumentNewline
- Enforce line breaks between arguments of a function call
- Enforce line breaks between arguments of a function call See rule details.
- org.openrewrite.codemods.format.FunctionCallSpacing
- Require or disallow spacing between function identifiers and their invocations
- Require or disallow spacing between function identifiers and their invocations See rule details.
- org.openrewrite.codemods.format.FunctionParenNewline
- Enforce consistent line breaks inside function parentheses
- Enforce consistent line breaks inside function parentheses See rule details.
- org.openrewrite.codemods.format.GeneratorStarSpacing
- Enforce consistent spacing around `*` operators in generator functions
- Enforce consistent spacing around `*` operators in generator functions See rule details.
- org.openrewrite.codemods.format.ImplicitArrowLinebreak
- Enforce the location of arrow function bodies
- Enforce the location of arrow function bodies See rule details.
- org.openrewrite.codemods.format.Indent
- Enforce consistent indentation
- Enforce consistent indentation See rule details.
- org.openrewrite.codemods.format.IndentBinaryOps
- Indentation for binary operators
- Indentation for binary operators See rule details.
- org.openrewrite.codemods.format.JsxClosingBracketLocation
- Enforce closing bracket location in JSX
- Enforce closing bracket location in JSX See rule details.
- org.openrewrite.codemods.format.JsxClosingTagLocation
- Enforce closing tag location for multiline JSX
- Enforce closing tag location for multiline JSX See rule details.
- org.openrewrite.codemods.format.JsxCurlyBracePresence
- Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
- Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes See rule details.
- org.openrewrite.codemods.format.JsxCurlyNewline
- Enforce consistent linebreaks in curly braces in JSX attributes and expressions
- Enforce consistent linebreaks in curly braces in JSX attributes and expressions See rule details.
- org.openrewrite.codemods.format.JsxCurlySpacing
- Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
- Enforce or disallow spaces inside of curly braces in JSX attributes and expressions See rule details.
- org.openrewrite.codemods.format.JsxEqualsSpacing
- Enforce or disallow spaces around equal signs in JSX attributes
- Enforce or disallow spaces around equal signs in JSX attributes See rule details.
- org.openrewrite.codemods.format.JsxFirstPropNewLine
- Enforce proper position of the first property in JSX
- Enforce proper position of the first property in JSX See rule details.
- org.openrewrite.codemods.format.JsxIndent
- Enforce JSX indentation
- Enforce JSX indentation See rule details.
- org.openrewrite.codemods.format.JsxIndentProps
- Enforce props indentation in JSX
- Enforce props indentation in JSX See rule details.
- org.openrewrite.codemods.format.JsxMaxPropsPerLine
- Enforce maximum of props on a single line in JSX
- Enforce maximum of props on a single line in JSX See rule details.
- org.openrewrite.codemods.format.JsxNewline
- Require or prevent a new line after jsx elements and expressions
- Require or prevent a new line after jsx elements and expressions. See rule details.
- org.openrewrite.codemods.format.JsxOneExpressionPerLine
- Require one JSX element per line
- Require one JSX element per line See rule details.
- org.openrewrite.codemods.format.JsxPascalCase
- Enforce PascalCase for user-defined JSX components
- Enforce PascalCase for user-defined JSX components See rule details.
- org.openrewrite.codemods.format.JsxPropsNoMultiSpaces
- Disallow multiple spaces between inline JSX props
- Disallow multiple spaces between inline JSX props See rule details.
- org.openrewrite.codemods.format.JsxQuotes
- Enforce the consistent use of either double or single quotes in JSX attributes
- Enforce the consistent use of either double or single quotes in JSX attributes See rule details.
- org.openrewrite.codemods.format.JsxSelfClosingComp
- Disallow extra closing tags for components without children
- Disallow extra closing tags for components without children See rule details.
- org.openrewrite.codemods.format.JsxSortProps
- Enforce props alphabetical sorting
- Enforce props alphabetical sorting See rule details.
- org.openrewrite.codemods.format.JsxTagSpacing
- Enforce whitespace in and around the JSX opening and closing brackets
- Enforce whitespace in and around the JSX opening and closing brackets See rule details.
- org.openrewrite.codemods.format.JsxWrapMultilines
- Disallow missing parentheses around multiline JSX
- Disallow missing parentheses around multiline JSX See rule details.
- org.openrewrite.codemods.format.KeySpacing
- Enforce consistent spacing between keys and values in object literal properties
- Enforce consistent spacing between keys and values in object literal properties See rule details.
- org.openrewrite.codemods.format.KeywordSpacing
- Enforce consistent spacing before and after keywords
- Enforce consistent spacing before and after keywords See rule details.
- org.openrewrite.codemods.format.LinebreakStyle
- Enforce consistent linebreak style
- Enforce consistent linebreak style See rule details.
- org.openrewrite.codemods.format.LinesAroundComment
- Require empty lines around comments
- Require empty lines around comments See rule details.
- org.openrewrite.codemods.format.LinesBetweenClassMembers
- Require or disallow an empty line between class members
- Require or disallow an empty line between class members See rule details.
- org.openrewrite.codemods.format.MemberDelimiterStyle
- Require a specific member delimiter style for interfaces and type literals
- Require a specific member delimiter style for interfaces and type literals See rule details.
- org.openrewrite.codemods.format.MultilineTernary
- Enforce newlines between operands of ternary expressions
- Enforce newlines between operands of ternary expressions See rule details.
- org.openrewrite.codemods.format.NewParens
- Enforce or disallow parentheses when invoking a constructor with no arguments
- Enforce or disallow parentheses when invoking a constructor with no arguments See rule details.
- org.openrewrite.codemods.format.NewlinePerChainedCall
- Require a newline after each call in a method chain
- Require a newline after each call in a method chain See rule details.
- org.openrewrite.codemods.format.NoConfusingArrow
- Disallow arrow functions where they could be confused with comparisons
- Disallow arrow functions where they could be confused with comparisons See rule details.
- org.openrewrite.codemods.format.NoExtraParens
- Disallow unnecessary parentheses
- Disallow unnecessary parentheses See rule details.
- org.openrewrite.codemods.format.NoExtraSemi
- Disallow unnecessary semicolons
- Disallow unnecessary semicolons See rule details.
- org.openrewrite.codemods.format.NoFloatingDecimal
- Disallow leading or trailing decimal points in numeric literals
- Disallow leading or trailing decimal points in numeric literals See rule details.
- org.openrewrite.codemods.format.NoMultiSpaces
- Disallow multiple spaces
- Disallow multiple spaces See rule details.
- org.openrewrite.codemods.format.NoMultipleEmptyLines
- Disallow multiple empty lines
- Disallow multiple empty lines See rule details.
- org.openrewrite.codemods.format.NoTrailingSpaces
- Disallow trailing whitespace at the end of lines
- Disallow trailing whitespace at the end of lines See rule details.
- org.openrewrite.codemods.format.NoWhitespaceBeforeProperty
- Disallow whitespace before properties
- Disallow whitespace before properties See rule details.
- org.openrewrite.codemods.format.NonblockStatementBodyPosition
- Enforce the location of single-line statements
- Enforce the location of single-line statements See rule details.
- org.openrewrite.codemods.format.ObjectCurlyNewline
- Enforce consistent line breaks after opening and before closing braces
- Enforce consistent line breaks after opening and before closing braces See rule details.
- org.openrewrite.codemods.format.ObjectCurlySpacing
- Enforce consistent spacing inside braces
- Enforce consistent spacing inside braces See rule details.
- org.openrewrite.codemods.format.ObjectPropertyNewline
- Enforce placing object properties on separate lines
- Enforce placing object properties on separate lines See rule details.
- org.openrewrite.codemods.format.OneVarDeclarationPerLine
- Require or disallow newlines around variable declarations
- Require or disallow newlines around variable declarations See rule details.
- org.openrewrite.codemods.format.OperatorLinebreak
- Enforce consistent linebreak style for operators
- Enforce consistent linebreak style for operators See rule details.
- org.openrewrite.codemods.format.PaddedBlocks
- Require or disallow padding within blocks
- Require or disallow padding within blocks See rule details.
- org.openrewrite.codemods.format.PaddingLineBetweenStatements
- Require or disallow padding lines between statements
- Require or disallow padding lines between statements See rule details.
- org.openrewrite.codemods.format.QuoteProps
- Require quotes around object literal property names
- Require quotes around object literal property names See rule details.
- org.openrewrite.codemods.format.Quotes
- Enforce the consistent use of either backticks, double, or single quotes
- Enforce the consistent use of either backticks, double, or single quotes See rule details.
- org.openrewrite.codemods.format.RecommendedESLintStyling
- Recommended ESLint Styling
- Collection of stylistic ESLint rules that are recommended by the ESLint Style..
- org.openrewrite.codemods.format.RestSpreadSpacing
- Enforce spacing between rest and spread operators and their expressions
- Enforce spacing between rest and spread operators and their expressions See rule details.
- org.openrewrite.codemods.format.Semi
- Require or disallow semicolons instead of ASI
- Require or disallow semicolons instead of ASI See rule details.
- org.openrewrite.codemods.format.SemiSpacing
- Enforce consistent spacing before and after semicolons
- Enforce consistent spacing before and after semicolons See rule details.
- org.openrewrite.codemods.format.SemiStyle
- Enforce location of semicolons
- Enforce location of semicolons See rule details.
- org.openrewrite.codemods.format.SpaceBeforeBlocks
- Enforce consistent spacing before blocks
- Enforce consistent spacing before blocks See rule details.
- org.openrewrite.codemods.format.SpaceBeforeFunctionParen
- Enforce consistent spacing before `function` definition opening parenthesis
- Enforce consistent spacing before `function` definition opening parenthesis See rule details.
- org.openrewrite.codemods.format.SpaceInParens
- Enforce consistent spacing inside parentheses
- Enforce consistent spacing inside parentheses See rule details.
- org.openrewrite.codemods.format.SpaceInfixOps
- Require spacing around infix operators
- Require spacing around infix operators See rule details.
- org.openrewrite.codemods.format.SpaceUnaryOps
- Enforce consistent spacing before or after unary operators
- Enforce consistent spacing before or after unary operators See rule details.
- org.openrewrite.codemods.format.SpacedComment
- Enforce consistent spacing after the `//` or `/*` in a comment
- Enforce consistent spacing after the `//` or `/*` in a comment See rule details.
- org.openrewrite.codemods.format.SwitchColonSpacing
- Enforce spacing around colons of switch statements
- Enforce spacing around colons of switch statements See rule details.
- org.openrewrite.codemods.format.TemplateCurlySpacing
- Require or disallow spacing around embedded expressions of template strings
- Require or disallow spacing around embedded expressions of template strings See rule details.
- org.openrewrite.codemods.format.TemplateTagSpacing
- Require or disallow spacing between template tags and their literals
- Require or disallow spacing between template tags and their literals See rule details.
- org.openrewrite.codemods.format.TypeAnnotationSpacing
- Require consistent spacing around type annotations
- Require consistent spacing around type annotations See rule details.
- org.openrewrite.codemods.format.TypeGenericSpacing
- Enforces consistent spacing inside TypeScript type generics
- Enforces consistent spacing inside TypeScript type generics See rule details.
- org.openrewrite.codemods.format.TypeNamedTupleSpacing
- Expect space before the type declaration in the named tuple
- Expect space before the type declaration in the named tuple See rule details.
- org.openrewrite.codemods.format.WrapIife
- Require parentheses around immediate `function` invocations
- Require parentheses around immediate `function` invocations See rule details.
- org.openrewrite.codemods.format.WrapRegex
- Require parenthesis around regex literals
- Require parenthesis around regex literals See rule details.
- org.openrewrite.codemods.format.YieldStarSpacing
- Require or disallow spacing around the `` in `yield` expressions
- Require or disallow spacing around the `` in `yield` expressions See rule details.
examples
5 recipes
- com.oracle.weblogic.rewrite.examples.AddImplicitTldFileWithTaglib2_1
- Add implicit TLD with taglib 2.1
- Add
implicit.tldfile with taglib 2.1 tosrc/main/webapp/WEB-INF/tags.
- com.oracle.weblogic.rewrite.examples.AddImplicitTldFileWithTaglib3_0
- Add implicit TLD with taglib 3.0
- Add
implicit.tldfile with taglib 3.0 tosrc/main/webapp/WEB-INF/tags.
- com.oracle.weblogic.rewrite.examples.spring.ChangeCacheManagerToSimpleCacheManager
- Change cacheManager to use the SimpleCacheManager
- Change cacheManager to use the SimpleCacheManager.
- com.oracle.weblogic.rewrite.examples.spring.MigratedPetClinicExtrasFor1511
- Add WebLogic 15.1.1 PetClinic extras
- Run migration extras for migrated Spring Framework PetClinic example run on WebLogic 15.1.1.
- com.oracle.weblogic.rewrite.examples.spring.SetupSpringFrameworkPetClinicFor1412
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2.
faces
29 recipes
- com.oracle.weblogic.rewrite.FacesMigrationToJakartaFaces2x
- JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older
- Jakarta EE 8 uses Faces 2.3 a major upgrade to Jakarta packages and XML namespaces. This recipe will migrate JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older.
- com.oracle.weblogic.rewrite.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Server Faces 3.x
- Jakarta EE 9 uses Faces 3.0 a major upgrade to Jakarta packages and XML namespaces.
- com.oracle.weblogic.rewrite.jakarta.JakartaFaces3Xhtml
- Faces XHTML migration for Jakarta EE 9
- Find and replace legacy JSF namespaces and javax references with Jakarta Faces values in XHTML files.
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesConfigXmlToJakartaFaces3ConfigXml
- Migrate xmlns entries in
faces-config.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesTagLibraryXmlToJakartaFaces3TagLibraryXml
- Migrate xmlns entries in
*taglib*.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxTestWebXmlToJakartaTestWebXml5
- Migrate xmlns entries in
test-web.xmlfiles for Jakarta Server Faces 3 using test interfaces - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation for test interfaces like arquillian.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml5
- Migrate xmlns entries in
web-fragment.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebXmlToJakartaWebXml5
- Migrate xmlns entries in
web.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries2
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries3
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Faces 3.x
- Jakarta EE 9 uses Faces 3.0, a major upgrade to Jakarta packages and XML namespaces.
- org.openrewrite.java.migrate.jakarta.Faces3xMigrationToFaces4x
- Upgrade to Jakarta Faces 4.x
- Jakarta EE 10 uses Faces 4.0.
- org.openrewrite.java.migrate.jakarta.Faces4xMigrationToFaces41x
- Jakarta Faces 4.0 to 4.1
- Jakarta EE 11 uses Faces 4.1 a minor upgrade.
- org.openrewrite.java.migrate.jakarta.JakartaFacesConfigXml4
- Migrate xmlns entries in
faces-config.xmlfiles - Jakarta EE 10 uses Faces version 4.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaFacesEcmaScript
- Migrate JSF values inside EcmaScript files
- Convert JSF to Faces values inside JavaScript,TypeScript, and Properties files.
- org.openrewrite.java.migrate.jakarta.JakartaFacesTagLibraryXml4
- Migrate xmlns entries in
taglib.xmlfiles - Faces 4 uses facelet-taglib 4.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaFacesXhtmlEE10
- Faces XHTML migration for Jakarta EE 10
- Find and replace legacy JSF namespace URIs with Jakarta Faces URNs in XHTML files.
- org.openrewrite.java.migrate.jakarta.JakartaFacesXhtmlEE9
- Faces XHTML migration for Jakarta EE 9
- Find and replace javax references to jakarta in XHTML files.
- org.openrewrite.java.migrate.jakarta.JakartaWebFragmentXml6
- Migrate xmlns entries in
web-fragment.xmlfiles - Faces 4 uses web-fragment 6.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaWebXml6
- Migrate xmlns entries in
web.xmlfiles - Faces 4 uses web-app 6.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxFacesConfigXmlToJakartaFacesConfigXml
- Migrate xmlns entries in
faces-config.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxFacesTagLibraryXmlToJakartaFacesTagLibraryXml
- Migrate xmlns entries in
taglib.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml
- Migrate xmlns entries in
web-fragment.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxWebXmlToJakartaWebXml
- Migrate xmlns entries in
web.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.OmniFacesNamespaceMigration
- OmniFaces Namespace Migration
- Find and replace legacy OmniFaces namespaces.
- org.openrewrite.java.migrate.jakarta.UpdateManagedBeanToNamed
- Update Faces
@ManagedBeanto use CDI@Named - Faces ManagedBean was deprecated in JSF 2.3 (EE8) and removed in Jakarta Faces 4.0 (EE10). Replace
@ManagedBeanwith@Namedfor CDI-based bean management.
- Update Faces
- org.openrewrite.java.migrate.jakarta.UpgradeFaces3OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces41OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade OmniFaces and MyFaces/Mojarra libraries to Jakarta EE11 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces4OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
flyway
5 recipes
- org.openrewrite.java.flyway.AddFlywayModuleMySQL
- Add missing Flyway module for MySQL
- Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-mysqldependency if you are using MySQL with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.java.flyway.AddFlywayModuleOracle
- Add missing Flyway module for Oracle
- Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-database-oracledependency if you are using Oracle with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.java.flyway.AddFlywayModulePostgreSQL
- Add missing Flyway module for PostgreSQL
- Database modules for Flyway 10 have been split out in to separate modules for maintainability. Add the
flyway-database-postgresqldependency if you are using PostgreSQL with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.java.flyway.AddFlywayModuleSqlServer
- Add missing Flyway module for SQL Server
- Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-sqlserverdependency if you are using SQL Server with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.java.flyway.MigrateToFlyway10
- Migrate to Flyway 10
- Migrate to Flyway 10. See details at Flyway V10 has landed.
framework
1 recipe
- io.moderne.java.spring.framework.MigrateDefaultResponseErrorHandler
- Migrate
DefaultResponseErrorHandler.handleErrormethod signature - Migrates overridden
handleError(ClientHttpResponse response)methods to the new signaturehandleError(URI url, HttpMethod method, ClientHttpResponse response)in classes extendingDefaultResponseErrorHandler. The old single-argument method was removed in Spring Framework 7.0.
- Migrate
GCP
15 recipes
- org.openrewrite.terraform.gcp.EnablePodSecurityPolicyControllerOnGKEClusters
- Enable
PodSecurityPolicycontroller on Google Kubernetes Engine (GKE) clusters - Ensure
PodSecurityPolicycontroller is enabled on Google Kubernetes Engine (GKE) clusters.
- Enable
- org.openrewrite.terraform.gcp.EnableVPCFlowLogsAndIntranodeVisibility
- Enable VPC flow logs and intranode visibility
- Enable VPC flow logs and intranode visibility.
- org.openrewrite.terraform.gcp.EnableVPCFlowLogsForSubnetworks
- Enable VPC Flow Logs for subnetworks
- Ensure GCP VPC flow logs for subnets are enabled. Flow Logs capture information on IP traffic moving through network interfaces. This information can be used to monitor anomalous traffic and provide security insights.
- org.openrewrite.terraform.gcp.EnsureBinaryAuthorizationIsUsed
- Ensure binary authorization is used
- Ensure binary authorization is used.
- org.openrewrite.terraform.gcp.EnsureComputeInstancesLaunchWithShieldedVMEnabled
- Ensure compute instances launch with shielded VM enabled
- Ensure compute instances launch with shielded VM enabled.
- org.openrewrite.terraform.gcp.EnsureGCPCloudStorageBucketWithUniformBucketLevelAccessAreEnabled
- Ensure GCP cloud storage bucket with uniform bucket-level access are enabled
- Ensure GCP cloud storage bucket with uniform bucket-level access are enabled.
- org.openrewrite.terraform.gcp.EnsureGCPKubernetesClusterNodeAutoRepairConfigurationIsEnabled
- Ensure GCP Kubernetes cluster node auto-repair configuration is enabled
- Ensure GCP Kubernetes cluster node auto-repair configuration is enabled.
- org.openrewrite.terraform.gcp.EnsureGCPKubernetesEngineClustersHaveLegacyComputeEngineMetadataEndpointsDisabled
- Ensure GCP Kubernetes engine clusters have legacy compute engine metadata endpoints disabled
- Ensure GCP Kubernetes engine clusters have legacy compute engine metadata endpoints disabled.
- org.openrewrite.terraform.gcp.EnsureGCPVMInstancesHaveBlockProjectWideSSHKeysFeatureEnabled
- Ensure GCP VM instances have block project-wide SSH keys feature enabled
- Ensure GCP VM instances have block project-wide SSH keys feature enabled.
- org.openrewrite.terraform.gcp.EnsureIPForwardingOnInstancesIsDisabled
- Ensure IP forwarding on instances is disabled
- Ensure IP forwarding on instances is disabled.
- org.openrewrite.terraform.gcp.EnsurePrivateClusterIsEnabledWhenCreatingKubernetesClusters
- Ensure private cluster is enabled when creating Kubernetes clusters
- Ensure private cluster is enabled when creating Kubernetes clusters.
- org.openrewrite.terraform.gcp.EnsureSecureBootForShieldedGKENodesIsEnabled
- Ensure secure boot for shielded GKE nodes is enabled
- Ensure secure boot for shielded GKE nodes is enabled.
- org.openrewrite.terraform.gcp.EnsureShieldedGKENodesAreEnabled
- Ensure shielded GKE nodes are enabled
- Ensure shielded GKE nodes are enabled.
- org.openrewrite.terraform.gcp.EnsureTheGKEMetadataServerIsEnabled
- Ensure the GKE metadata server is enabled
- Ensure the GKE metadata server is enabled.
- org.openrewrite.terraform.gcp.GCPBestPractices
- Best practices for GCP
- Securely operate on Google Cloud Platform.
github
12 recipes
- org.openrewrite.github.AddDependabotCooldown
- Add cooldown periods to Dependabot configuration
- Adds a
cooldownsection to each update configuration in Dependabot files. Supportsdefault-days,semver-major-days,semver-minor-days,semver-patch-days,include, andexcludeoptions. This implements a security best practice where dependencies are not immediately adopted upon release, allowing time for security vendors to identify potential supply chain compromises. Cooldown applies only to version updates, not security updates. Read more about dependency cooldowns. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.AddManualTrigger
- Add manual workflow trigger
- You can manually trigger workflow runs. To trigger specific workflows in a repository, use the
workflow_dispatchevent.
- org.openrewrite.github.ChangeDependabotScheduleInterval
- Change dependabot schedule interval
- Change the schedule interval for a given package-ecosystem in a
dependabot.ymlconfiguration file. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesDaily
- Check for github-actions updates daily
- Set dependabot to check for github-actions updates daily.
- org.openrewrite.github.DependabotCheckForGithubActionsUpdatesWeekly
- Check for github-actions updates weekly
- Set dependabot to check for github-actions updates weekly.
- org.openrewrite.github.MigrateSetupUvV6ToV7
- Migrate
astral-sh/setup-uvfrom v6 to v7 - Migrates
astral-sh/setup-uvfrom v6 to v7. Updates the action version and removes the deprecatedserver-urlinput. See the v7.0.0 release notes for breaking changes.
- Migrate
- org.openrewrite.github.MigrateTibdexGitHubAppTokenToActions
- Migrate from tibdex/github-app-token to actions/create-github-app-token
- Migrates from tibdex/github-app-token@v2 to actions/create-github-app-token@v2 and updates parameter names from snake_case to kebab-case.
- org.openrewrite.github.ReplaceOssrhSecretsWithSonatype
- Replace OSSRH secrets with Sonatype secrets
- Replace deprecated OSSRH_S01 secrets with new Sonatype secrets in GitHub Actions workflows. This is an example use of the
ReplaceSecretsandReplaceSecretKeysrecipes combined used to update the Maven publishing secrets in OpenRewrite's GitHub organization.
- org.openrewrite.github.SetupNodeUpgradeNodeVersion
- Upgrade
actions/setup-nodenode-version - Update the Node.js version used by
actions/setup-nodeif it is below the expected version number.
- Upgrade
- org.openrewrite.github.gradle.RenameGradleBuildActionToSetupGradle
- Rename
gradle/gradle-build-actiontogradle/actions/setup-gradle - Rename the deprecated
gradle/gradle-build-actiontogradle/actions/setup-gradle@v3.
- Rename
- org.openrewrite.github.gradle.RenameWrapperValidationAction
- Rename
gradle/wrapper-validation-actiontogradle/actions/wrapper-validation - Rename the deprecated
gradle/wrapper-validation-actiontogradle/actions/wrapper-validation@v3.
- Rename
- org.openrewrite.github.security.GitHubActionsSecurity
- GitHub Actions security insights
- Finds potential security issues in GitHub Actions workflows, based on Zizmor security analysis rules.
glassfish
3 recipes
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithRuntime
- Add explicit JAXB API dependencies and runtime
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbRuntime
- Use latest JAXB API and runtime for Jakarta EE 8
- Update build files to use the latest JAXB runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAXB run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAXB API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.AddJaxwsDependencies
- Add explicit JAX-WS dependencies
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAX-WS. Any existing dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 but the application can continue to use the
javax.xml.bindnamespace.
gradle
4 recipes
- io.moderne.java.spring.boot3.UpgradeGradle7Spring34
- Upgrade Gradle to 7.6.4+ for Spring Boot 3.4
- Spring Boot 3.4 requires Gradle 7.6.4.
- io.moderne.java.spring.boot3.UpgradeGradle8Spring34
- Upgrade Gradle 8 to 8.4+ for Spring Boot 3.4
- Spring Boot 3.4 requires Gradle 8.4+.
- org.openrewrite.github.gradle.RenameGradleBuildActionToSetupGradle
- Rename
gradle/gradle-build-actiontogradle/actions/setup-gradle - Rename the deprecated
gradle/gradle-build-actiontogradle/actions/setup-gradle@v3.
- Rename
- org.openrewrite.github.gradle.RenameWrapperValidationAction
- Rename
gradle/wrapper-validation-actiontogradle/actions/wrapper-validation - Rename the deprecated
gradle/wrapper-validation-actiontogradle/actions/wrapper-validation@v3.
- Rename
guava
56 recipes
- org.openrewrite.java.migrate.guava.NoGuava
- Prefer the Java standard library instead of Guava
- Guava filled in important gaps in the Java standard library and still does. But at least some of Guava's API surface area is covered by the Java standard library now, and some projects may be able to remove Guava altogether if they migrate to standard library for these functions.
- org.openrewrite.java.migrate.guava.NoGuavaAtomicsNewReference
- Prefer
new AtomicReference<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaCollections2Transform
- Prefer
Collection.stream().map(Function)overCollections2.transform - Prefer
Collection.stream().map(Function)overCollections2.transform(Collection, Function).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaCreateTempDir
- Prefer
Files#createTempDirectory() - Replaces Guava
Files#createTempDir()with JavaFiles#createTempDirectory(..). Transformations are limited to scopes throwing or catchingjava.io.IOException.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaDirectExecutor
- Prefer
Runnable::run Executoris a SAM-compatible interface, soRunnable::runis just as succinct asMoreExecutors.directExecutor()but without the third-party library requirement.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaFunctionsCompose
- Prefer
Function.compose(Function) - Prefer
Function.compose(Function)overFunctions.compose(Function, Function).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaIterablesAll
- Prefer
Collection.stream().allMatch(Predicate) - Prefer
Collection.stream().allMatch(Predicate)overIterables.all(Collection, Predicate).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaIterablesAnyFilter
- Prefer
Collection.stream().anyMatch(Predicate) - Prefer
Collection.stream().anyMatch(Predicate)overIterables.any(Collection, Predicate).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaIterablesTransform
- Prefer
Collection.stream().map(Function)overIterables.transform - Prefer
Collection.stream().map(Function)overIterables.transform(Collection, Function).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaJava11
- Prefer the Java 11 standard library instead of Guava
- Guava filled in important gaps in the Java standard library and still does. But at least some of Guava's API surface area is covered by the Java standard library now, and some projects may be able to remove Guava altogether if they migrate to standard library for these functions.
- org.openrewrite.java.migrate.guava.NoGuavaJava21
- Prefer the Java 21 standard library instead of Guava
- Guava filled in important gaps in the Java standard library and still does. But at least some of Guava's API surface area is covered by the Java standard library now, and some projects may be able to remove Guava altogether if they migrate to standard library for these functions.
- org.openrewrite.java.migrate.guava.NoGuavaListsNewArrayList
- Prefer
new ArrayList<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaListsNewCopyOnWriteArrayList
- Prefer
new CopyOnWriteArrayList<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaListsNewLinkedList
- Prefer
new LinkedList<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaMapsNewHashMap
- Prefer
new HashMap<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaMapsNewLinkedHashMap
- Prefer
new LinkedHashMap<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaMapsNewTreeMap
- Prefer
new TreeMap<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaOptionalAsSet
- Prefer
Optional.stream().collect(Collectors.toSet()) - Prefer
Optional.stream().collect(Collectors.toSet())overOptional.asSet().
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaOptionalFromJavaUtil
- Replace
com.google.common.base.Optional#fromJavaUtil(java.util.Optional)with argument - Replaces
com.google.common.base.Optional#fromJavaUtil(java.util.Optional)with argument.
- Replace
- org.openrewrite.java.migrate.guava.NoGuavaOptionalToJavaUtil
- Remove
com.google.common.base.Optional#toJavaUtil() - Remove calls to
com.google.common.base.Optional#toJavaUtil().
- Remove
- org.openrewrite.java.migrate.guava.NoGuavaPredicatesAndOr
- Prefer
Predicate.and(Predicate) - Prefer
Predicate.and(Predicate)overPredicates.and(Predicate, Predicate).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaPredicatesEqualTo
- Prefer
Predicate.isEqual(Object) - Prefer
Predicate.isEqual(Object)overPredicates.equalTo(Object).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaPredicatesInstanceOf
- Prefer
A.class::isInstance - Prefer
A.class::isInstanceoverPredicates.instanceOf(A.class).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaSetsFilter
- Prefer
Collection.stream().filter(Predicate) - Prefer
Collection.stream().filter(Predicate)overSets.filter(Set, Predicate).
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaSetsNewConcurrentHashSet
- Prefer
new ConcurrentHashMap<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaSetsNewHashSet
- Prefer
new HashSet<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaSetsNewLinkedHashSet
- Prefer
new LinkedHashSet<>() - Prefer the Java standard library over third-party usage of Guava in simple cases like this.
- Prefer
- org.openrewrite.java.migrate.guava.PreferCharCompare
- Prefer
java.lang.Char#compare - Prefer
java.lang.Char#compareinstead of usingcom.google.common.primitives.Chars#compare.
- Prefer
- org.openrewrite.java.migrate.guava.PreferIntegerCompare
- Prefer
Integer#compare - Prefer
java.lang.Integer#compareinstead of usingcom.google.common.primitives.Ints#compare.
- Prefer
- org.openrewrite.java.migrate.guava.PreferIntegerCompareUnsigned
- Prefer
Integer#compareUnsigned - Prefer
java.lang.Integer#compareUnsignedinstead of usingcom.google.common.primitives.UnsignedInts#compareorcom.google.common.primitives.UnsignedInts#compareUnsigned.
- Prefer
- org.openrewrite.java.migrate.guava.PreferIntegerDivideUnsigned
- Prefer
Integer#divideUnsigned - Prefer
java.lang.Integer#divideUnsignedinstead of usingcom.google.common.primitives.UnsignedInts#divideorcom.google.common.primitives.UnsignedInts#divideUnsigned.
- Prefer
- org.openrewrite.java.migrate.guava.PreferIntegerParseUnsignedInt
- Prefer
Integer#parseUnsignedInt - Prefer
java.lang.Integer#parseUnsignedIntinstead of usingcom.google.common.primitives.UnsignedInts#parseUnsignedInt.
- Prefer
- org.openrewrite.java.migrate.guava.PreferIntegerRemainderUnsigned
- Prefer
Integer#remainderUnsigned - Prefer
java.lang.Integer#remainderUnsignedinstead of usingcom.google.common.primitives.UnsignedInts#remainderUnsigned.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaNioCharsetStandardCharsets
- Prefer
java.nio.charset.StandardCharsets - Prefer
java.nio.charset.StandardCharsetsinstead of usingcom.google.common.base.Charsets.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaStringJoin
- Prefer
String#join()over GuavaJoiner#join() - Replaces supported calls to
com.google.common.base.Joiner#join()withjava.lang.String#join().
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilCollectionsSynchronizedNavigableMap
- Prefer
java.util.Collections#synchronizedNavigableMap - Prefer
java.util.Collections#synchronizedNavigableMapinstead of usingcom.google.common.collect.Maps#synchronizedNavigableMap.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilCollectionsUnmodifiableNavigableMap
- Prefer
java.util.Collections#unmodifiableNavigableMap - Prefer
java.util.Collections#unmodifiableNavigableMapinstead of usingcom.google.common.collect.Maps#unmodifiableNavigableMap.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilFunction
- Prefer
java.util.function.Function - Prefer
java.util.function.Functioninstead of usingcom.google.common.base.Function.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilObjectsEquals
- Prefer
java.util.Objects#equals - Prefer
java.util.Objects#equalsinstead of usingcom.google.common.base.Objects#equal.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilObjectsHashCode
- Prefer
java.util.Objects#hash - Prefer
java.util.Objects#hashinstead of usingcom.google.common.base.Objects#hashCodeorcom.google.common.base.Objects hash(..).
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilObjectsRequireNonNullElse
- Prefer
java.util.Objects#requireNonNullElse - Prefer
java.util.Objects#requireNonNullElseinstead of usingcom.google.common.base.MoreObjects#firstNonNull.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilOptional
- Prefer
java.util.Optional - Prefer
java.util.Optionalinstead of usingcom.google.common.base.Optional.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilOptionalOrElseNull
- Prefer
java.util.Optional#orElse(null)overcom.google.common.base.Optional#orNull() - Replaces
com.google.common.base.Optional#orNull()withjava.util.Optional#orElse(null).
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilOptionalOrSupplier
- Prefer
java.util.Optional#or(Supplier<T extends java.util.Optional<T>>) - Prefer
java.util.Optional#or(Supplier<T extends java.util.Optional<T>>)over `com.google.common.base.Optional#or(com.google.common.base.Optional).
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilPredicate
- Prefer
java.util.function.Predicate - Prefer
java.util.function.Predicateinstead of usingcom.google.common.base.Predicate.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilSupplier
- Prefer
java.util.function.Supplier - Prefer
java.util.function.Supplierinstead of usingcom.google.common.base.Supplier.
- Prefer
- org.openrewrite.java.migrate.guava.PreferLongCompare
- Prefer
Long#compare - Prefer
java.lang.Long#compareinstead of usingcom.google.common.primitives.Longs#compare.
- Prefer
- org.openrewrite.java.migrate.guava.PreferLongCompareUnsigned
- Prefer
Long#compareUnsigned - Prefer
java.lang.Long#compareUnsignedinstead of usingcom.google.common.primitives.UnsignedLongs#compareorcom.google.common.primitives.UnsignedLongs#compareUnsigned.
- Prefer
- org.openrewrite.java.migrate.guava.PreferLongDivideUnsigned
- Prefer
Long#divideUnsigned - Prefer
java.lang.Long#divideUnsignedinstead of usingcom.google.common.primitives.UnsignedLongs#divideorcom.google.common.primitives.UnsignedLongs#divideUnsigned.
- Prefer
- org.openrewrite.java.migrate.guava.PreferLongParseUnsignedLong
- Prefer
Long#parseUnsignedInt - Prefer
java.lang.Long#parseUnsignedIntinstead of usingcom.google.common.primitives.UnsignedLongs#parseUnsignedInt.
- Prefer
- org.openrewrite.java.migrate.guava.PreferLongRemainderUnsigned
- Prefer
Long#remainderUnsigned - Prefer
java.lang.Long#remainderUnsignedinstead of usingcom.google.common.primitives.UnsignedLongs#remainderUnsigned.
- Prefer
- org.openrewrite.java.migrate.guava.PreferMathAddExact
- Prefer
Math#addExact - Prefer
java.lang.Math#addExactinstead of usingcom.google.common.math.IntMath#checkedAddorcom.google.common.math.IntMath#addExact.
- Prefer
- org.openrewrite.java.migrate.guava.PreferMathClamp
- Prefer
Math#clamp - Prefer
java.lang.Math#clampinstead of usingcom.google.common.primitives.*#constrainToRange.
- Prefer
- org.openrewrite.java.migrate.guava.PreferMathMultiplyExact
- Prefer
Math#multiplyExact - Prefer
java.lang.Math#multiplyExactinstead of usingcom.google.common.primitives.IntMath#checkedMultiplyorcom.google.common.primitives.IntMath#multiplyExact.
- Prefer
- org.openrewrite.java.migrate.guava.PreferMathSubtractExact
- Prefer
Math#subtractExact - Prefer
java.lang.Math#subtractExactinstead of usingcom.google.common.primitives.IntMath#checkedSubtractorcom.google.common.primitives.IntMath#subtractExact.
- Prefer
- org.openrewrite.java.migrate.guava.PreferShortCompare
- Prefer
Short#compare - Prefer
java.lang.Short#compareinstead of usingcom.google.common.primitives.Shorts#compare.
- Prefer
h2
2 recipes
- org.openrewrite.quarkus.spring.H2DriverToQuarkus
- Replace H2 driver with Quarkus JDBC H2
- Migrates
com.h2database:h2toio.quarkus:quarkus-jdbc-h2(excludes test scope).
- org.openrewrite.quarkus.spring.H2TestDriverToQuarkus
- Replace H2 test driver with Quarkus JDBC H2 (test scope)
- Migrates
com.h2database:h2with test scope toio.quarkus:quarkus-jdbc-h2with test scope.
hamcrest
6 recipes
- org.openrewrite.java.testing.hamcrest.AddHamcrestIfUsed
- Add
org.hamcrest:hamcrestif it is used - JUnit Jupiter does not include hamcrest as a transitive dependency. If needed, add a direct dependency.
- Add
- org.openrewrite.java.testing.hamcrest.ConsistentHamcrestMatcherImports
- Use consistent Hamcrest matcher imports
- Use consistent imports for Hamcrest matchers, and remove wrapping
is(Matcher)calls ahead of further changes.
- org.openrewrite.java.testing.hamcrest.MigrateHamcrestToAssertJ
- Migrate Hamcrest assertions to AssertJ
- Migrate Hamcrest
assertThat(..)to AssertJAssertions.
- org.openrewrite.java.testing.hamcrest.MigrateHamcrestToJUnit5
- Migrate Hamcrest assertions to JUnit Jupiter
- Migrate Hamcrest
assertThat(..)to JUnit JupiterAssertions.
- org.openrewrite.java.testing.junit5.MigrateAssumptions
- Use
Assertions#assume*(..)and Hamcrest'sMatcherAssume#assume*(..) - Many of JUnit 4's
Assume#assume(..)methods have no direct counterpart in JUnit 5 and require Hamcrest JUnit'sMatcherAssume.
- Use
- org.openrewrite.java.testing.junit5.UseHamcrestAssertThat
- Use
MatcherAssert#assertThat(..) - JUnit 4's
Assert#assertThat(..)This method was deprecated in JUnit 4 and removed in JUnit Jupiter.
- Use
handler
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxWebHandlerXmlToJakarta9HandlerXml
- Migrate xmlns entries in
handler.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
health
1 recipe
- org.openrewrite.quarkus.spring.SpringBootActuatorToQuarkus
- Replace Spring Boot Actuator with Quarkus SmallRye Health
- Migrates
spring-boot-starter-actuatortoquarkus-smallrye-health.
hibernate
4 recipes
- com.oracle.weblogic.rewrite.hibernate.AddHibernateOrmCore61
- Add Hibernate ORM Core if has dependencies
- This recipe will add Hibernate ORM Core if has dependencies.
- com.oracle.weblogic.rewrite.hibernate.MigrateHibernateToJakartaEE9
- Migrate to Hibernate for Jakarta EE 9
- Upgrade hibernate libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeCommonOpenSourceLibraries
- Upgrade Common open source libraries
- Upgrade Common open source libraries libraries to Jakarta EE9 versions.
- io.moderne.java.spring.orm.SpringORM5
- Migrate to Spring ORM to 5
- Migrate applications using Spring ORM Hibernate Support to Hibernate 5 compatible version. This will enable a further migration by the Spring Framework migration past 5.
httpclient
4 recipes
- org.openrewrite.apache.httpclient4.UpgradeApacheHttpClient_4_5
- Migrates to ApacheHttpClient 4.5.x
- 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.
- org.openrewrite.apache.httpclient5.UpgradeApacheHttpClientDependencies
- Migrate from org.apache.httpcomponents to ApacheHttpClient 5.x dependencies
- Adopt
org.apache.httpcomponents.client5:httpclient5fromorg.apache.httpcomponents.
- org.openrewrite.apache.httpclient5.UpgradeApacheHttpClient_5
- Migrate to ApacheHttpClient 5.x
- 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.
- org.openrewrite.apache.httpclient5.UpgradeApacheHttpCoreNioDependencies
- Migrate from httpcore-nio to ApacheHttpClient 5.x core dependency
- Adopt
org.apache.httpcomponents.core5:httpcore5fromorg.apache.httpcomponents:httpcore-nio.
inject
3 recipes
- io.quarkus.updates.core.quarkus30.JavaxInjectMigrationToJakartaInject
- Migrate deprecated
javax.injectpackages tojakarta.inject - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxInjectMigrationToJakartaInject
- Migrate deprecated
javax.injectpackages tojakarta.inject - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.javax.AddInjectDependencies
- Add explicit Inject dependencies
- Add the necessary
inject-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
integration
1 recipe
- org.openrewrite.quarkus.spring.SpringBootIntegrationToQuarkus
- Replace Spring Boot Integration with Camel Quarkus
- Migrates
spring-boot-starter-integrationtocamel-quarkus-core.
intellij
1 recipe
- org.openrewrite.java.migrate.ComIntelliJAnnotationsToOrgJetbrainsAnnotations
- Migrate com.intellij:annotations to org.jetbrains:annotations
- This recipe will upgrade old dependency of com.intellij:annotations to the newer org.jetbrains:annotations.
jackson
19 recipes
- org.openrewrite.java.jackson.CodehausClassesToFasterXML
- Migrate classes from Jackson Codehaus (legacy) to Jackson FasterXML
- In Jackson 2, the package and dependency coordinates moved from Codehaus to FasterXML.
- org.openrewrite.java.jackson.CodehausToFasterXML
- Migrate from Jackson Codehaus (legacy) to Jackson FasterXML
- In Jackson 2, the package and dependency coordinates moved from Codehaus to FasterXML.
- org.openrewrite.java.jackson.JacksonBestPractices
- Jackson best practices
- Apply best practices for using Jackson library, including upgrade to Jackson 2.x and removing redundant annotations.
- org.openrewrite.java.jackson.RemoveBuiltInModuleRegistrations
- Remove registrations of modules built-in to Jackson 3
- In Jackson 3,
ParameterNamesModule,Jdk8Module, andJavaTimeModuleare built intojackson-databindand no longer need to be registered manually. This recipe removesObjectMapper.registerModule()andMapperBuilder.addModule()calls for these modules.
- org.openrewrite.java.jackson.RemoveRedundantFeatureFlags
- Remove redundant Jackson 3 feature flag configurations
- Remove
ObjectMapperfeature flag configurations that set values to their new Jackson 3 defaults. For example,disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)andconfigure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)are redundant since this is now disabled by default in Jackson 3.
- org.openrewrite.java.jackson.RemoveRedundantJsonPropertyValue
- Remove redundant
@JsonPropertyargument - Remove
@JsonPropertyannotation or value attribute when the value matches the argument name.
- Remove redundant
- org.openrewrite.java.jackson.ReplaceStreamWriteCapability
- Replace removed
JsonGeneratorcapability methods withStreamWriteCapability - In Jackson 3,
JsonGenerator.canWriteBinaryNatively()andcanWriteFormattedNumbers()were removed and replaced with theStreamWriteCapabilityenum. This recipe updates these method calls to usegetWriteCapabilities().isEnabled(StreamWriteCapability.*)instead.
- Replace removed
- org.openrewrite.java.jackson.SimplifyJacksonExceptionCatch
- Simplify catch clauses for Jackson exceptions
- In Jackson 3,
JacksonExceptionand its subtypes extendRuntimeException. This recipe simplifies multi-catch clauses by removing Jackson exception types whenRuntimeExceptionis also caught, since catching both is redundant. For example,catch (JacksonException | RuntimeException e)becomescatch (RuntimeException e).
- org.openrewrite.java.jackson.UpdateSerializationInclusionConfiguration
- Update configuration of serialization inclusion in ObjectMapper for Jackson 3
- In Jackson 3,
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL)is no longer supported and should be replaced bychangeDefaultPropertyInclusion()for bothvalueInclusionandcontentInclusion.
- org.openrewrite.java.jackson.UpgradeJackson_2_3
- Migrates from Jackson 2.x to Jackson 3.x
- 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()).
- org.openrewrite.java.jackson.UpgradeJackson_2_3_Dependencies
- Upgrade Jackson 2.x dependencies to 3.x
- Upgrade Jackson Maven dependencies from 2.x to 3.x versions and update group IDs.
- org.openrewrite.java.jackson.UpgradeJackson_2_3_JsonGeneratorMethodRenames
- Rename Jackson 2.x methods to 3.x equivalents for JsonGenerator
- Rename JsonGenerator methods that were renamed in 3.x (e.g.,
writeObject()towritePOJO(),getCurrentValue()tocurrentValue()).
- org.openrewrite.java.jackson.UpgradeJackson_2_3_JsonNodeMethodRenames
- Rename Jackson 2.x methods to 3.x equivalents for JsonNode
- Rename JsonNode methods that were renamed in 3.x (e.g.,
elements()tovalues(),fields()toentries()).
- org.openrewrite.java.jackson.UpgradeJackson_2_3_JsonParserMethodRenames
- Rename Jackson 2.x methods to 3.x equivalents for JsonParser
- Rename JsonParser methods that were renamed in 3.x (e.g.,
getTextCharacters()togetStringCharacters(),getCurrentValue()tocurrentValue()).
- org.openrewrite.java.jackson.UpgradeJackson_2_3_MethodRenames
- Rename Jackson 2.x methods to 3.x equivalents
- Rename Jackson methods that were renamed in 3.x (e.g.,
writeObject()towritePOJO(),getCurrentValue()tocurrentValue()).
- org.openrewrite.java.jackson.UpgradeJackson_2_3_PackageChanges
- Update Jackson package names from 2.x to 3.x
- Update Jackson package imports from
com.fasterxml.jacksontotools.jackson.
- org.openrewrite.java.jackson.UpgradeJackson_2_3_RemoveRedundantFeatureFlags
- Remove redundant Jackson 3 feature flag configurations
- Remove
ObjectMapperfeature flag configurations that are now defaults in Jackson 3.
- org.openrewrite.java.jackson.UpgradeJackson_2_3_TypeChanges
- Update Jackson 2.x types to 3.x
- Update Jackson type names including exception types and core class renames.
- org.openrewrite.java.jackson.UseModernDateTimeSerialization
- Use modern date/time serialization defaults
- Remove redundant
@JsonFormatannotations onjava.timetypes that specify ISO-8601 patterns, as Jackson 3 uses ISO-8601 as the default format (withWRITE_DATES_AS_TIMESTAMPSnow disabled by default).
jacoco
1 recipe
- org.openrewrite.java.migrate.jacoco.UpgradeJaCoCo
- Upgrade JaCoCo
- This recipe will upgrade JaCoCo to the latest patch version, which traditionally advertises full backwards compatibility for older Java versions.
jakarta
100 recipes
- com.oracle.weblogic.rewrite.FacesMigrationToJakartaFaces2x
- JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older
- Jakarta EE 8 uses Faces 2.3 a major upgrade to Jakarta packages and XML namespaces. This recipe will migrate JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older.
- com.oracle.weblogic.rewrite.JakartaEE9_1
- Migrate to Jakarta EE 9.1
- These recipes help with Migration to Jakarta EE 9.1, flagging and updating deprecated methods.
- com.oracle.weblogic.rewrite.hibernate.AddHibernateOrmCore61
- Add Hibernate ORM Core if has dependencies
- This recipe will add Hibernate ORM Core if has dependencies.
- com.oracle.weblogic.rewrite.hibernate.MigrateHibernateToJakartaEE9
- Migrate to Hibernate for Jakarta EE 9
- Upgrade hibernate libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.AddJakartaEE9ServletDependencyIfUsingServletContext
- Add Jakarta EE 9 Servlet Dependency
- Add Jakarta EE 9 Servlet Dependency if using jakarta.servlet.ServletContext
- com.oracle.weblogic.rewrite.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Server Faces 3.x
- Jakarta EE 9 uses Faces 3.0 a major upgrade to Jakarta packages and XML namespaces.
- com.oracle.weblogic.rewrite.jakarta.JakartaEeNamespaces9_1
- Migrate from JavaX to Jakarta EE 9.1 Namespaces
- These recipes help with Migration From JavaX to Jakarta EE 9.1 Namespaces.
- com.oracle.weblogic.rewrite.jakarta.JakartaFaces3Xhtml
- Faces XHTML migration for Jakarta EE 9
- Find and replace legacy JSF namespaces and javax references with Jakarta Faces values in XHTML files.
- com.oracle.weblogic.rewrite.jakarta.JavaxAnnotationMigrationToJakarta9Annotation
- Migrate deprecated
javax.annotationtojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- com.oracle.weblogic.rewrite.jakarta.JavaxApplicationClientXmlToJakarta9ApplicationClientXml
- Migrate xmlns entries in
application-client.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxApplicationXmlToJakarta9ApplicationXml
- Migrate xmlns entries in
application.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxBatchJobsXmlsToJakarta9BatchJobsXmls
- Migrate xmlns entries in
**/batch-jobs/*.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxBatchXmlToJakarta9BatchXml
- Migrate xmlns entries in
batch.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxBeansXmlToJakarta9BeansXml
- Migrate xmlns entries in
beans.xmlfiles for Beans 3.0. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxBindingsSchemaXjbsToJakarta9BindingsSchemaXjbs
- Migrate xmlns entries in
*.xjbfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxEjbJarXmlToJakarta9EjbJarXml
- Migrate xmlns entries in
ejb-jar.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesConfigXmlToJakartaFaces3ConfigXml
- Migrate xmlns entries in
faces-config.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesTagLibraryXmlToJakartaFaces3TagLibraryXml
- Migrate xmlns entries in
*taglib*.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxJmsToJakartaJmsOnMdb
- Migrate javax.jms to jakarta.jms on MDB
- Migrate javax.jms to jakarta.jms on MDB
- com.oracle.weblogic.rewrite.jakarta.JavaxPermissionsXmlToJakarta9PermissionsXml
- Migrate xmlns entries in
permissions.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxRaXmlToJakarta9RaXml
- Migrate xmlns entries in
ra.xmlfiles (Connectors). - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxTestWebXmlToJakartaTestWebXml5
- Migrate xmlns entries in
test-web.xmlfiles for Jakarta Server Faces 3 using test interfaces - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation for test interfaces like arquillian.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxTestXmlsToJakartaTestsXmls
- Migrate xmlns entries in
test-*.xmlfiles for Jakarta EE 9.1 using test interfaces - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation for test interfaces like arquillian.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxValidationMappingXmlsToJakarta9ValidationMappingXmls
- Migrate xmlns entries in
**/validation/*.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml5
- Migrate xmlns entries in
web-fragment.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebHandlerXmlToJakarta9HandlerXml
- Migrate xmlns entries in
handler.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebJspTagLibraryTldsToJakarta9WebJspTagLibraryTlds
- Migrate xmlns entries in
*.tldfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebServicesXmlToJakarta9WebServicesXml
- Migrate xmlns entries in
webservices.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebXmlToJakartaWebXml5
- Migrate xmlns entries in
web.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.MigrateJavaxMVCToJakartaEE9
- Migrate javax.mvc to 2.0 (Jakarta EE 9)
- Upgrade Jakarta Model-View-Controller libraries to 2.0 (Jakarta EE9) versions.
- com.oracle.weblogic.rewrite.jakarta.MigrateJavaxWebToJakartaWeb9
- Migrate javax.javaee-web-api to jakarta.jakartaee-web-api (Jakarta EE 9)
- Update Java EE Web API dependency to Jakarta EE Web Profile API 9.1
- com.oracle.weblogic.rewrite.jakarta.MigrateTagLibsToJakartaEE9
- Migrate Tag Libraries to 2.0 (Jakarta EE 9)
- Upgrade Jakarta Standard Tag libraries to 2.0 (Jakarta EE9) versions.
- com.oracle.weblogic.rewrite.jakarta.MitigateUnaffectedNonEEJakarta9Packages
- Mitigate Unaffected Non-EE Jakarta 9 Packages
- Mitigate Unaffected Non-EE Jakarta 9 Packages. Reference: https://github.com/jakartaee/platform/blob/main/namespace/unaffected-packages.adoc
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPlatform9_1
- Update Jakarta EE Platform Dependencies to 9.1.0
- Update Jakarta EE Platform Dependencies to 9.1.0
- com.oracle.weblogic.rewrite.jakarta.UpgradeCommonOpenSourceLibraries
- Upgrade Common open source libraries
- Upgrade Common open source libraries libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries2
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries3
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeMavenPluginConfigurationArtifacts
- Change artifacts for a Maven plugin configuration
- Change artifacts for a Maven plugin configuration artifacts.
- io.quarkus.updates.core.quarkus30.ChangeJavaxAnnotationToJakarta
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation. Excludes
javax.annotation.processing.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxActivationMigrationToJakartaActivation
- Migrate deprecated
javax.activationpackages tojakarta.activation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationMigrationToJakartaAnnotation
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationPackageToJakarta
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Change type of classes in the
javax.annotationpackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationSecurityPackageToJakarta
- Migrate deprecated
javax.annotation.securitypackages tojakarta.annotation.security - Change type of classes in the
javax.annotation.securitypackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationSqlPackageToJakarta
- Migrate deprecated
javax.annotation.sqlpackages tojakarta.annotation.sql - Change type of classes in the
javax.annotation.sqlpackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxBatchMigrationToJakartaBatch
- Migrate deprecated
javax.batchpackages tojakarta.batch - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxInjectMigrationToJakartaInject
- Migrate deprecated
javax.injectpackages tojakarta.inject - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxTransactionMigrationToJakartaTransaction
- Migrate deprecated
javax.transactionpackages tojakarta.transaction - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxValidationMigrationToJakartaValidation
- Migrate deprecated
javax.validationpackages tojakarta.validation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxXmlBindMigrationToJakartaXmlBind
- Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxXmlWsMigrationToJakartaXmlWs
- Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.Java8toJava11
- Migrate to Java 11
- This recipe will apply changes commonly needed when upgrading to Java 11. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 11 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 11.
- org.openrewrite.java.migrate.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Faces 3.x
- Jakarta EE 9 uses Faces 3.0, a major upgrade to Jakarta packages and XML namespaces.
- org.openrewrite.java.migrate.jakarta.Faces3xMigrationToFaces4x
- Upgrade to Jakarta Faces 4.x
- Jakarta EE 10 uses Faces 4.0.
- org.openrewrite.java.migrate.jakarta.Faces4xMigrationToFaces41x
- Jakarta Faces 4.0 to 4.1
- Jakarta EE 11 uses Faces 4.1 a minor upgrade.
- org.openrewrite.java.migrate.jakarta.JakartaEE10
- Migrate to Jakarta EE 10
- These recipes help with the Migration to Jakarta EE 10, flagging and updating deprecated methods.
- org.openrewrite.java.migrate.jakarta.JakartaEE11
- Migrate to Jakarta EE 11
- These recipes help with the Migration to Jakarta EE 11, flagging and updating deprecated methods.
- org.openrewrite.java.migrate.jakarta.JakartaFacesConfigXml4
- Migrate xmlns entries in
faces-config.xmlfiles - Jakarta EE 10 uses Faces version 4.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaFacesEcmaScript
- Migrate JSF values inside EcmaScript files
- Convert JSF to Faces values inside JavaScript,TypeScript, and Properties files.
- org.openrewrite.java.migrate.jakarta.JakartaFacesTagLibraryXml4
- Migrate xmlns entries in
taglib.xmlfiles - Faces 4 uses facelet-taglib 4.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaFacesXhtmlEE10
- Faces XHTML migration for Jakarta EE 10
- Find and replace legacy JSF namespace URIs with Jakarta Faces URNs in XHTML files.
- org.openrewrite.java.migrate.jakarta.JakartaFacesXhtmlEE9
- Faces XHTML migration for Jakarta EE 9
- Find and replace javax references to jakarta in XHTML files.
- org.openrewrite.java.migrate.jakarta.JakartaWebFragmentXml6
- Migrate xmlns entries in
web-fragment.xmlfiles - Faces 4 uses web-fragment 6.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaWebXml6
- Migrate xmlns entries in
web.xmlfiles - Faces 4 uses web-app 6.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxActivationMigrationToJakartaActivation
- Migrate deprecated
javax.activationpackages tojakarta.activation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAnnotationMigrationToJakartaAnnotation
- Migrate deprecated
javax.annotationtojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxBatchMigrationToJakartaBatch
- Migrate deprecated
javax.batchpackages tojakarta.batch - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxBeanValidationXmlToJakartaBeanValidationXml
- Migrate xmlns entries and javax. packages in
validation.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries and javax. packages in
- org.openrewrite.java.migrate.jakarta.JavaxBeansXmlToJakartaBeansXml
- Migrate xmlns entries in
beans.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxEjbJarXmlToJakartaEjbJarXml
- Migrate xmlns entries and javax. packages in
ejb-jar.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries and javax. packages in
- org.openrewrite.java.migrate.jakarta.JavaxFacesConfigXmlToJakartaFacesConfigXml
- Migrate xmlns entries in
faces-config.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxFacesTagLibraryXmlToJakartaFacesTagLibraryXml
- Migrate xmlns entries in
taglib.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxInjectMigrationToJakartaInject
- Migrate deprecated
javax.injectpackages tojakarta.inject - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta
- Migrate to Jakarta EE 9
- Jakarta EE 9 is the first version of Jakarta EE that uses the new
jakartanamespace.
- org.openrewrite.java.migrate.jakarta.JavaxOrmXmlToJakartaOrmXml
- Migrate xmlns entries in
orm.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxTransactionMigrationToJakartaTransaction
- Migrate deprecated
javax.transactionpackages tojakarta.transaction - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxValidationMigrationToJakartaValidation
- Migrate deprecated
javax.validationpackages tojakarta.validation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml
- Migrate xmlns entries in
web-fragment.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxWebXmlToJakartaWebXml
- Migrate xmlns entries in
web.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxXmlBindMigrationToJakartaXmlBind
- Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxXmlToJakartaXmlXJCBinding
- Migrate XJC Bindings to Jakata XML
- Java EE has been rebranded to Jakarta EE, migrates the namespace and version in XJC bindings.
- org.openrewrite.java.migrate.jakarta.JavaxXmlWsMigrationToJakartaXmlWs
- Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.MigrationToJakarta10Apis
- Migrate Jakarta EE 9 api dependencies to Jakarta EE 10 versions
- Jakarta EE 10 updates some apis compared to Jakarta EE 9.
- org.openrewrite.java.migrate.jakarta.OmniFacesNamespaceMigration
- OmniFaces Namespace Migration
- Find and replace legacy OmniFaces namespaces.
- org.openrewrite.java.migrate.jakarta.UpdateManagedBeanToNamed
- Update Faces
@ManagedBeanto use CDI@Named - Faces ManagedBean was deprecated in JSF 2.3 (EE8) and removed in Jakarta Faces 4.0 (EE10). Replace
@ManagedBeanwith@Namedfor CDI-based bean management.
- Update Faces
- org.openrewrite.java.migrate.jakarta.UpgradeFaces3OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces41OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade OmniFaces and MyFaces/Mojarra libraries to Jakarta EE11 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces4OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
- org.openrewrite.java.migrate.javax.AddCommonAnnotationsDependencies
- Add explicit Common Annotations dependencies
- Add the necessary
annotation-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
- org.openrewrite.java.migrate.javax.AddInjectDependencies
- Add explicit Inject dependencies
- Add the necessary
inject-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
- org.openrewrite.java.migrate.javax.AddJaxbAPIDependencies
- Add explicit JAXB API dependencies
- This recipe will add explicit API dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithRuntime
- Add explicit JAXB API dependencies and runtime
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithoutRuntime
- Add explicit JAXB API dependencies and remove runtimes
- 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.bindnamespace. All JAXB runtime implementation dependencies are removed.
- org.openrewrite.java.migrate.javax.AddJaxbRuntime
- Use latest JAXB API and runtime for Jakarta EE 8
- Update build files to use the latest JAXB runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAXB run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAXB API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.AddJaxwsDependencies
- Add explicit JAX-WS dependencies
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAX-WS. Any existing dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 but the application can continue to use the
javax.xml.bindnamespace.
- org.openrewrite.java.migrate.javax.AddJaxwsRuntime
- Use the latest JAX-WS API and runtime for Jakarta EE 8
- Update build files to use the latest JAX-WS runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAX-WS run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAX-WS API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.openapi.swagger.UseJakartaSwaggerArtifacts
- Use Jakarta Swagger Artifacts
- Migrate from javax Swagger artifacts to Jakarta versions.
jakartaee
6 recipes
- com.oracle.weblogic.rewrite.FacesMigrationToJakartaFaces2x
- JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older
- Jakarta EE 8 uses Faces 2.3 a major upgrade to Jakarta packages and XML namespaces. This recipe will migrate JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older.
- com.oracle.weblogic.rewrite.JakartaEE9_1
- Migrate to Jakarta EE 9.1
- These recipes help with Migration to Jakarta EE 9.1, flagging and updating deprecated methods.
- com.oracle.weblogic.rewrite.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Server Faces 3.x
- Jakarta EE 9 uses Faces 3.0 a major upgrade to Jakarta packages and XML namespaces.
- com.oracle.weblogic.rewrite.jakarta.JakartaEeNamespaces9_1
- Migrate from JavaX to Jakarta EE 9.1 Namespaces
- These recipes help with Migration From JavaX to Jakarta EE 9.1 Namespaces.
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPersistenceTo31
- Update Jakarta Persistence to 3.1
- Update Jakarta Persistence to 3.1.
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPersistenceTo32
- Update Jakarta Persistence to 3.2
- Update Jakarta Persistence to 3.2.
jasperreports
4 recipes
- io.moderne.jasperreports.MigrateExporterConfigToJasper6
- Update JasperReports exporter configuration
- Updates deprecated exporter parameter imports to the new configuration classes introduced in JasperReports 6. This includes migrating from parameter classes to configuration classes for PDF, HTML, CSV, and other exporters.
- io.moderne.jasperreports.MigrateXlsToXlsxExporter
- Migrate JRXlsExporter to JRXlsxExporter
- Migrates the deprecated
JRXlsExporterto the newJRXlsxExporterclass in JasperReports 6. Also updates related configuration classes from XLS to XLSX variants.
- io.moderne.jasperreports.UpgradeToJasperReports5
- Migrate to JasperReports 5.6.x
- Migrates JasperReports from 4.6.0 to 5.6.x. This recipe includes minimal breaking changes, allowing teams to test and validate the migration before proceeding to version 6.
- io.moderne.jasperreports.UpgradeToJasperReports6
- Migrate to JasperReports 6
- Migrates JasperReports from 5.x to 6.x with the new exporter API, XLS to XLSX move, and removal of Spring JasperReports views.
java
10 recipes
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1412
- Migrate WebLogic Schemas to 14.1.2
- This recipe will migrate WebLogic schemas to 14.1.2
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1511
- Migrate WebLogic Schemas to 15.1.1
- This recipe will migrate WebLogic schemas to 15.1.1
- com.oracle.weblogic.rewrite.UpgradeTo1411
- Migrate to WebLogic 14.1.1
- This recipe will apply changes required for migrating to WebLogic 14.1.1
- com.oracle.weblogic.rewrite.UpgradeTo1412
- Migrate to WebLogic 14.1.2
- This recipe will apply changes required for migrating to WebLogic 14.1.2
- com.oracle.weblogic.rewrite.UpgradeTo1511
- Migrate to WebLogic 15.1.1
- This recipe will apply changes required for migrating to WebLogic 15.1.1 and Jakarta EE 9.1
- com.oracle.weblogic.rewrite.WebLogic1412JavaXmlBindMitigation
- Mitigation of Java XML Bind Deprecation in Java 11 vs WebLogic 14.1.2
- This recipe will mitigate the Javax XML Bind deprecation in Java 11 vs WebLogic 14.1.2
- org.openrewrite.java.jspecify.JSpecifyBestPractices
- JSpecify best practices
- Apply JSpecify best practices, such as migrating off of alternatives, and adding missing
@Nullableannotations.
- org.openrewrite.java.jspecify.MigrateToJSpecify
- Migrate to JSpecify
- This recipe will migrate to JSpecify annotations from various other nullability annotation standards.
- org.openrewrite.java.logging.log4j.JulToLog4j
- Migrate JUL to Log4j 2.x API
- Transforms code written using
java.util.loggingto use Log4j 2.x API.
- org.openrewrite.java.logging.slf4j.JulToSlf4j
- Migrate JUL to SLF4J
- Migrates usage of Java Util Logging (JUL) to using SLF4J directly.
java10
1 recipe
- org.openrewrite.java.migrate.lang.UseVar
- Use local variable type inference
- Apply local variable type inference (
var) for primitives and objects. These recipes can cause unused imports, be advised to run `org.openrewrite.java.RemoveUnusedImports afterwards.
java11
29 recipes
- org.openrewrite.java.migrate.IBMJDKtoOracleJDK
- Migrate from IBM Runtimes to Oracle Runtimes
- This recipe will apply changes commonly needed when upgrading Java versions. The solutions provided in this list are solutions necessary for migrating from IBM Runtimes to Oracle Runtimes.
- org.openrewrite.java.migrate.IBMSemeru
- Migrate to IBM Semeru Runtimes
- This recipe will apply changes commonly needed when upgrading Java versions. The solutions provided in this list are solutions only available in IBM Semeru Runtimes.
- org.openrewrite.java.migrate.InternalBindPackages
- Use
com.sun.xml.bind.*instead ofcom.sun.xml.internal.bind.* - Do not use APIs from
com.sun.xml.internal.bind.*packages.
- Use
- org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs
- Use
javax.net.sslinstead ofcom.sun.net.ssl - Do not use APIs from
com.sun.net.sslpackages.
- Use
- org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalSslProvider
- Use
com.ibm.jsse2instead ofcom.sun.net.ssl.internal.ssl - Do not use the
com.sun.net.ssl.internal.ssl.Providerclass.
- Use
- org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalWwwProtocol
- Use
com.ibm.net.ssl.www2.protocolinstead ofcom.sun.net.ssl.internal.www.protocol - Do not use the
com.sun.net.ssl.internal.www.protocolpackage.
- Use
- org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalWwwProtocolHttpsHandler
- Use
com.ibm.net.ssl.www2.protocol.https.Handlerinstead ofcom.sun.net.ssl.internal.www.protocol.https.Handler - Do not use the
com.sun.net.ssl.internal.www.protocol.https.Handlerclass.
- Use
- org.openrewrite.java.migrate.Java8toJava11
- Migrate to Java 11
- This recipe will apply changes commonly needed when upgrading to Java 11. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 11 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 11.
- org.openrewrite.java.migrate.Krb5LoginModuleClass
- Use
com.sun.security.auth.module.Krb5LoginModuleinstead ofcom.ibm.security.auth.module.Krb5LoginModule - Do not use the
com.ibm.security.auth.module.Krb5LoginModuleclass.
- Use
- org.openrewrite.java.migrate.RemovedJavaXMLWSModuleProvided
- Do not package
java.xml.wsmodule in WebSphere Liberty applications - The
java.xml.wsmodule was removed in Java11. Websphere Liberty provides its own implementation of the module, which can be used by specifying thejaxws-2.2feature in the server.xml file. This recipe updates thejavax.xml.wsdependency to use theprovidedscope to avoid class loading issues.
- Do not package
- org.openrewrite.java.migrate.RemovedJaxBModuleProvided
- Do not package
java.xml.bindandjava.activationmodules in WebSphere Liberty applications - The
java.xml.bindandjava.activationmodules were removed in Java11. Websphere Liberty provides its own implementation of the modules, which can be used by specifying thejaxb-2.2feature in the server.xml file. This recipe updates thejavax.xml.bindandjavax.activationdependencies to use theprovidedscope to avoid class loading issues.
- Do not package
- org.openrewrite.java.migrate.RemovedPolicy
- Replace
javax.security.auth.Policywithjava.security.Policy - The
javax.security.auth.Policyclass is not available from Java SE 11 onwards.
- Replace
- org.openrewrite.java.migrate.ThreadStopDestroy
- Remove
Thread.destroy()andThread.stop(Throwable) - The
java.lang.Thread.destroy()method was never implemented, and thejava.lang.Thread.stop(java.lang.Throwable)method has been unusable since Java SE 8. This recipe removes any usage of these methods from your application.
- Remove
- org.openrewrite.java.migrate.UpgradeBuildToJava11
- Upgrade build to Java 11
- Updates build files to use Java 11 as the target/source.
- org.openrewrite.java.migrate.UpgradePluginsForJava11
- Upgrade plugins to Java 11 compatible versions
- Updates plugins to version compatible with Java 11.
- org.openrewrite.java.migrate.cobertura.RemoveCoberturaMavenPlugin
- Remove Cobertura Maven plugin
- This recipe will remove Cobertura, as it is not compatible with Java 11.
- org.openrewrite.java.migrate.guava.NoGuavaJava11
- Prefer the Java 11 standard library instead of Guava
- Guava filled in important gaps in the Java standard library and still does. But at least some of Guava's API surface area is covered by the Java standard library now, and some projects may be able to remove Guava altogether if they migrate to standard library for these functions.
- org.openrewrite.java.migrate.guava.PreferJavaUtilObjectsRequireNonNullElse
- Prefer
java.util.Objects#requireNonNullElse - Prefer
java.util.Objects#requireNonNullElseinstead of usingcom.google.common.base.MoreObjects#firstNonNull.
- Prefer
- org.openrewrite.java.migrate.javax.AddCommonAnnotationsDependencies
- Add explicit Common Annotations dependencies
- Add the necessary
annotation-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
- org.openrewrite.java.migrate.javax.AddInjectDependencies
- Add explicit Inject dependencies
- Add the necessary
inject-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
- org.openrewrite.java.migrate.javax.AddJaxbAPIDependencies
- Add explicit JAXB API dependencies
- This recipe will add explicit API dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithRuntime
- Add explicit JAXB API dependencies and runtime
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithoutRuntime
- Add explicit JAXB API dependencies and remove runtimes
- 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.bindnamespace. All JAXB runtime implementation dependencies are removed.
- org.openrewrite.java.migrate.javax.AddJaxbRuntime
- Use latest JAXB API and runtime for Jakarta EE 8
- Update build files to use the latest JAXB runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAXB run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAXB API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.AddJaxwsDependencies
- Add explicit JAX-WS dependencies
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAX-WS. Any existing dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 but the application can continue to use the
javax.xml.bindnamespace.
- org.openrewrite.java.migrate.javax.AddJaxwsRuntime
- Use the latest JAX-WS API and runtime for Jakarta EE 8
- Update build files to use the latest JAX-WS runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAX-WS run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAX-WS API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.MigrateJaxBWSPlugin
- Migrate JAXB-WS Plugin
- Upgrade the JAXB-WS Maven plugin to be compatible with Java 11.
- org.openrewrite.java.migrate.lombok.UpdateLombokToJava11
- Migrate Lombok to a Java 11 compatible version
- Update Lombok dependency to a version that is compatible with Java 11 and migrate experimental Lombok types that have been promoted.
- org.openrewrite.java.migrate.nio.file.PathsGetToPathOf
- Replace
Paths.getwithPath.of - The
java.nio.file.Paths.getmethod was introduced in Java SE 7. Thejava.nio.file.Path.ofmethod was introduced in Java SE 11. This recipe replaces all usages ofPaths.getwithPath.offor consistency.
- Replace
java17
23 recipes
- io.quarkus.updates.core.quarkus37.DeprecatedJavaxSecurityCert
- Use
java.security.certinstead ofjavax.security.cert - The
javax.security.certpackage has been deprecated for removal.
- Use
- io.quarkus.updates.core.quarkus37.DeprecatedLogRecordThreadID
- Adopt
setLongThreadIDinjava.util.logging.LogRecord - Avoid using the deprecated methods in
java.util.logging.LogRecord
- Adopt
- io.quarkus.updates.core.quarkus37.JavaVersion17
- Change Maven and Gradle Java version property values to 17
- Change maven.compiler.source and maven.compiler.target values to 17.
- io.quarkus.updates.core.quarkus37.Jre17AgentMainPreMainPublic
- Set visibility of
premainandagentmainmethods topublic - Check for a behavior change in Java agents.
- Set visibility of
- io.quarkus.updates.core.quarkus37.RemovedLegacySunJSSEProviderName
- Use
SunJSSEinstead ofcom.sun.net.ssl.internal.ssl.Provider - The
com.sun.net.ssl.internal.ssl.Providerprovider name was removed.
- Use
- io.quarkus.updates.core.quarkus37.UpgradeToJava17
- Migrate to Java 17
- This recipe will apply changes commonly needed when migrating to Java 17. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 17 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 17.
- org.apache.camel.upgrade.JavaVersion17
- Change Maven Java version property values to 17
- Change maven.compiler.source and maven.compiler.target values to 17.
- org.apache.camel.upgrade.UpgradeToJava17
- Migrate to Java 17
- This recipe will apply changes commonly needed when migrating to Java 17. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 17 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 17.
- org.openrewrite.java.migrate.AddLombokMapstructBinding
- Add
lombok-mapstruct-bindingwhen both MapStruct and Lombok are used - Add the
lombok-mapstruct-bindingannotation processor as needed when both MapStruct and Lombok are used.
- Add
- org.openrewrite.java.migrate.DeprecatedCountStackFramesMethod
- Remove
Thread.countStackFrames()method Thread.countStackFrames()has been removed in Java SE 14 and has been changed in this release to unconditionally throwUnsupportedOperationExceptionThis recipe removes the usage of this method in your application as long as the method is not assigned to a variable. For more information on the Java SE 14 deprecation of this method, see https://bugs.java.com/bugdatabase/view_bug?bug_id=8205132.
- Remove
- org.openrewrite.java.migrate.DeprecatedJavaxSecurityCert
- Use
java.security.certinstead ofjavax.security.cert - The
javax.security.certpackage has been deprecated for removal.
- Use
- org.openrewrite.java.migrate.DeprecatedLogRecordThreadID
- Adopt
setLongThreadIDinjava.util.logging.LogRecord - Avoid using the deprecated methods in
java.util.logging.LogRecord.
- Adopt
- org.openrewrite.java.migrate.Jre17AgentMainPreMainPublic
- Set visibility of
premainandagentmainmethods topublic - Check for a behavior change in Java agents.
- Set visibility of
- org.openrewrite.java.migrate.RemovedFileIOFinalizeMethods
- Replace
finalizemethod injava.io.FileInputStreamandjava.io.FileOutputStream - The
finalizemethod injava.io.FileInputStreamandjava.io.FileOutputStreamis no longer available in Java SE 12 and later. The recipe replaces it with theclosemethod.
- Replace
- org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName
- Use
SunJSSEinstead ofcom.sun.net.ssl.internal.ssl.Provider - The
com.sun.net.ssl.internal.ssl.Providerprovider name was removed.
- Use
- org.openrewrite.java.migrate.RemovedRMIConnectorServerCredentialTypesConstant
- Replace
RMIConnectorServer.CREDENTIAL_TYPESconstant - This recipe replaces the
RMIConnectorServer.CREDENTIAL_TYPESconstant with theRMIConnectorServer.CREDENTIALS_FILTER_PATTERNconstant.
- Replace
- org.openrewrite.java.migrate.RemovedRuntimeTraceMethods
- Remove
Runtime.traceInstructions(boolean)andRuntime.traceMethodCallsmethods - The
traceInstructionsandtraceMethodCallsmethods injava.lang.Runtimewere deprecated in Java SE 9 and are no longer available in Java SE 13 and later. The recipe removes the invocations of these methods since the method invocations do nothing functionally.
- Remove
- org.openrewrite.java.migrate.RemovedSSLSessionGetPeerCertificateChainMethodImpl
- Replace
SSLSession.getPeerCertificateChain()method - The
javax.net.ssl.SSLSession.getPeerCertificateChain()method implementation was removed from the SunJSSE provider and HTTP client implementation in Java SE 15. The default implementation will now throw anUnsupportedOperationException. Applications using this method should be updated to use thejavax.net.ssl.SSLSession.getPeerCertificates()method instead.
- Replace
- org.openrewrite.java.migrate.RemovedZipFinalizeMethods
- Replace
finalizemethod injava.util.zip.ZipFile,java.util.zip.Inflaterandjava.util.zip.Deflater - The
finalizemethod injava.util.zip.ZipFileis replaced with theclosemethod and is replaced by theendmethod injava.util.zip.Inflaterandjava.util.zip.Deflateras it is no longer available in Java SE 12 and later.
- Replace
- org.openrewrite.java.migrate.SunNetSslPackageUnavailable
- Replace
com.sun.net.sslpackage - The internal API
com.sun.net.sslis removed. The package was intended for internal use only and replacement APIs can be found in thejavax.net.sslpackage.
- Replace
- org.openrewrite.java.migrate.UpgradeBuildToJava17
- Upgrade build to Java 17
- Updates build files to use Java 17 as the target/source.
- org.openrewrite.java.migrate.UpgradePluginsForJava17
- Upgrade plugins to Java 17 compatible versions
- Updates plugins to version compatible with Java 17.
- org.openrewrite.java.migrate.UpgradeToJava17
- Migrate to Java 17
- This recipe will apply changes commonly needed when migrating to Java 17. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 17 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 17.
java21
11 recipes
- org.openrewrite.java.migrate.DeleteDeprecatedFinalize
- Avoid using the deprecated empty
finalize()method injava.desktop - The java.desktop module had a few implementations of finalize() that did nothing and have been removed. This recipe will remove these methods.
- Avoid using the deprecated empty
- org.openrewrite.java.migrate.RemovedSubjectMethods
- Adopt
javax.security.auth.Subject.current()andjavax.security.auth.Subject.callAs()methods` - Replaces the
javax.security.auth.Subject.getSubject()andjavax.security.auth.Subject.doAs()methods withjavax.security.auth.Subject.current()andjavax.security.auth.Subject.callAs().
- Adopt
- org.openrewrite.java.migrate.SwitchPatternMatching
- Adopt switch pattern matching (JEP 441)
- JEP 441 describes how some switch statements can be improved with pattern matching. This recipe applies some of those improvements where applicable.
- org.openrewrite.java.migrate.UpgradeBuildToJava21
- Upgrade build to Java 21
- Updates build files to use Java 21 as the target/source.
- org.openrewrite.java.migrate.UpgradePluginsForJava21
- Upgrade plugins to Java 21 compatible versions
- Updates plugins and dependencies to version compatible with Java 21.
- org.openrewrite.java.migrate.UpgradeToJava21
- Migrate to Java 21
- This recipe will apply changes commonly needed when migrating to Java 21. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 21 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 21.
- org.openrewrite.java.migrate.guava.NoGuavaJava21
- Prefer the Java 21 standard library instead of Guava
- Guava filled in important gaps in the Java standard library and still does. But at least some of Guava's API surface area is covered by the Java standard library now, and some projects may be able to remove Guava altogether if they migrate to standard library for these functions.
- org.openrewrite.java.migrate.guava.PreferMathClamp
- Prefer
Math#clamp - Prefer
java.lang.Math#clampinstead of usingcom.google.common.primitives.*#constrainToRange.
- Prefer
- org.openrewrite.java.migrate.lang.FindNonVirtualExecutors
- Find non-virtual
ExecutorServicecreation - Find all places where static
java.util.concurrent.Executorsmethod creates a non-virtualjava.util.concurrent.ExecutorService. This recipe can be used to search froExecutorServicethat can be replaced by Virtual Thread executor.
- Find non-virtual
- org.openrewrite.java.migrate.lang.FindVirtualThreadOpportunities
- Find Virtual Thread opportunities
- Find opportunities to convert existing code to use Virtual Threads.
- org.openrewrite.java.migrate.util.SequencedCollection
- Adopt
SequencedCollection - Replace older code patterns with
SequencedCollectionmethods, as per https://openjdk.org/jeps/431.
- Adopt
java25
5 recipes
- org.openrewrite.java.migrate.AccessController
- Remove Security AccessController
- The Security Manager API is unsupported in Java 24. This recipe will remove the usage of
java.security.AccessController.
- org.openrewrite.java.migrate.RemoveSecurityManager
- Remove Security SecurityManager
- The Security Manager API is unsupported in Java 24. This recipe will remove the usage of
java.security.SecurityManager.
- org.openrewrite.java.migrate.RemoveSecurityPolicy
- Remove Security Policy
- The Security Manager API is unsupported in Java 24. This recipe will remove the use of
java.security.Policy.
- org.openrewrite.java.migrate.SystemGetSecurityManagerToNull
- Replace
System.getSecurityManager()withnull - The Security Manager API is unsupported in Java 24. This recipe will replace
System.getSecurityManager()withnullto make its behavior more obvious and try to simplify execution paths afterwards.
- Replace
- org.openrewrite.java.migrate.UpgradeToJava25
- Migrate to Java 25
- This recipe will apply changes commonly needed when migrating to Java 25. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 25 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 25.
java6
1 recipe
- org.openrewrite.java.migrate.UpgradeToJava6
- Migrate to Java 6
- This recipe will apply changes commonly needed when upgrading to Java 6. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy.
java7
1 recipe
- org.openrewrite.java.migrate.UpgradeToJava7
- Migrate to Java 7
- This recipe will apply changes commonly needed when upgrading to Java 7. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy.
java8
1 recipe
- org.openrewrite.java.migrate.UpgradeToJava8
- Migrate to Java 8
- This recipe will apply changes commonly needed when upgrading to Java 8. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy.
javaee
2 recipes
- org.openrewrite.java.migrate.javax.AddJaxbRuntime
- Use latest JAXB API and runtime for Jakarta EE 8
- Update build files to use the latest JAXB runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAXB run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAXB API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.AddJaxwsRuntime
- Use the latest JAX-WS API and runtime for Jakarta EE 8
- Update build files to use the latest JAX-WS runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAX-WS run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAX-WS API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
javaee6
1 recipe
- org.openrewrite.java.migrate.javaee6
- Migrate to JavaEE6
- These recipes help with the Migration to Java EE 6, flagging and updating deprecated methods.
javaee7
2 recipes
- org.openrewrite.java.migrate.javaee7
- Migrate to JavaEE7
- These recipes help with the Migration to Java EE 7, flagging and updating deprecated methods.
- org.openrewrite.java.migrate.javax.openJPAToEclipseLink
- Migrate from OpenJPA to EclipseLink JPA
- These recipes help migrate Java Persistence applications using OpenJPA to EclipseLink JPA.
javaee8
1 recipe
- org.openrewrite.java.migrate.javaee8
- Migrate to JavaEE8
- These recipes help with the Migration to Java EE 8, flagging and updating deprecated methods.
javascript
1 recipe
- org.openrewrite.javascript.cleanup.async-callback-in-sync-array-method
- Detect async callbacks in synchronous array methods
- Detects async callbacks passed to array methods like .some(), .every(), .filter() which don't await promises. This is a common bug where Promise objects are always truthy.
javax
36 recipes
- com.oracle.weblogic.rewrite.FacesMigrationToJakartaFaces2x
- JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older
- Jakarta EE 8 uses Faces 2.3 a major upgrade to Jakarta packages and XML namespaces. This recipe will migrate JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older.
- com.oracle.weblogic.rewrite.WebLogic1412JavaXmlBindMitigation
- Mitigation of Java XML Bind Deprecation in Java 11 vs WebLogic 14.1.2
- This recipe will mitigate the Javax XML Bind deprecation in Java 11 vs WebLogic 14.1.2
- com.oracle.weblogic.rewrite.jakarta.JavaxAnnotationMigrationToJakarta9Annotation
- Migrate deprecated
javax.annotationtojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.ChangeJavaxAnnotationToJakarta
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation. Excludes
javax.annotation.processing.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxActivationMigrationToJakartaActivation
- Migrate deprecated
javax.activationpackages tojakarta.activation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationMigrationToJakartaAnnotation
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationPackageToJakarta
- Migrate deprecated
javax.annotationpackages tojakarta.annotation - Change type of classes in the
javax.annotationpackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationSecurityPackageToJakarta
- Migrate deprecated
javax.annotation.securitypackages tojakarta.annotation.security - Change type of classes in the
javax.annotation.securitypackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAnnotationSqlPackageToJakarta
- Migrate deprecated
javax.annotation.sqlpackages tojakarta.annotation.sql - Change type of classes in the
javax.annotation.sqlpackage to jakarta.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxBatchMigrationToJakartaBatch
- Migrate deprecated
javax.batchpackages tojakarta.batch - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxInjectMigrationToJakartaInject
- Migrate deprecated
javax.injectpackages tojakarta.inject - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxTransactionMigrationToJakartaTransaction
- Migrate deprecated
javax.transactionpackages tojakarta.transaction - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxValidationMigrationToJakartaValidation
- Migrate deprecated
javax.validationpackages tojakarta.validation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxXmlBindMigrationToJakartaXmlBind
- Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxXmlWsMigrationToJakartaXmlWs
- Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxActivationMigrationToJakartaActivation
- Migrate deprecated
javax.activationpackages tojakarta.activation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAnnotationMigrationToJakartaAnnotation
- Migrate deprecated
javax.annotationtojakarta.annotation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxBatchMigrationToJakartaBatch
- Migrate deprecated
javax.batchpackages tojakarta.batch - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxInjectMigrationToJakartaInject
- Migrate deprecated
javax.injectpackages tojakarta.inject - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxTransactionMigrationToJakartaTransaction
- Migrate deprecated
javax.transactionpackages tojakarta.transaction - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxValidationMigrationToJakartaValidation
- Migrate deprecated
javax.validationpackages tojakarta.validation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxXmlBindMigrationToJakartaXmlBind
- Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxXmlToJakartaXmlXJCBinding
- Migrate XJC Bindings to Jakata XML
- Java EE has been rebranded to Jakarta EE, migrates the namespace and version in XJC bindings.
- org.openrewrite.java.migrate.jakarta.JavaxXmlWsMigrationToJakartaXmlWs
- Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.javax.AddCommonAnnotationsDependencies
- Add explicit Common Annotations dependencies
- Add the necessary
annotation-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
- org.openrewrite.java.migrate.javax.AddInjectDependencies
- Add explicit Inject dependencies
- Add the necessary
inject-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
- org.openrewrite.java.migrate.javax.AddJaxbAPIDependencies
- Add explicit JAXB API dependencies
- This recipe will add explicit API dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithRuntime
- Add explicit JAXB API dependencies and runtime
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithoutRuntime
- Add explicit JAXB API dependencies and remove runtimes
- 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.bindnamespace. All JAXB runtime implementation dependencies are removed.
- org.openrewrite.java.migrate.javax.AddJaxbRuntime
- Use latest JAXB API and runtime for Jakarta EE 8
- Update build files to use the latest JAXB runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAXB run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAXB API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.AddJaxwsDependencies
- Add explicit JAX-WS dependencies
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAX-WS. Any existing dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 but the application can continue to use the
javax.xml.bindnamespace.
- org.openrewrite.java.migrate.javax.AddJaxwsRuntime
- Use the latest JAX-WS API and runtime for Jakarta EE 8
- Update build files to use the latest JAX-WS runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAX-WS run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAX-WS API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
jaxb
11 recipes
- com.oracle.weblogic.rewrite.jakarta.JavaxBindingsSchemaXjbsToJakarta9BindingsSchemaXjbs
- Migrate xmlns entries in
*.xjbfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- io.quarkus.updates.core.quarkus30.JavaxXmlBindMigrationToJakartaXmlBind
- Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.Java8toJava11
- Migrate to Java 11
- This recipe will apply changes commonly needed when upgrading to Java 11. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 11 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 11.
- org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta
- Migrate to Jakarta EE 9
- Jakarta EE 9 is the first version of Jakarta EE that uses the new
jakartanamespace.
- org.openrewrite.java.migrate.jakarta.JavaxXmlBindMigrationToJakartaXmlBind
- Migrate deprecated
javax.xml.bindpackages tojakarta.xml.bind - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxXmlToJakartaXmlXJCBinding
- Migrate XJC Bindings to Jakata XML
- Java EE has been rebranded to Jakarta EE, migrates the namespace and version in XJC bindings.
- org.openrewrite.java.migrate.javax.AddJaxbAPIDependencies
- Add explicit JAXB API dependencies
- This recipe will add explicit API dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithRuntime
- Add explicit JAXB API dependencies and runtime
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing 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.bindnamespace. Running a full javax to Jakarta migration usingorg.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartawill update to versions greater than 3.x which necessitates the package change as well.
- org.openrewrite.java.migrate.javax.AddJaxbDependenciesWithoutRuntime
- Add explicit JAXB API dependencies and remove runtimes
- 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.bindnamespace. All JAXB runtime implementation dependencies are removed.
- org.openrewrite.java.migrate.javax.AddJaxbRuntime
- Use latest JAXB API and runtime for Jakarta EE 8
- Update build files to use the latest JAXB runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAXB run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAXB API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
- org.openrewrite.java.migrate.javax.AddJaxwsDependencies
- Add explicit JAX-WS dependencies
- This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAX-WS. Any existing dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 but the application can continue to use the
javax.xml.bindnamespace.
jaxws
5 recipes
- io.quarkus.updates.core.quarkus30.JavaxXmlWsMigrationToJakartaXmlWs
- Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.Java8toJava11
- Migrate to Java 11
- This recipe will apply changes commonly needed when upgrading to Java 11. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 11 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 11.
- org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta
- Migrate to Jakarta EE 9
- Jakarta EE 9 is the first version of Jakarta EE that uses the new
jakartanamespace.
- org.openrewrite.java.migrate.jakarta.JavaxXmlWsMigrationToJakartaXmlWs
- Migrate deprecated
javax.xml.wspackages tojakarta.xml.ws - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.javax.AddJaxwsRuntime
- Use the latest JAX-WS API and runtime for Jakarta EE 8
- Update build files to use the latest JAX-WS runtime from Jakarta EE 8 to maintain compatibility with Java version 11 or greater. The recipe will add a JAX-WS run-time, in Gradle
compileOnly+testImplementationand Mavenprovidedscope, to any project that has a transitive dependency on the JAX-WS API. The resulting dependencies still use thejavaxnamespace, despite the move to the Jakarta artifact.
jboss
2 recipes
- org.openrewrite.java.logging.jboss.JBossLoggingBestPractices
- JBoss Logging Best Practices
- This recipe applies best practices for logging in JBoss applications. It includes converting argument arrays to varargs for better readability and performance.
- org.openrewrite.java.logging.slf4j.JBossLoggingToSlf4j
- Migrate JBoss Logging to SLF4J
- Migrates usage of the JBoss Logging facade to using SLF4J.
jdbc
4 recipes
- com.oracle.weblogic.rewrite.WebLogicJdbcXmlNamespace1412
- Migrate xmlns entries in
*-jdbc.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic JDBC schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJdbcXmlNamespace1511
- Migrate xmlns entries in
*-jdbc.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries in*-jdbc.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- org.openrewrite.quarkus.spring.MigrateDatabaseDrivers
- Migrate database drivers to Quarkus JDBC extensions
- Replaces Spring Boot database driver dependencies with their Quarkus JDBC extension equivalents.
- org.openrewrite.quarkus.spring.SpringBootJdbcToQuarkus
- Replace Spring Boot JDBC with Quarkus Agroal
- Migrates
spring-boot-starter-jdbctoquarkus-agroal.
JDK
1 recipe
- org.openrewrite.java.migrate.io.ReplaceFileInOrOutputStreamFinalizeWithClose
- Replace invocations of
finalize()onFileInputStreamandFileOutputStreamwithclose() - Replace invocations of the deprecated
finalize()method onFileInputStreamandFileOutputStreamwithclose().
- Replace invocations of
Jest
17 recipes
- org.openrewrite.codemods.cleanup.jest.ConsistentTestIt
- Enforce test and it usage conventions
- Enforce test and it usage conventions See rule details for jest/consistent-test-it.
- org.openrewrite.codemods.cleanup.jest.NoAliasMethods
- Disallow alias methods
- Disallow alias methods See rule details for jest/no-alias-methods.
- org.openrewrite.codemods.cleanup.jest.NoDeprecatedFunctions27
- Disallow use of deprecated functions from before version 27
- Disallow use of deprecated functions from before version 27 See rule details for jest/no-deprecated-functions.
- org.openrewrite.codemods.cleanup.jest.NoJasmineGlobals
- Disallow Jasmine globals
- Disallow Jasmine globals See rule details for jest/no-jasmine-globals.
- org.openrewrite.codemods.cleanup.jest.NoTestPrefixes
- Require using .only and .skip over f and x
- Require using .only and .skip over f and x See rule details for jest/no-test-prefixes.
- org.openrewrite.codemods.cleanup.jest.NoUntypedMockFactory
- Disallow using jest.mock() factories without an explicit type parameter
- Disallow using jest.mock() factories without an explicit type parameter See rule details for jest/no-untyped-mock-factory.
- org.openrewrite.codemods.cleanup.jest.PreferComparisonMatcher
- Suggest using the built-in comparison matchers
- Suggest using the built-in comparison matchers See rule details for jest/prefer-comparison-matcher.
- org.openrewrite.codemods.cleanup.jest.PreferExpectResolves
- Prefer await expect(...).resolves over expect(await ...) syntax
- Prefer await expect(...).resolves over expect(await ...) syntax See rule details for jest/prefer-expect-resolves.
- org.openrewrite.codemods.cleanup.jest.PreferLowercaseTitle
- Enforce lowercase test names
- Enforce lowercase test names See rule details for jest/prefer-lowercase-title.
- org.openrewrite.codemods.cleanup.jest.PreferMockPromiseShorthand
- Prefer mock resolved/rejected shorthands for promises
- Prefer mock resolved/rejected shorthands for promises See rule details for jest/prefer-mock-promise-shorthand.
- org.openrewrite.codemods.cleanup.jest.PreferSpyOn
- Suggest using jest.spyOn()
- Suggest using jest.spyOn() See rule details for jest/prefer-spy-on.
- org.openrewrite.codemods.cleanup.jest.PreferToBe
- Suggest using toBe() for primitive literals
- Suggest using toBe() for primitive literals See rule details for jest/prefer-to-be.
- org.openrewrite.codemods.cleanup.jest.PreferToContain
- Suggest using toContain()
- Suggest using toContain() See rule details for jest/prefer-to-contain.
- org.openrewrite.codemods.cleanup.jest.PreferToHaveLength
- Suggest using toHaveLength()
- Suggest using toHaveLength() See rule details for jest/prefer-to-have-length.
- org.openrewrite.codemods.cleanup.jest.PreferTodo
- Suggest using test.todo
- Suggest using test.todo See rule details for jest/prefer-todo.
- org.openrewrite.codemods.cleanup.jest.RecommendedJestCodeCleanup
- Recommended Jest code cleanup
- Collection of cleanup ESLint rules that are recommended by eslint-plugin-jest.
- org.openrewrite.codemods.cleanup.jest.ValidTitle
- Enforce valid titles
- Enforce valid titles See rule details for jest/valid-title.
jetbrains
1 recipe
- org.openrewrite.java.migrate.ComIntelliJAnnotationsToOrgJetbrainsAnnotations
- Migrate com.intellij:annotations to org.jetbrains:annotations
- This recipe will upgrade old dependency of com.intellij:annotations to the newer org.jetbrains:annotations.
jetty
1 recipe
- org.openrewrite.java.spring.boot3.DowngradeServletApiWhenUsingJetty
- Downgrade Jakarta Servlet API to 5.0 when using Jetty
- Jetty does not yet support Servlet 6.0. This recipe will detect the presence of the
spring-boot-starter-jettyas a first-order dependency and will add the maven propertyjakarta-servlet.versionsetting it's value to5.0.0. This will downgrade thejakarta-servletartifact if the pom's parent extends from the spring-boot-parent.
jmockit
1 recipe
- org.openrewrite.java.testing.jmockit.JMockitToMockito
- Migrate from JMockit to Mockito
- This recipe will apply changes commonly needed when migrating from JMockit to Mockito.
jms
5 recipes
- com.oracle.weblogic.rewrite.WebLogicJmsXmlNamespace1412
- Migrate xmlns entries in
*-jms.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic JMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJmsXmlNamespace1511
- Migrate xmlns entries in
*-jms.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries in*-jms.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxJmsToJakartaJmsOnMdb
- Migrate javax.jms to jakarta.jms on MDB
- Migrate javax.jms to jakarta.jms on MDB
- org.openrewrite.quarkus.spring.SpringBootActiveMQToQuarkus
- Replace Spring Boot ActiveMQ with Quarkus Artemis JMS
- Migrates
spring-boot-starter-activemqtoquarkus-artemis-jms.
- org.openrewrite.quarkus.spring.SpringBootArtemisToQuarkus
- Replace Spring Boot Artemis with Quarkus Artemis JMS
- Migrates
spring-boot-starter-artemistoquarkus-artemis-jms.
jobXML
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxBatchJobsXmlsToJakarta9BatchJobsXmls
- Migrate xmlns entries in
**/batch-jobs/*.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
joda
1 recipe
- org.openrewrite.java.joda.time.NoJodaTime
- Prefer the Java standard library instead of Joda-Time
- Before Java 8, Java lacked a robust date and time library, leading to the widespread use of Joda-Time to fill this gap. With the release of Java 8, the
java.timepackage was introduced, incorporating most of Joda-Time's concepts. Features deemed too specialized or bulky forjava.timewere included in the ThreeTen-Extra library. This recipe migrates Joda-Time types tojava.timeandthreeten-extratypes.
jpa
1 recipe
- org.openrewrite.quarkus.spring.SpringBootDataJpaToQuarkus
- Replace Spring Boot Data JPA with Quarkus Hibernate ORM Panache
- Migrates
spring-boot-starter-data-jpatoquarkus-hibernate-orm-panache.
jsf
32 recipes
- com.oracle.weblogic.rewrite.FacesMigrationToJakartaFaces2x
- JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older
- Jakarta EE 8 uses Faces 2.3 a major upgrade to Jakarta packages and XML namespaces. This recipe will migrate JSF 1.x to Jakarta Server Faces 2.3 on WebLogic 14.1.2 or older.
- com.oracle.weblogic.rewrite.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Server Faces 3.x
- Jakarta EE 9 uses Faces 3.0 a major upgrade to Jakarta packages and XML namespaces.
- com.oracle.weblogic.rewrite.jakarta.JakartaFaces3Xhtml
- Faces XHTML migration for Jakarta EE 9
- Find and replace legacy JSF namespaces and javax references with Jakarta Faces values in XHTML files.
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesConfigXmlToJakartaFaces3ConfigXml
- Migrate xmlns entries in
faces-config.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesTagLibraryXmlToJakartaFaces3TagLibraryXml
- Migrate xmlns entries in
*taglib*.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxTestWebXmlToJakartaTestWebXml5
- Migrate xmlns entries in
test-web.xmlfiles for Jakarta Server Faces 3 using test interfaces - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation for test interfaces like arquillian.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml5
- Migrate xmlns entries in
web-fragment.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebXmlToJakartaWebXml5
- Migrate xmlns entries in
web.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries2
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries3
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- io.moderne.java.jsf.MigrateToJsf_2_3
- Migrate to JSF 2.3
- Complete migration to JSF 2.3, including associated technologies like RichFaces. Updates dependencies, transforms XHTML views, and migrates Java APIs.
- io.moderne.java.jsf.richfaces.MigrateRichFaces_4_5
- Migrate RichFaces 3.x to 4.5
- Complete RichFaces 3.x to 4.5 migration including tag renames, attribute migrations, and Java API updates.
- io.moderne.java.jsf.richfaces.update45.UpdateXHTMLTags
- Migrate RichFaces tags in
xhtmlfiles - Migrate RichFaces tags in
xhtmlfiles to RichFaces 4.
- Migrate RichFaces tags in
- org.openrewrite.java.migrate.jakarta.Faces2xMigrationToJakartaFaces3x
- JSF 2.x to Jakarta Faces 3.x
- Jakarta EE 9 uses Faces 3.0, a major upgrade to Jakarta packages and XML namespaces.
- org.openrewrite.java.migrate.jakarta.Faces3xMigrationToFaces4x
- Upgrade to Jakarta Faces 4.x
- Jakarta EE 10 uses Faces 4.0.
- org.openrewrite.java.migrate.jakarta.Faces4xMigrationToFaces41x
- Jakarta Faces 4.0 to 4.1
- Jakarta EE 11 uses Faces 4.1 a minor upgrade.
- org.openrewrite.java.migrate.jakarta.JakartaFacesConfigXml4
- Migrate xmlns entries in
faces-config.xmlfiles - Jakarta EE 10 uses Faces version 4.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaFacesEcmaScript
- Migrate JSF values inside EcmaScript files
- Convert JSF to Faces values inside JavaScript,TypeScript, and Properties files.
- org.openrewrite.java.migrate.jakarta.JakartaFacesTagLibraryXml4
- Migrate xmlns entries in
taglib.xmlfiles - Faces 4 uses facelet-taglib 4.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaFacesXhtmlEE10
- Faces XHTML migration for Jakarta EE 10
- Find and replace legacy JSF namespace URIs with Jakarta Faces URNs in XHTML files.
- org.openrewrite.java.migrate.jakarta.JakartaFacesXhtmlEE9
- Faces XHTML migration for Jakarta EE 9
- Find and replace javax references to jakarta in XHTML files.
- org.openrewrite.java.migrate.jakarta.JakartaWebFragmentXml6
- Migrate xmlns entries in
web-fragment.xmlfiles - Faces 4 uses web-fragment 6.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JakartaWebXml6
- Migrate xmlns entries in
web.xmlfiles - Faces 4 uses web-app 6.0.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxFacesConfigXmlToJakartaFacesConfigXml
- Migrate xmlns entries in
faces-config.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxFacesTagLibraryXmlToJakartaFacesTagLibraryXml
- Migrate xmlns entries in
taglib.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml
- Migrate xmlns entries in
web-fragment.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.JavaxWebXmlToJakartaWebXml
- Migrate xmlns entries in
web.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- org.openrewrite.java.migrate.jakarta.OmniFacesNamespaceMigration
- OmniFaces Namespace Migration
- Find and replace legacy OmniFaces namespaces.
- org.openrewrite.java.migrate.jakarta.UpdateManagedBeanToNamed
- Update Faces
@ManagedBeanto use CDI@Named - Faces ManagedBean was deprecated in JSF 2.3 (EE8) and removed in Jakarta Faces 4.0 (EE10). Replace
@ManagedBeanwith@Namedfor CDI-based bean management.
- Update Faces
- org.openrewrite.java.migrate.jakarta.UpgradeFaces3OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces41OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade OmniFaces and MyFaces/Mojarra libraries to Jakarta EE11 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces4OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
jsp
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxWebJspTagLibraryTldsToJakarta9WebJspTagLibraryTlds
- Migrate xmlns entries in
*.tldfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
jsptaglibrary
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxWebJspTagLibraryTldsToJakarta9WebJspTagLibraryTlds
- Migrate xmlns entries in
*.tldfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
jsr250
1 recipe
- org.openrewrite.java.migrate.javax.AddCommonAnnotationsDependencies
- Add explicit Common Annotations dependencies
- Add the necessary
annotation-apidependency from Jakarta EE 8 to maintain compatibility with Java version 11 or greater.
JtaTransactionManager
1 recipe
- com.oracle.weblogic.rewrite.spring.framework.ReplaceWebLogicJtaTransactionManager
- Replace Removed WebLogicJtaTransactionManager from Spring Framework 5.3.x to 6.2.x
- Replace removed WebLogicJtaTransactionManager with JtaTransactionManager from Spring Framework 6.2.x.
junit
21 recipes
- org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
- Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4
- This recipe will migrate a Spring Boot application's tests from JUnit 4 to JUnit 5. This spring-specific migration includes conversion of Spring Test runners to Spring Test extensions and awareness of the composable Spring Test annotations.
- org.openrewrite.java.testing.arquillian.ArquillianJUnit4ToArquillianJUnit5
- Use Arquillian JUnit 5 Extension
- Migrates Arquillian JUnit 4 to JUnit 5.
- org.openrewrite.java.testing.byteman.BytemanJUnit4ToBytemanJUnit5
- Use Byteman JUnit 5 dependency
- Migrates Byteman JUnit 4 to JUnit 5.
- org.openrewrite.java.testing.hamcrest.AddHamcrestIfUsed
- Add
org.hamcrest:hamcrestif it is used - JUnit Jupiter does not include hamcrest as a transitive dependency. If needed, add a direct dependency.
- Add
- org.openrewrite.java.testing.junit.JUnit6BestPractices
- JUnit 6 best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.junit.JupiterBestPractices
- JUnit Jupiter best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.junit5.CleanupAssertions
- Clean Up Assertions
- Simplifies JUnit Jupiter assertions to their most-direct equivalents.
- org.openrewrite.java.testing.junit5.IgnoreToDisabled
- Use JUnit Jupiter
@Disabled - Migrates JUnit 4.x
@Ignoreto JUnit Jupiter@Disabled.
- Use JUnit Jupiter
- org.openrewrite.java.testing.junit5.JUnit4to5Migration
- JUnit Jupiter migration from JUnit 4.x
- Migrates JUnit 4.x tests to JUnit Jupiter.
- org.openrewrite.java.testing.junit5.JUnit5BestPractices
- JUnit 5 best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.junit5.MigrateAssumptions
- Use
Assertions#assume*(..)and Hamcrest'sMatcherAssume#assume*(..) - Many of JUnit 4's
Assume#assume(..)methods have no direct counterpart in JUnit 5 and require Hamcrest JUnit'sMatcherAssume.
- Use
- org.openrewrite.java.testing.junit5.StaticImports
- Statically import JUnit Jupiter assertions
- Always use a static import for assertion methods.
- org.openrewrite.java.testing.junit5.ThrowingRunnableToExecutable
- Use JUnit Jupiter
Executable - Migrates JUnit 4.x
ThrowingRunnableto JUnit JupiterExecutable.
- Use JUnit Jupiter
- org.openrewrite.java.testing.junit5.UpgradeOkHttpMockWebServer
- Use OkHttp 3 MockWebServer for JUnit 5
- Migrates OkHttp 3
MockWebServerto enable JUnit Jupiter Extension support.
- org.openrewrite.java.testing.junit5.UpgradeToJUnit513
- Upgrade to JUnit 5.13
- Upgrades JUnit 5 to 5.13.x and migrates all deprecated APIs.
- org.openrewrite.java.testing.junit5.UpgradeToJUnit514
- Upgrade to JUnit 5.14
- Upgrades JUnit 5 to 5.14.x and migrates all deprecated APIs.
- org.openrewrite.java.testing.junit5.UseHamcrestAssertThat
- Use
MatcherAssert#assertThat(..) - JUnit 4's
Assert#assertThat(..)This method was deprecated in JUnit 4 and removed in JUnit Jupiter.
- Use
- org.openrewrite.java.testing.junit5.UseMockitoExtension
- Use Mockito JUnit Jupiter extension
- Migrate uses of
@RunWith(MockitoJUnitRunner.class)(and similar annotations) to@ExtendWith(MockitoExtension.class).
- org.openrewrite.java.testing.junit5.UseXMLUnitLegacy
- Use XMLUnit Legacy for JUnit 5
- Migrates XMLUnit 1.x to XMLUnit legacy 2.x.
- org.openrewrite.java.testing.junit5.VertxUnitToVertxJunit5
- Use Vert.x JUnit 5 Extension
- Migrates Vert.x
@RunWithVertxUnitRunnerto the JUnit Jupiter@ExtendWithVertxExtension.
- org.openrewrite.java.testing.junit6.JUnit5to6Migration
- JUnit 6 migration from JUnit 5.x
- Migrates JUnit 5.x tests to JUnit 6.x.
jupiter
2 recipes
- org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
- Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4
- This recipe will migrate a Spring Boot application's tests from JUnit 4 to JUnit 5. This spring-specific migration includes conversion of Spring Test runners to Spring Test extensions and awareness of the composable Spring Test annotations.
- org.openrewrite.java.testing.junit6.JUnit5to6Migration
- JUnit 6 migration from JUnit 5.x
- Migrates JUnit 5.x tests to JUnit 6.x.
kafka
22 recipes
- io.moderne.java.spring.boot3.UpgradeSpringKafka_3_3
- Migrate to Spring Kafka 3.3
- Migrate applications to the latest Spring Kafka 3.3 release.
- io.moderne.kafka.MigrateToKafka23
- Migrate to Kafka 2.3
- Migrate applications to the latest Kafka 2.3 release.
- io.moderne.kafka.MigrateToKafka24
- Migrate to Kafka 2.4
- Migrate applications to the latest Kafka 2.4 release.
- io.moderne.kafka.MigrateToKafka25
- Migrate to Kafka 2.5
- Migrate applications to the latest Kafka 2.5 release.
- io.moderne.kafka.MigrateToKafka26
- Migrate to Kafka 2.6
- Migrate applications to the latest Kafka 2.6 release.
- io.moderne.kafka.MigrateToKafka27
- Migrate to Kafka 2.7
- Migrate applications to the latest Kafka 2.7 release.
- io.moderne.kafka.MigrateToKafka28
- Migrate to Kafka 2.8
- Migrate applications to the latest Kafka 2.8 release.
- io.moderne.kafka.MigrateToKafka30
- Migrate to Kafka 3.0
- Migrate applications to the latest Kafka 3.0 release.
- io.moderne.kafka.MigrateToKafka31
- Migrate to Kafka 3.1
- Migrate applications to the latest Kafka 3.1 release.
- io.moderne.kafka.MigrateToKafka32
- Migrate to Kafka 3.2
- Migrate applications to the latest Kafka 3.2 release.
- io.moderne.kafka.MigrateToKafka33
- Migrate to Kafka 3.3
- Migrate applications to the latest Kafka 3.3 release.
- io.moderne.kafka.MigrateToKafka40
- Migrate to Kafka 4.0
- Migrate applications to the latest Kafka 4.0 release. This includes updating dependencies to 4.0.x, ensuring Java 11+ for clients and Java 17+ for brokers/tools, and handling changes.
- io.moderne.kafka.MigrateToKafka41
- Migrate to Kafka 4.1
- 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.
- io.moderne.kafka.streams.MigrateJoinedNameMethod
- Migrate
Joined.named()toJoined.as() - In Kafka Streams 2.3,
Joined.named()was deprecated in favor ofJoined.as(). Additionally, thename()method was deprecated for removal and should not be used.
- Migrate
- io.moderne.kafka.streams.MigrateTaskAndThreadMetadata
- Migrate TaskMetadata and ThreadMetadata
- Migrates TaskMetadata and ThreadMetadata from org.apache.kafka.streams.processor package to org.apache.kafka.streams package, and updates TaskMetadata.taskId() calls to include .toString() for String compatibility.
- io.moderne.kafka.streams.ProcessingGuaranteeExactlyOnceToBeta
- Migrate
exactly_oncetoexactly_once_beta - Kafka Streams 2.6 introduces the exactly-once semantics v2, which is a more efficient implementation with improved internal handling. Though it is beta, it’s fully backward-compatible from the API standpoint, but internally it uses a different transaction/commit protocol. Starting from 3.0, it becomes the default "exactly_once_v2".
- Migrate
- io.moderne.kafka.streams.ProcessingGuaranteeExactlyOnceToV2
- Migrate
exactly_onceandexactly_once_betatoexactly_once_v2 - Kafka Streams 2.6 introduces the exactly-once semantics v2, which is a more efficient implementation with improved internal handling. Starting from 3.0, it becomes the default "exactly_once_v2".
- Migrate
- org.openrewrite.java.spring.kafka.UpgradeSpringKafka_2_8_ErrorHandlers
- Migrates Spring Kafka deprecated error handlers
- Migrate error handlers deprecated in Spring Kafka
2.8.xto their replacements.
- org.openrewrite.java.spring.kafka.UpgradeSpringKafka_3_0
- Migrate to Spring Kafka 3.0
- Migrate applications to the latest Spring Kafka 3.0 release.
- org.openrewrite.java.spring.kafka.UpgradeSpringKafka_4_0
- Migrate to Spring Kafka 4.0
- Migrate applications to the latest Spring Kafka 4.0 release.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusClassic
- Replace Spring Kafka with Quarkus Kafka Client
- Migrates
spring-kafkatoquarkus-kafka-clientwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive
- Replace Spring Kafka with Quarkus Messaging Kafka
- Migrates
spring-kafkatoquarkus-messaging-kafkawhen reactor dependencies are present.
kubernetes
27 recipes
- org.openrewrite.kubernetes.ImagePullPolicyAlways
- Ensure image pull policy is
Always - Ensures the latest version of a tag is deployed each time.
- Ensure image pull policy is
- org.openrewrite.kubernetes.KubernetesBestPractices
- Kubernetes best practices
- Applies best practices to Kubernetes manifests.
- org.openrewrite.kubernetes.LifecycleRuleOnStorageBucket
- Ensure lifecycle rule on
StorageBucket - When defining a rule, you can specify any set of conditions for any action. The following configuration defines a rule to delete all objects older than 7 days in a bucket.
- Ensure lifecycle rule on
- org.openrewrite.kubernetes.LimitContainerCapabilities
- Limit root capabilities in a container
- Limiting the admission of containers with capabilities ensures that only a small number of containers have extended capabilities outside the default range.
- org.openrewrite.kubernetes.MissingCpuLimits
- Ensure CPU limits are set
- A system without managed quotas could eventually collapse due to inadequate resources for the tasks it bares.
- org.openrewrite.kubernetes.MissingCpuRequest
- Ensure CPU request is set
- If a container is created in a namespace that has a default CPU limit, and the container does not specify its own CPU limit, then the container is assigned the default CPU limit.
- org.openrewrite.kubernetes.MissingMemoryLimits
- Ensure memory limits are set
- With no limit set, kubectl allocates more and more memory to the container until it runs out.
- org.openrewrite.kubernetes.MissingMemoryRequest
- Ensure memory request is set
- A container is guaranteed to have as much memory as it requests, but is not allowed to use more memory than the limit set. This configuration may save resources and prevent an attack on an exploited container.
- org.openrewrite.kubernetes.MissingPodLivenessProbe
- Ensure liveness probe is configured
- The kubelet uses liveness probes to know when to schedule restarts for containers. Restarting a container in a deadlock state can help to make the application more available, despite bugs.
- org.openrewrite.kubernetes.MissingPodReadinessProbe
- Ensure readiness probe is configured
- Using the Readiness Probe ensures teams define what actions need to be taken to prevent failure and ensure recovery in case of unexpected errors.
- org.openrewrite.kubernetes.NoHostIPCSharing
- No host IPC sharing
- Preventing sharing of host PID/IPC namespace, networking, and ports ensures proper isolation between Docker containers and the underlying host.
- org.openrewrite.kubernetes.NoHostNetworkSharing
- No host network sharing
- When using the host network mode for a container, that container’s network stack is not isolated from the Docker host, so the container shares the host’s networking namespace and does not get its own IP-address allocation.
- org.openrewrite.kubernetes.NoHostProcessIdSharing
- No host process ID sharing
- Sharing the host process ID namespace breaks the isolation between container images and can make processes visible to other containers in the pod. This includes all information in the /proc directory, which can sometimes include passwords or keys, passed as environment variables.
- org.openrewrite.kubernetes.NoPrivilegeEscalation
- No privilege escalation
- Does not allow a process to gain more privileges than its parent process.
- org.openrewrite.kubernetes.NoPrivilegedContainers
- No privileged containers
- Privileged containers are containers that have all of the root capabilities of a host machine, allowing access to resources that are not accessible in ordinary containers.
- org.openrewrite.kubernetes.NoRootContainers
- No root containers
- Containers that run as root frequently have more permissions than their workload requires which, in case of compromise, could help an attacker further their exploits.
- org.openrewrite.kubernetes.ReadOnlyRootFilesystem
- Read-only root filesystem
- Using an immutable root filesystem and a verified boot mechanism prevents against attackers from "owning" the machine through permanent local changes.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_16
- Migrate to Kubernetes API v1.16
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.16.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_22
- Migrate to Kubernetes API v1.22
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.22.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_25
- Migrate to Kubernetes API v1.25
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.25.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_26
- Migrate to Kubernetes API v1.26
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.26.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_27
- Migrate to Kubernetes API v1.27
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.27.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_29
- Migrate to Kubernetes API v1.29
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.29.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_32
- Migrate to Kubernetes API v1.32
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.32.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_33
- Migrate to Kubernetes API v1.33
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.33.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_34
- Migrate to Kubernetes API v1.34
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.34.
- org.openrewrite.kubernetes.migrate.MigrateToAPIv1_35
- Migrate to Kubernetes API v1.35
- This recipe will apply changes commonly needed when migrating to Kubernetes API v1.35.
lang
1 recipe
- org.openrewrite.apache.commons.lang.UpgradeApacheCommonsLang_2_3
- Migrates to Apache Commons Lang 3.x
- 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.
LoadTimeWeaver
1 recipe
- com.oracle.weblogic.rewrite.spring.framework.ReplaceWebLogicLoadTimeWeaver
- Replace Removed WebLogicLoadTimeWeaver from Spring Framework 5.3.x to 6.2.x
- Replace removed WebLogicLoadTimeWeaver with LoadTimeWeaver from Spring Framework 6.2.x.
local
1 recipe
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes$LocalEventLoopGroupFactoryRecipe
- Replace
LocalEventLoopGroupwithMultiThreadIoEventLoopGroup - Replace
new LocalEventLoopGroup()withnew MultiThreadIoEventLoopGroup(LocalIoHandler.newFactory()).
- Replace
lodash
4 recipes
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreArray
- Replace lodash and underscore array functions with native JavaScript
-
_.head(x)->x[0]-_.head(x, n)->x.slice(n)-_.first(alias for_.head) -_.tail(x)->x.slice(1)-_.tail(x, n)->x.slice(n)-_.rest(alias for_.tail) -_.last(x)->x[x.length - 1]-_.last(x, n)->x.slice(x.length - n).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreFunction
- Replace lodash and underscore function functions with native JavaScript
-
_.bind(fn, obj, ...x)->fn.bind(obj, ...x)-_.partial(fn, a, b);->(...args) => fn(a, b, ...args).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreObjects
- Replace lodash and underscore object functions with native JavaScript
-
_.clone(x)->{ ...x }-_.extend({}, x, y)->{ ...x, ...y }-_.extend(obj, x, y)->Object.assign(obj, x, y)-_.keys(x)->Object.keys(x)-_.pairs(x)->Object.entries(x)-_.values(x)->Object.values(x).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreUtil
- Replace lodash and underscore utility functions with native JavaScript
-
_.isArray(x)->Array.isArray(x)-_.isBoolean(x)->typeof(x) === 'boolean'-_.isFinite(x)->Number.isFinite(x)-_.isFunction(x)->typeof(x) === 'function'-_.isNull(x)->x === null-_.isString(x)->typeof(x) === 'string'-_.isUndefined(x)->typeof(x) === 'undefined'.
log4j
10 recipes
- org.openrewrite.java.logging.log4j.CommonsLoggingToLog4j
- Migrate JCL to Log4j 2.x API
- Transforms code written using Apache Commons Logging to use Log4j 2.x API.
- org.openrewrite.java.logging.log4j.JulToLog4j
- Migrate JUL to Log4j 2.x API
- Transforms code written using
java.util.loggingto use Log4j 2.x API.
- org.openrewrite.java.logging.log4j.Log4j1ToLog4j2
- Migrate Log4j 1.x to Log4j 2.x
- Migrates Log4j 1.x to Log4j 2.x.
- org.openrewrite.java.logging.log4j.ParameterizedLogging
- Parameterize Log4j 2.x logging statements
- Use Log4j 2.x parameterized logging, which can significantly boost performance for messages that otherwise would be assembled with String concatenation. Particularly impactful when the log level is not enabled, as no work is done to assemble the message.
- org.openrewrite.java.logging.log4j.Slf4jToLog4j
- Migrate SLF4J to Log4j 2.x API
- Transforms code written using SLF4J to use Log4j 2.x API.
- org.openrewrite.java.logging.log4j.UpgradeLog4J2DependencyVersion
- Upgrade Log4j 2.x dependency version
- Upgrades the Log4j 2.x dependencies to the latest 2.x version. Mitigates the Log4Shell and other Log4j2-related vulnerabilities.
- org.openrewrite.java.logging.logback.Log4jToLogback
- Migrate Log4j 2.x to Logback
- Migrates usage of Apache Log4j 2.x to using
logbackas an SLF4J implementation directly. Note, this currently does not modifylog4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4j1ToSlf4j1
- Migrate Log4j 1.x to SLF4J 1.x
- Transforms usages of Log4j 1.x to leveraging SLF4J 1.x directly. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4j2ToSlf4j1
- Migrate Log4j 2.x to SLF4J 1.x
- Transforms usages of Log4j 2.x to leveraging SLF4J 1.x directly. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4jToSlf4j
- Migrate Log4j to SLF4J
- Migrates usage of Apache Log4j to using SLF4J directly. Use of the traditional Log4j to SLF4J bridge can result in loss of performance, as the Log4j messages must be formatted before they can be passed to SLF4J. Note, this currently does not modify
log4j.propertiesfiles.
log4shell
1 recipe
- org.openrewrite.java.logging.log4j.UpgradeLog4J2DependencyVersion
- Upgrade Log4j 2.x dependency version
- Upgrades the Log4j 2.x dependencies to the latest 2.x version. Mitigates the Log4Shell and other Log4j2-related vulnerabilities.
logback
1 recipe
- org.openrewrite.java.logging.logback.Log4jToLogback
- Migrate Log4j 2.x to Logback
- Migrates usage of Apache Log4j 2.x to using
logbackas an SLF4J implementation directly. Note, this currently does not modifylog4j.propertiesfiles.
logging
21 recipes
- org.openrewrite.java.logging.jboss.JBossLoggingBestPractices
- JBoss Logging Best Practices
- This recipe applies best practices for logging in JBoss applications. It includes converting argument arrays to varargs for better readability and performance.
- org.openrewrite.java.logging.log4j.CommonsLoggingToLog4j
- Migrate JCL to Log4j 2.x API
- Transforms code written using Apache Commons Logging to use Log4j 2.x API.
- org.openrewrite.java.logging.log4j.JulToLog4j
- Migrate JUL to Log4j 2.x API
- Transforms code written using
java.util.loggingto use Log4j 2.x API.
- org.openrewrite.java.logging.log4j.Log4j1ToLog4j2
- Migrate Log4j 1.x to Log4j 2.x
- Migrates Log4j 1.x to Log4j 2.x.
- org.openrewrite.java.logging.log4j.ParameterizedLogging
- Parameterize Log4j 2.x logging statements
- Use Log4j 2.x parameterized logging, which can significantly boost performance for messages that otherwise would be assembled with String concatenation. Particularly impactful when the log level is not enabled, as no work is done to assemble the message.
- org.openrewrite.java.logging.log4j.Slf4jToLog4j
- Migrate SLF4J to Log4j 2.x API
- Transforms code written using SLF4J to use Log4j 2.x API.
- org.openrewrite.java.logging.log4j.UpgradeLog4J2DependencyVersion
- Upgrade Log4j 2.x dependency version
- Upgrades the Log4j 2.x dependencies to the latest 2.x version. Mitigates the Log4Shell and other Log4j2-related vulnerabilities.
- org.openrewrite.java.logging.logback.Log4jToLogback
- Migrate Log4j 2.x to Logback
- Migrates usage of Apache Log4j 2.x to using
logbackas an SLF4J implementation directly. Note, this currently does not modifylog4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1
- Migrate Apache Commons Logging 1.x to SLF4J 1.x
- Transforms usages of Apache Commons Logging 1.x to leveraging SLF4J 1.x directly.
- org.openrewrite.java.logging.slf4j.CompleteExceptionLogging
- Enhances logging of exceptions by including the full stack trace in addition to the exception message
- It is a common mistake to call
Exception.getMessage()when passing an exception into a log method. Not all exception types have useful messages, and even if the message is useful this omits the stack trace. Including a complete stack trace of the error along with the exception message in the log allows developers to better understand the context of the exception and identify the source of the error more quickly and accurately. If the method invocation includes any call toException.getMessage()orException.getLocalizedMessage()and not an exception is already passed as the last parameter to the log method, then we will append the exception as the last parameter in the log method.
- org.openrewrite.java.logging.slf4j.JBossLoggingToSlf4j
- Migrate JBoss Logging to SLF4J
- Migrates usage of the JBoss Logging facade to using SLF4J.
- org.openrewrite.java.logging.slf4j.JulToSlf4j
- Migrate JUL to SLF4J
- Migrates usage of Java Util Logging (JUL) to using SLF4J directly.
- org.openrewrite.java.logging.slf4j.Log4j1ToSlf4j1
- Migrate Log4j 1.x to SLF4J 1.x
- Transforms usages of Log4j 1.x to leveraging SLF4J 1.x directly. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4j2ToSlf4j1
- Migrate Log4j 2.x to SLF4J 1.x
- Transforms usages of Log4j 2.x to leveraging SLF4J 1.x directly. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4jToSlf4j
- Migrate Log4j to SLF4J
- Migrates usage of Apache Log4j to using SLF4J directly. Use of the traditional Log4j to SLF4J bridge can result in loss of performance, as the Log4j messages must be formatted before they can be passed to SLF4J. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.LoggersNamedForEnclosingClass
- Loggers should be named for their enclosing classes
- Ensure
LoggerFactory#getLogger(Class)is called with the enclosing class as argument.
- org.openrewrite.java.logging.slf4j.ParameterizedLogging
- Parameterize SLF4J's logging statements
- Use SLF4J's parameterized logging, which can significantly boost performance for messages that otherwise would be assembled with String concatenation. Particularly impactful when the log level is not enabled, as no work is done to assemble the message.
- org.openrewrite.java.logging.slf4j.Slf4jBestPractices
- SLF4J best practices
- Applies best practices to logging with SLF4J.
- org.openrewrite.java.logging.slf4j.Slf4jLogShouldBeConstant
- SLF4J logging statements should begin with constants
- Logging statements shouldn't begin with
String#format, calls totoString(), etc.
- org.openrewrite.java.migrate.logging.JavaLoggingAPIs
- Use modernized
java.util.loggingAPIs - Certain Java logging APIs have become deprecated and their usages changed, necessitating usage changes.
- Use modernized
- org.openrewrite.java.spring.boot3.MigrateSapCfJavaLoggingSupport
- Migrate SAP cloud foundry logging support to Spring Boot 3.x
- Migrate SAP cloud foundry logging support from
cf-java-logging-support-servlettocf-java-logging-support-servlet-jakarta, to use Jakarta with Spring Boot 3.
lombok
6 recipes
- org.openrewrite.java.migrate.lombok.LombokOnXToOnX_
- Migrate Lombok's
@__syntax toonX_for Java 8+ - Migrates Lombok's
onXannotations from the Java 7 style using@__to the Java 8+ style usingonX_. For example,@Getter(onMethod=@__({@Id}))becomes@Getter(onMethod_={@Id}).
- Migrate Lombok's
- org.openrewrite.java.migrate.lombok.LombokValToFinalVar
- Prefer
final varoverlombok.val - Prefer the Java standard library's
final varandvarover third-party usage of Lombok'slombok.valandlombok.varin Java 10 or higher.
- Prefer
- org.openrewrite.java.migrate.lombok.LombokValueToRecord
- Convert
@lombok.Valueclass to Record - Convert Lombok
@Valueannotated classes to standard Java Records.
- Convert
- org.openrewrite.java.migrate.lombok.UpdateLombokToJava11
- Migrate Lombok to a Java 11 compatible version
- Update Lombok dependency to a version that is compatible with Java 11 and migrate experimental Lombok types that have been promoted.
- org.openrewrite.java.migrate.lombok.UseLombokGetter
- Convert getter methods to annotations
- Convert trivial getter methods to
@Getterannotations on their respective fields.
- org.openrewrite.java.migrate.lombok.UseLombokSetter
- Convert setter methods to annotations
- Convert trivial setter methods to
@Setterannotations on their respective fields.
mail
1 recipe
- org.openrewrite.quarkus.spring.SpringBootMailToQuarkus
- Replace Spring Boot Mail with Quarkus Mailer
- Migrates
spring-boot-starter-mailtoquarkus-mailer.
material
78 recipes
- org.openrewrite.codemods.migrate.mui.AdapterV
- Converts components to use the v4 adapter module
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.All
- Combination of all deprecations
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.AutocompleteRenameCloseicon
- Renames
closeIconprop tocloseButtonIcon - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.AutocompleteRenameOption
- Renames
optionprop togetOptionLabel - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.AvatarCircleCircular
- Updates
circleprop tovariant="circular" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BadgeOverlapValue
- Updates
overlapprop tovariant="dot" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BaseHookImports
- Converts base imports to use React hooks
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BaseRemoveComponentProp
- Removes
componentprop from base components - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.BaseRemoveUnstyledSuffix
- Removes
Unstyledsuffix from base components - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.BaseRenameComponentsToSlots
- Renames base components to slots
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BaseUseNamedExports
- Updates base imports to use named exports
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BoxBorderradiusValues
- Updates
borderRadiusprop values - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BoxRenameCss
- Renames CSS properties for Box component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BoxRenameGap
- Renames
gapprop tospacing - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.BoxSxProp
- Converts
sxprop tosxstyle prop - See Material UI codemod projects for more details.
- Converts
- org.openrewrite.codemods.migrate.mui.ButtonColorProp
- Renames
colorprop tocolorOverride - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.ChipVariantProp
- Updates
variantprop for Chip component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.CircularprogressVariant
- Updates
variantprop for CircularProgress component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.CollapseRenameCollapsedheight
- Renames
collapsedHeightprop totransitionCollapsedHeight - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.ComponentRenameProp
- Renames
componentprop toas - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.CoreStylesImport
- Updates import paths for core styles
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.CreateTheme
- Updates createMuiTheme usage
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.DatePickersMovedToX
- Moves date pickers to
@mui/x-date-picker - See Material UI codemod projects for more details.
- Moves date pickers to
- org.openrewrite.codemods.migrate.mui.DialogProps
- Updates props for Dialog component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.DialogTitleProps
- Updates props for DialogTitle component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.EmotionPrependCache
- Prepends emotion cache
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ExpansionPanelComponent
- Converts ExpansionPanel to use ExpansionPanel component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.FabVariant
- Updates
variantprop for Fab component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.FadeRenameAlpha
- Renames
alphaprop toopacity - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.GridJustifyJustifycontent
- Updates
justifyprop tojustifyContentfor Grid component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.GridListComponent
- Converts GridList to use Grid component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.GridVProps
- Updates the usage of the
@mui/material/Grid2,@mui/system/Grid, and@mui/joy/Gridcomponents to their updated APIs - See Material UI codemod projects for more details.
- Updates the usage of the
- org.openrewrite.codemods.migrate.mui.HiddenDownProps
- Updates
downprop for Hidden component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.IconButtonSize
- Updates
sizeprop for IconButton component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.JoyAvatarRemoveImgprops
- Removes
imgPropsprop from Avatar component - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.JoyRenameClassnamePrefix
- Renames
Muiclassname prefix - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JoyRenameComponentsToSlots
- Renames components to slots
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.JoyRenameRowProp
- Renames
rowprop toflexDirection="row" - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JoyTextFieldToInput
- Renames
TextFieldtoInput - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JssToStyled
- Converts JSS styles to styled-components
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.JssToTssReact
- Converts JSS to TypeScript in React components
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.LinkUnderlineHover
- Updates link underline on hover
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.MaterialUiStyles
- Updates usage of
@mui/styles - See Material UI codemod projects for more details.
- Updates usage of
- org.openrewrite.codemods.migrate.mui.MaterialUiTypes
- Updates usage of
@mui/types - See Material UI codemod projects for more details.
- Updates usage of
- org.openrewrite.codemods.migrate.mui.ModalProps
- Updates props for Modal component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.MovedLabModules
- Moves lab modules to
@mui/material - See Material UI codemod projects for more details.
- Moves lab modules to
- org.openrewrite.codemods.migrate.mui.MuiReplace
- Replaces
@muiimports with@mui/material - See Material UI codemod projects for more details.
- Replaces
- org.openrewrite.codemods.migrate.mui.OptimalImports
- Optimizes imports
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.PaginationRoundCircular
- Updates
circularprop tovariant="circular" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.PresetSafe
- Ensures presets are safe to use
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.RenameCssVariables
- Renames CSS variables
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.RootRef
- Converts
rootReftoref - See Material UI codemod projects for more details.
- Converts
- org.openrewrite.codemods.migrate.mui.SkeletonVariant
- Updates
variantprop for Skeleton component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.Styled
- Updates the usage of
styledfrom@mui/system@v5to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Updates the usage of
- org.openrewrite.codemods.migrate.mui.StyledEngineProvider
- Updates usage of styled engine provider
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.SxProp
- Update the usage of the
sxprop to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Update the usage of the
- org.openrewrite.codemods.migrate.mui.SystemProps
- Remove system props and add them to the
sxprop - See Material UI codemod projects for more details.
- Remove system props and add them to the
- org.openrewrite.codemods.migrate.mui.TableProps
- Updates props for Table component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TabsScrollButtons
- Updates scroll buttons for Tabs component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TextareaMinmaxRows
- Updates
minRowsandmaxRowsprops for TextareaAutosize component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeAugment
- Adds
DefaultThememodule augmentation to typescript projects - See Material UI codemod projects for more details.
- Adds
- org.openrewrite.codemods.migrate.mui.ThemeBreakpoints
- Updates theme breakpoints
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeBreakpointsWidth
- Updates
widthvalues for theme breakpoints - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeOptions
- Updates theme options
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemePaletteMode
- Updates theme palette mode
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeProvider
- Updates usage of ThemeProvider
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeSpacing
- Updates theme spacing
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeSpacingApi
- Updates theme spacing API
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeTypographyRound
- Updates
roundvalues for theme typography - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeV
- Update the theme creation from
@mui/system@v5to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Update the theme creation from
- org.openrewrite.codemods.migrate.mui.TopLevelImports
- Converts all
@mui/materialsubmodule imports to the root module - See Material UI codemod projects for more details.
- Converts all
- org.openrewrite.codemods.migrate.mui.Transitions
- Updates usage of transitions
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TreeViewMovedToX
- Moves tree view to
@mui/x-tree-view - See Material UI codemod projects for more details.
- Moves tree view to
- org.openrewrite.codemods.migrate.mui.UseAutocomplete
- Updates usage of useAutocomplete
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.UseTransitionprops
- Updates usage of useTransitionProps
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.VariantProp
- Updates
variantprop usage - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.WithMobileDialog
- Updates withMobileDialog higher-order component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.WithWidth
- Updates withWidth higher-order component
- See Material UI codemod projects for more details.
math
1 recipe
- org.openrewrite.apache.commons.math.UpgradeApacheCommonsMath_2_3
- Migrates to Apache Commons Math 3.x
- Migrate applications to the latest Apache Commons Math 3.x release. This recipe modifies application's build files, make changes to deprecated/preferred APIs, and migrates configuration settings that have changes between versions.
maven
1 recipe
- org.openrewrite.quarkus.spring.MigrateMavenPlugin
- Add or replace Spring Boot build plugin with Quarkus build plugin
- Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom.
messaging
2 recipes
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive
- Replace Spring Boot AMQP with Quarkus Messaging AMQP
- Migrates
spring-boot-starter-amqptoquarkus-messaging-amqpwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive
- Replace Spring Kafka with Quarkus Messaging Kafka
- Migrates
spring-kafkatoquarkus-messaging-kafkawhen reactor dependencies are present.
micrometer
3 recipes
- org.openrewrite.java.migrate.metrics.SimplifyMicrometerMeterTags
- Simplify Micrometer meter tags
- Use the simplest method to add new tags.
- org.openrewrite.java.spring.cloud2022.MigrateCloudSleuthToMicrometerTracing
- Migrate Spring Cloud Sleuth 3.1 to Micrometer Tracing 1.0
- Spring Cloud Sleuth has been discontinued and only compatible with Spring Boot 2.x.
- org.openrewrite.micrometer.UpgradeMicrometer_1_13
- Migrate to Micrometer 1.13
- Migrate applications to the latest Micrometer 1.13 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 as described in the Micrometer 1.13 migration guide.
migration
24 recipes
- com.oracle.weblogic.rewrite.JakartaEE9_1
- Migrate to Jakarta EE 9.1
- These recipes help with Migration to Jakarta EE 9.1, flagging and updating deprecated methods.
- com.oracle.weblogic.rewrite.jakarta.JakartaEeNamespaces9_1
- Migrate from JavaX to Jakarta EE 9.1 Namespaces
- These recipes help with Migration From JavaX to Jakarta EE 9.1 Namespaces.
- io.moderne.elastic.elastic9.ChangeApiNumericFieldTypes
- Change numeric field types for Elasticsearch 9
- Handles changes between different numeric types (
LongtoInteger,inttoLong...) in Elasticsearch 9 API responses by adding appropriate conversion methods with null checks.
- io.moderne.elastic.elastic9.MigrateDenseVectorElementType
- Migrate DenseVectorProperty.elementType from String to DenseVectorElementType enum
- In Elasticsearch 9,
DenseVectorProperty.elementType()returnsDenseVectorElementTypeenum instead ofString, and the builder methodelementType(String)now accepts the enum type. This recipe handles both builder calls and getter calls.
- io.moderne.elastic.elastic9.MigrateDenseVectorSimilarity
- Migrate DenseVectorProperty.similarity from String to DenseVectorSimilarity enum
- In Elasticsearch 9,
DenseVectorProperty.similarity()returnsDenseVectorSimilarityenum instead ofString, and the builder methodsimilarity(String)now accepts the enum type. This recipe handles both builder calls and getter calls.
- io.moderne.elastic.elastic9.MigrateMatchedQueries
- Migrate
matchedQueriesfrom List to Map - In Elasticsearch Java Client 9.0,
Hit.matchedQueries()changed from returningList<String>toMap<String, Double>. This recipe migrates the usage by adding.keySet()for iterations and usingnew ArrayList<>(result.keySet())for assignments.
- Migrate
- io.moderne.elastic.elastic9.MigrateSpanTermQueryValue
- Migrate
SpanTermQuery.value()from String to FieldValue - In Elasticsearch 9,
SpanTermQuery.value()returns aFieldValueinstead ofString. This recipe updates calls to handle the new return type by checking if it's a string and extracting the string value.
- Migrate
- io.moderne.elastic.elastic9.MigrateToElasticsearch9
- Migrate from Elasticsearch 8 to 9
- This recipe performs a comprehensive migration from Elasticsearch 8 to Elasticsearch 9, addressing breaking changes, API removals, deprecations, and required code modifications.
- io.moderne.elastic.elastic9.RenameApiField
- Rename
Elasticsearch valueBody()methods - In Elasticsearch Java Client 9.0, the generic
valueBody()method andvalueBody(...)builder methods have been replaced with specific getter and setter methods that better reflect the type of data being returned. Similarly, forGetRepositoryResponse, theresultfield also got altered torepositories.
- Rename
- io.moderne.elastic.elastic9.RenameApiFields
- Rename API fields for Elasticsearch 9
- Renames various API response fields from
valueBodyto align with Elasticsearch 9 specifications.
- org.openrewrite.java.spring.opentelemetry.MigrateBraveToOpenTelemetry
- Migrate Brave API to OpenTelemetry API
- Migrate Java code using Brave (Zipkin) tracing API to OpenTelemetry API. This recipe handles the migration of Brave Tracer, Span, and related classes to OpenTelemetry equivalents.
- org.openrewrite.java.spring.opentelemetry.MigrateDatadogToOpenTelemetry
- Migrate Datadog tracing to OpenTelemetry
- Migrate from Datadog Java tracing annotations to OpenTelemetry annotations. Replace Datadog @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateFromZipkinToOpenTelemetry
- Migrate from Zipkin to OpenTelemetry OTLP
- Migrate from Zipkin tracing to OpenTelemetry OTLP. This recipe replaces Zipkin dependencies with OpenTelemetry OTLP exporter and updates the related configuration properties.
- org.openrewrite.java.spring.opentelemetry.MigrateNewRelicToOpenTelemetry
- Migrate New Relic Agent to OpenTelemetry
- Migrate from New Relic Java Agent annotations to OpenTelemetry annotations. Replace @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateOpenTracingToOpenTelemetry
- Migrate OpenTracing API to OpenTelemetry API
- Migrate Java code using OpenTracing API to OpenTelemetry API. OpenTracing has been superseded by OpenTelemetry and is no longer actively maintained.
- org.openrewrite.java.spring.opentelemetry.MigrateSleuthToOpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry. Spring Cloud Sleuth has been deprecated and is replaced by Micrometer Tracing with OpenTelemetry as a backend. This recipe removes Sleuth dependencies and adds OpenTelemetry instrumentation.
- org.openrewrite.java.spring.opentelemetry.MigrateToOpenTelemetry
- Complete migration to OpenTelemetry
- Comprehensive migration to OpenTelemetry including dependencies, configuration properties, and Java code changes. This recipe handles migration from Spring Cloud Sleuth, Brave/Zipkin, and OpenTracing to OpenTelemetry.
- org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies
- Migrate
@EnableXyzannotations to Quarkus extensions - Removes Spring
@EnableXyzannotations and adds the corresponding Quarkus extensions as dependencies.
- Migrate
- org.openrewrite.quarkus.spring.MigrateBootStarters
- Replace Spring Boot starter dependencies with Quarkus equivalents
- Migrates Spring Boot starter dependencies to their Quarkus equivalents, removing version tags as Quarkus manages versions through its BOM.
- org.openrewrite.quarkus.spring.MigrateMavenPlugin
- Add or replace Spring Boot build plugin with Quarkus build plugin
- Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom.
- org.openrewrite.quarkus.spring.SpringBootToQuarkus
- Migrate Spring Boot to Quarkus
- Replace Spring Boot with Quarkus.
- org.openrewrite.sql.MigrateOracleToPostgres
- Migrate Oracle SQL to PostgreSQL
- Converts Oracle-specific SQL syntax and functions to PostgreSQL equivalents.
- org.openrewrite.sql.MigrateSqlServerToPostgres
- Migrate SQL Server to PostgreSQL
- Converts Microsoft SQL Server-specific SQL syntax and functions to PostgreSQL equivalents.
- org.openrewrite.tapestry.MigrateTapestry4To5
- Migrate Tapestry 4 to Tapestry 5
- Migrates Apache Tapestry 4 applications to Tapestry 5. This includes package renames, removing base class inheritance, converting listener interfaces to annotations, and updating dependencies.
mockito
7 recipes
- org.openrewrite.java.testing.junit5.UseMockitoExtension
- Use Mockito JUnit Jupiter extension
- Migrate uses of
@RunWith(MockitoJUnitRunner.class)(and similar annotations) to@ExtendWith(MockitoExtension.class).
- org.openrewrite.java.testing.mockito.Mockito1to3Migration
- Mockito 3.x migration from 1.x
- Upgrade Mockito from 1.x to 3.x.
- org.openrewrite.java.testing.mockito.Mockito1to4Migration
- Mockito 4.x upgrade
- Upgrade Mockito from 1.x to 4.x.
- org.openrewrite.java.testing.mockito.Mockito1to5Migration
- Mockito 5.x upgrade
- Upgrade Mockito from 1.x to 5.x.
- org.openrewrite.java.testing.mockito.Mockito4to5Only
- Mockito 4 to 5.x upgrade only
- Upgrade Mockito from 4.x to 5.x. Does not include 1.x to 4.x migration.
- org.openrewrite.java.testing.mockito.MockitoBestPractices
- Mockito best practices
- Applies best practices for Mockito tests.
- org.openrewrite.java.testing.mockito.ReplacePowerMockito
- Replace PowerMock with raw Mockito
- PowerMockito with raw Mockito; best executed as part of a Mockito upgrade.
mongodb
2 recipes
- io.moderne.java.spring.boot4.AddMongoDbRepresentationProperties
- Add MongoDB representation properties for UUID and BigDecimal
- Adds the 'spring.mongodb.representation.uuid' property with value 'standard' and the 'spring.data.mongodb.representation.big-decimal' property with the value 'decimal128' to Spring configuration files when a MongoDB dependency is detected.
- org.openrewrite.quarkus.spring.SpringBootDataMongoToQuarkus
- Replace Spring Boot Data MongoDB with Quarkus MongoDB Panache
- Migrates
spring-boot-starter-data-mongodbtoquarkus-mongodb-panache.
mssql
3 recipes
- org.openrewrite.sql.ConvertSqlServerDataTypesToPostgres
- Convert SQL Server data types to PostgreSQL
- Replaces SQL Server-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerFunctionsToPostgres
- Convert SQL Server functions to PostgreSQL
- Replaces SQL Server-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.MigrateSqlServerToPostgres
- Migrate SQL Server to PostgreSQL
- Converts Microsoft SQL Server-specific SQL syntax and functions to PostgreSQL equivalents.
mui
78 recipes
- org.openrewrite.codemods.migrate.mui.AdapterV
- Converts components to use the v4 adapter module
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.All
- Combination of all deprecations
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.AutocompleteRenameCloseicon
- Renames
closeIconprop tocloseButtonIcon - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.AutocompleteRenameOption
- Renames
optionprop togetOptionLabel - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.AvatarCircleCircular
- Updates
circleprop tovariant="circular" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BadgeOverlapValue
- Updates
overlapprop tovariant="dot" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BaseHookImports
- Converts base imports to use React hooks
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BaseRemoveComponentProp
- Removes
componentprop from base components - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.BaseRemoveUnstyledSuffix
- Removes
Unstyledsuffix from base components - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.BaseRenameComponentsToSlots
- Renames base components to slots
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BaseUseNamedExports
- Updates base imports to use named exports
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BoxBorderradiusValues
- Updates
borderRadiusprop values - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.BoxRenameCss
- Renames CSS properties for Box component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.BoxRenameGap
- Renames
gapprop tospacing - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.BoxSxProp
- Converts
sxprop tosxstyle prop - See Material UI codemod projects for more details.
- Converts
- org.openrewrite.codemods.migrate.mui.ButtonColorProp
- Renames
colorprop tocolorOverride - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.ChipVariantProp
- Updates
variantprop for Chip component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.CircularprogressVariant
- Updates
variantprop for CircularProgress component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.CollapseRenameCollapsedheight
- Renames
collapsedHeightprop totransitionCollapsedHeight - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.ComponentRenameProp
- Renames
componentprop toas - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.CoreStylesImport
- Updates import paths for core styles
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.CreateTheme
- Updates createMuiTheme usage
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.DatePickersMovedToX
- Moves date pickers to
@mui/x-date-picker - See Material UI codemod projects for more details.
- Moves date pickers to
- org.openrewrite.codemods.migrate.mui.DialogProps
- Updates props for Dialog component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.DialogTitleProps
- Updates props for DialogTitle component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.EmotionPrependCache
- Prepends emotion cache
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ExpansionPanelComponent
- Converts ExpansionPanel to use ExpansionPanel component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.FabVariant
- Updates
variantprop for Fab component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.FadeRenameAlpha
- Renames
alphaprop toopacity - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.GridJustifyJustifycontent
- Updates
justifyprop tojustifyContentfor Grid component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.GridListComponent
- Converts GridList to use Grid component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.GridVProps
- Updates the usage of the
@mui/material/Grid2,@mui/system/Grid, and@mui/joy/Gridcomponents to their updated APIs - See Material UI codemod projects for more details.
- Updates the usage of the
- org.openrewrite.codemods.migrate.mui.HiddenDownProps
- Updates
downprop for Hidden component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.IconButtonSize
- Updates
sizeprop for IconButton component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.JoyAvatarRemoveImgprops
- Removes
imgPropsprop from Avatar component - See Material UI codemod projects for more details.
- Removes
- org.openrewrite.codemods.migrate.mui.JoyRenameClassnamePrefix
- Renames
Muiclassname prefix - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JoyRenameComponentsToSlots
- Renames components to slots
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.JoyRenameRowProp
- Renames
rowprop toflexDirection="row" - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JoyTextFieldToInput
- Renames
TextFieldtoInput - See Material UI codemod projects for more details.
- Renames
- org.openrewrite.codemods.migrate.mui.JssToStyled
- Converts JSS styles to styled-components
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.JssToTssReact
- Converts JSS to TypeScript in React components
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.LinkUnderlineHover
- Updates link underline on hover
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.MaterialUiStyles
- Updates usage of
@mui/styles - See Material UI codemod projects for more details.
- Updates usage of
- org.openrewrite.codemods.migrate.mui.MaterialUiTypes
- Updates usage of
@mui/types - See Material UI codemod projects for more details.
- Updates usage of
- org.openrewrite.codemods.migrate.mui.ModalProps
- Updates props for Modal component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.MovedLabModules
- Moves lab modules to
@mui/material - See Material UI codemod projects for more details.
- Moves lab modules to
- org.openrewrite.codemods.migrate.mui.MuiReplace
- Replaces
@muiimports with@mui/material - See Material UI codemod projects for more details.
- Replaces
- org.openrewrite.codemods.migrate.mui.OptimalImports
- Optimizes imports
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.PaginationRoundCircular
- Updates
circularprop tovariant="circular" - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.PresetSafe
- Ensures presets are safe to use
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.RenameCssVariables
- Renames CSS variables
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.RootRef
- Converts
rootReftoref - See Material UI codemod projects for more details.
- Converts
- org.openrewrite.codemods.migrate.mui.SkeletonVariant
- Updates
variantprop for Skeleton component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.Styled
- Updates the usage of
styledfrom@mui/system@v5to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Updates the usage of
- org.openrewrite.codemods.migrate.mui.StyledEngineProvider
- Updates usage of styled engine provider
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.SxProp
- Update the usage of the
sxprop to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Update the usage of the
- org.openrewrite.codemods.migrate.mui.SystemProps
- Remove system props and add them to the
sxprop - See Material UI codemod projects for more details.
- Remove system props and add them to the
- org.openrewrite.codemods.migrate.mui.TableProps
- Updates props for Table component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TabsScrollButtons
- Updates scroll buttons for Tabs component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TextareaMinmaxRows
- Updates
minRowsandmaxRowsprops for TextareaAutosize component - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeAugment
- Adds
DefaultThememodule augmentation to typescript projects - See Material UI codemod projects for more details.
- Adds
- org.openrewrite.codemods.migrate.mui.ThemeBreakpoints
- Updates theme breakpoints
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeBreakpointsWidth
- Updates
widthvalues for theme breakpoints - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeOptions
- Updates theme options
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemePaletteMode
- Updates theme palette mode
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeProvider
- Updates usage of ThemeProvider
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeSpacing
- Updates theme spacing
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeSpacingApi
- Updates theme spacing API
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.ThemeTypographyRound
- Updates
roundvalues for theme typography - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.ThemeV
- Update the theme creation from
@mui/system@v5to be compatible with@pigment-css/react - See Material UI codemod projects for more details.
- Update the theme creation from
- org.openrewrite.codemods.migrate.mui.TopLevelImports
- Converts all
@mui/materialsubmodule imports to the root module - See Material UI codemod projects for more details.
- Converts all
- org.openrewrite.codemods.migrate.mui.Transitions
- Updates usage of transitions
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.TreeViewMovedToX
- Moves tree view to
@mui/x-tree-view - See Material UI codemod projects for more details.
- Moves tree view to
- org.openrewrite.codemods.migrate.mui.UseAutocomplete
- Updates usage of useAutocomplete
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.UseTransitionprops
- Updates usage of useTransitionProps
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.VariantProp
- Updates
variantprop usage - See Material UI codemod projects for more details.
- Updates
- org.openrewrite.codemods.migrate.mui.WithMobileDialog
- Updates withMobileDialog higher-order component
- See Material UI codemod projects for more details.
- org.openrewrite.codemods.migrate.mui.WithWidth
- Updates withWidth higher-order component
- See Material UI codemod projects for more details.
mvc
1 recipe
- com.oracle.weblogic.rewrite.jakarta.MigrateJavaxMVCToJakartaEE9
- Migrate javax.mvc to 2.0 (Jakarta EE 9)
- Upgrade Jakarta Model-View-Controller libraries to 2.0 (Jakarta EE9) versions.
myfaces
5 recipes
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries2
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries3
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces3OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces41OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade OmniFaces and MyFaces/Mojarra libraries to Jakarta EE11 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces4OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
mysql
1 recipe
- org.openrewrite.java.flyway.AddFlywayModuleMySQL
- Add missing Flyway module for MySQL
- Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-mysqldependency if you are using MySQL with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
namespaces
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JakartaEeNamespaces9_1
- Migrate from JavaX to Jakarta EE 9.1 Namespaces
- These recipes help with Migration From JavaX to Jakarta EE 9.1 Namespaces.
netty
5 recipes
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes
- Replace all
EventLoopGroups withMultiThreadIoEventLoopGroup - Replaces Netty's
new *EventLoopGroupwithnew MultiThreadIoEventLoopGroup(*IoHandler.newFactory()).
- Replace all
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes$EpollEventLoopGroupFactoryRecipe
- Replace
EpollEventLoopGroupwithMultiThreadIoEventLoopGroup - Replace
new EpollEventLoopGroup()withnew MultiThreadIoEventLoopGroup(EpollIoHandler.newFactory()).
- Replace
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes$LocalEventLoopGroupFactoryRecipe
- Replace
LocalEventLoopGroupwithMultiThreadIoEventLoopGroup - Replace
new LocalEventLoopGroup()withnew MultiThreadIoEventLoopGroup(LocalIoHandler.newFactory()).
- Replace
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes$NioEventLoopGroupFactoryRecipe
- Replace
NioEventLoopGroupwithMultiThreadIoEventLoopGroup - Replace
new NioEventLoopGroup()withnew MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()).
- Replace
- org.openrewrite.netty.UpgradeNetty_4_1_to_4_2
- Migrates from Netty 4.1.x to Netty 4.2.x
- Migrate applications to the latest Netty 4.2.x release.
networking
1 recipe
- org.openrewrite.java.migrate.net.JavaNetAPIs
- Use modernized
java.netAPIs - Certain Java networking APIs have become deprecated and their usages changed, necessitating usage changes.
- Use modernized
newrelic
1 recipe
- org.openrewrite.java.spring.opentelemetry.MigrateNewRelicToOpenTelemetry
- Migrate New Relic Agent to OpenTelemetry
- Migrate from New Relic Java Agent annotations to OpenTelemetry annotations. Replace @Trace annotations with @WithSpan annotations.
nextjs
12 recipes
- org.openrewrite.codemods.migrate.nextjs.NextJsCodemods
- Next.js Codemods for API Updates
- Next.js provides Codemod transformations to help upgrade your Next.js codebase when an API is updated or deprecated.
- org.openrewrite.codemods.migrate.nextjs.v10.AddMissingReactImport
- Add React imports
- Transforms files that do not import
Reactto include the import in order for the new React JSX transform to work.
- org.openrewrite.codemods.migrate.nextjs.v11.CraToNext
- Rename Next Image Imports
- Safely renames
next/imageimports in existing Next.js1011or12applications tonext/legacy/imagein Next.js 13. Also renamesnext/future/imagetonext/image.
- org.openrewrite.codemods.migrate.nextjs.v13_0.NewLink
- Remove
<a>Tags From Link Components - Remove
&lt;a&gt;tags inside Link Components or add alegacyBehaviorprop to Links that cannot be auto-fixed.
- Remove
- org.openrewrite.codemods.migrate.nextjs.v13_0.NextImageExperimental
- Migrate to the New Image Component
- Dangerously migrates from
next/legacy/imageto the newnext/imageby adding inline styles and removing unused props.
- org.openrewrite.codemods.migrate.nextjs.v13_0.NextImageToLegacyImage
- Rename Next Image Imports
- Safely renames
next/imageimports in existing Next.js1011or12applications tonext/legacy/imagein Next.js 13. Also renamesnext/future/imagetonext/image.
- org.openrewrite.codemods.migrate.nextjs.v13_2.BuiltInNextFont
- Use Built-in Font
- This codemod uninstalls the
@next/fontpackage and transforms@next/fontimports into the built-innext/font.
- org.openrewrite.codemods.migrate.nextjs.v14_0.MetadataToViewportExport
- Use
viewportexport - This codemod migrates certain viewport metadata to
viewportexport.
- Use
- org.openrewrite.codemods.migrate.nextjs.v14_0.NextOgImport
- Migrate
ImageResponseimports - This codemod moves transforms imports from
next/servertonext/ogfor usage of Dynamic OG Image Generation.
- Migrate
- org.openrewrite.codemods.migrate.nextjs.v6.UrlToWithrouter
- Use
withRouter - Transforms the deprecated automatically injected url property on top-level pages to using
withRouterand therouterproperty it injects. Read more here.
- Use
- org.openrewrite.codemods.migrate.nextjs.v8.WithampToConfig
- Transform AMP HOC into page config
- Transforms the
withAmpHOC into Next.js 9 page configuration.
- org.openrewrite.codemods.migrate.nextjs.v9.NameDefaultComponent
- Transform Anonymous Components into Named Components
- Transforms anonymous components into named components to make sure they work with Fast Refresh. The component will have a camel-cased name based on the name of the file, and it also works with arrow functions.
nio
1 recipe
- org.openrewrite.java.netty.EventLoopGroupToMultiThreadIoEventLoopGroupRecipes$NioEventLoopGroupFactoryRecipe
- Replace
NioEventLoopGroupwithMultiThreadIoEventLoopGroup - Replace
new NioEventLoopGroup()withnew MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()).
- Replace
nodejs
1 recipe
- org.openrewrite.github.SetupNodeUpgradeNodeVersion
- Upgrade
actions/setup-nodenode-version - Update the Node.js version used by
actions/setup-nodeif it is below the expected version number.
- Upgrade
non
1 recipe
- com.oracle.weblogic.rewrite.jakarta.MitigateUnaffectedNonEEJakarta9Packages
- Mitigate Unaffected Non-EE Jakarta 9 Packages
- Mitigate Unaffected Non-EE Jakarta 9 Packages. Reference: https://github.com/jakartaee/platform/blob/main/namespace/unaffected-packages.adoc
oauth2
2 recipes
- org.openrewrite.quarkus.spring.SpringBootOAuth2ClientToQuarkus
- Replace Spring Boot OAuth2 Client with Quarkus OIDC Client
- Migrates spring-boot-starter-oauth2-client
toquarkus-oidc-client`.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ResourceServerToQuarkus
- Replace Spring Boot OAuth2 Resource Server with Quarkus OIDC
- Migrates
spring-boot-starter-oauth2-resource-servertoquarkus-oidc.
observability
3 recipes
- io.moderne.java.spring.boot3.UpdateOpenTelemetryResourceAttributes
- Update OpenTelemetry resource attributes
- The
service.groupresource attribute has been deprecated for OpenTelemetry in Spring Boot 3.5. Consider using alternative attributes or remove the deprecated attribute.
- org.openrewrite.java.spring.opentelemetry.MigrateSleuthToOpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry. Spring Cloud Sleuth has been deprecated and is replaced by Micrometer Tracing with OpenTelemetry as a backend. This recipe removes Sleuth dependencies and adds OpenTelemetry instrumentation.
- org.openrewrite.java.spring.opentelemetry.MigrateToOpenTelemetry
- Complete migration to OpenTelemetry
- Comprehensive migration to OpenTelemetry including dependencies, configuration properties, and Java code changes. This recipe handles migration from Spring Cloud Sleuth, Brave/Zipkin, and OpenTracing to OpenTelemetry.
okhttp
1 recipe
- org.openrewrite.java.testing.junit5.UpgradeOkHttpMockWebServer
- Use OkHttp 3 MockWebServer for JUnit 5
- Migrates OkHttp 3
MockWebServerto enable JUnit Jupiter Extension support.
omnifaces
6 recipes
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries2
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries3
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.OmniFacesNamespaceMigration
- OmniFaces Namespace Migration
- Find and replace legacy OmniFaces namespaces.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces3OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces41OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade OmniFaces and MyFaces/Mojarra libraries to Jakarta EE11 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces4OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
openapi
10 recipes
- org.openrewrite.java.springdoc.MigrateSpringdocCommon
- Migrate from springdoc-openapi-common to springdoc-openapi-starter-common
- Migrate from springdoc-openapi-common to springdoc-openapi-starter-common.
- org.openrewrite.java.springdoc.SpringFoxToSpringDoc
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI.
- org.openrewrite.java.springdoc.SwaggerToSpringDoc
- Migrate from Swagger to SpringDoc and OpenAPI
- Migrate from Swagger to SpringDoc and OpenAPI.
- org.openrewrite.openapi.swagger.MigrateApiImplicitParamsToParameters
- Migrate from
@ApiImplicitParamsto@Parameters - Converts
@ApiImplicitParamsto@Parametersand the@ApiImplicitParamannotation to@Parameterand converts the directly mappable attributes and removes the others.
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiModelPropertyToSchema
- Migrate from
@ApiModelPropertyto@Schema - Converts the
@ApiModelPropertyannotation to@Schemaand converts the "value" attribute to "description".
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiOperationToOperation
- Migrate from
@ApiOperationto@Operation - Converts the
@ApiOperationannotation to@Operationand converts the directly mappable attributes and removes the others.
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiParamToParameter
- Migrate from
@ApiParamto@Parameter - Converts the
@ApiParamannotation to@Parameterand converts the directly mappable attributes.
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiResponsesToApiResponses
- Migrate from
@ApiResponsesto@ApiResponses - Changes the namespace of the
@ApiResponsesand@ApiResponseannotations and converts its attributes (ex. code -> responseCode, message -> description, response -> content).
- Migrate from
- org.openrewrite.openapi.swagger.SwaggerToOpenAPI
- Migrate from Swagger to OpenAPI
- Migrate from Swagger to OpenAPI.
- org.openrewrite.openapi.swagger.UseJakartaSwaggerArtifacts
- Use Jakarta Swagger Artifacts
- Migrate from javax Swagger artifacts to Jakarta versions.
opentelemetry
8 recipes
- io.moderne.java.spring.boot3.UpdateOpenTelemetryResourceAttributes
- Update OpenTelemetry resource attributes
- The
service.groupresource attribute has been deprecated for OpenTelemetry in Spring Boot 3.5. Consider using alternative attributes or remove the deprecated attribute.
- org.openrewrite.java.spring.opentelemetry.MigrateBraveToOpenTelemetry
- Migrate Brave API to OpenTelemetry API
- Migrate Java code using Brave (Zipkin) tracing API to OpenTelemetry API. This recipe handles the migration of Brave Tracer, Span, and related classes to OpenTelemetry equivalents.
- org.openrewrite.java.spring.opentelemetry.MigrateDatadogToOpenTelemetry
- Migrate Datadog tracing to OpenTelemetry
- Migrate from Datadog Java tracing annotations to OpenTelemetry annotations. Replace Datadog @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateFromZipkinToOpenTelemetry
- Migrate from Zipkin to OpenTelemetry OTLP
- Migrate from Zipkin tracing to OpenTelemetry OTLP. This recipe replaces Zipkin dependencies with OpenTelemetry OTLP exporter and updates the related configuration properties.
- org.openrewrite.java.spring.opentelemetry.MigrateNewRelicToOpenTelemetry
- Migrate New Relic Agent to OpenTelemetry
- Migrate from New Relic Java Agent annotations to OpenTelemetry annotations. Replace @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateOpenTracingToOpenTelemetry
- Migrate OpenTracing API to OpenTelemetry API
- Migrate Java code using OpenTracing API to OpenTelemetry API. OpenTracing has been superseded by OpenTelemetry and is no longer actively maintained.
- org.openrewrite.java.spring.opentelemetry.MigrateSleuthToOpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry. Spring Cloud Sleuth has been deprecated and is replaced by Micrometer Tracing with OpenTelemetry as a backend. This recipe removes Sleuth dependencies and adds OpenTelemetry instrumentation.
- org.openrewrite.java.spring.opentelemetry.MigrateToOpenTelemetry
- Complete migration to OpenTelemetry
- Comprehensive migration to OpenTelemetry including dependencies, configuration properties, and Java code changes. This recipe handles migration from Spring Cloud Sleuth, Brave/Zipkin, and OpenTracing to OpenTelemetry.
opentracing
1 recipe
- org.openrewrite.java.spring.opentelemetry.MigrateOpenTracingToOpenTelemetry
- Migrate OpenTracing API to OpenTelemetry API
- Migrate Java code using OpenTracing API to OpenTelemetry API. OpenTracing has been superseded by OpenTelemetry and is no longer actively maintained.
oracle
4 recipes
- org.openrewrite.java.flyway.AddFlywayModuleOracle
- Add missing Flyway module for Oracle
- Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-database-oracledependency if you are using Oracle with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.sql.ConvertOracleDataTypesToPostgres
- Convert Oracle data types to PostgreSQL
- Replaces Oracle-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertOracleFunctionsToPostgres
- Convert Oracle functions to PostgreSQL
- Replaces Oracle-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.MigrateOracleToPostgres
- Migrate Oracle SQL to PostgreSQL
- Converts Oracle-specific SQL syntax and functions to PostgreSQL equivalents.
orm
2 recipes
- com.oracle.weblogic.rewrite.hibernate.AddHibernateOrmCore61
- Add Hibernate ORM Core if has dependencies
- This recipe will add Hibernate ORM Core if has dependencies.
- org.openrewrite.java.migrate.jakarta.JavaxOrmXmlToJakartaOrmXml
- Migrate xmlns entries in
orm.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
oss
1 recipe
- org.openrewrite.java.AddApache2LicenseHeader
- Add ASLv2 license header
- Adds the Apache Software License Version 2.0 to Java source files which are missing a license header.
permissions
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxPermissionsXmlToJakarta9PermissionsXml
- Migrate xmlns entries in
permissions.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
persistence
5 recipes
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1412
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 Persistence Configuration schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1511
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inpersistence-configuration.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPersistenceTo31
- Update Jakarta Persistence to 3.1
- Update Jakarta Persistence to 3.1.
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPersistenceTo32
- Update Jakarta Persistence to 3.2
- Update Jakarta Persistence to 3.2.
- org.openrewrite.java.migrate.jakarta.JavaxOrmXmlToJakartaOrmXml
- Migrate xmlns entries in
orm.xmlfiles - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
petclinic
2 recipes
- com.oracle.weblogic.rewrite.examples.spring.MigratedPetClinicExtrasFor1511
- Add WebLogic 15.1.1 PetClinic extras
- Run migration extras for migrated Spring Framework PetClinic example run on WebLogic 15.1.1.
- com.oracle.weblogic.rewrite.examples.spring.SetupSpringFrameworkPetClinicFor1412
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2.
plain text
1 recipe
- org.openrewrite.text.ChangeText
- Change text
- Completely replaces the contents of the text file with other text. Use together with a
FindSourceFilesprecondition to limit which files are changed.
poi
1 recipe
- org.openrewrite.apache.poi.UpgradeApachePoi_3_17
- Migrates to Apache POI 3.17
- Migrates to the last Apache POI 3.x release. This recipe modifies build files and makes changes to deprecated/preferred APIs that have changed between versions.
postgresql
7 recipes
- org.openrewrite.java.flyway.AddFlywayModulePostgreSQL
- Add missing Flyway module for PostgreSQL
- Database modules for Flyway 10 have been split out in to separate modules for maintainability. Add the
flyway-database-postgresqldependency if you are using PostgreSQL with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.sql.ConvertOracleDataTypesToPostgres
- Convert Oracle data types to PostgreSQL
- Replaces Oracle-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertOracleFunctionsToPostgres
- Convert Oracle functions to PostgreSQL
- Replaces Oracle-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerDataTypesToPostgres
- Convert SQL Server data types to PostgreSQL
- Replaces SQL Server-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerFunctionsToPostgres
- Convert SQL Server functions to PostgreSQL
- Replaces SQL Server-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.MigrateOracleToPostgres
- Migrate Oracle SQL to PostgreSQL
- Converts Oracle-specific SQL syntax and functions to PostgreSQL equivalents.
- org.openrewrite.sql.MigrateSqlServerToPostgres
- Migrate SQL Server to PostgreSQL
- Converts Microsoft SQL Server-specific SQL syntax and functions to PostgreSQL equivalents.
primefaces
4 recipes
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries2
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- com.oracle.weblogic.rewrite.jakarta.UpgradeFacesOpenSourceLibraries3
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces3OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE9 versions.
- org.openrewrite.java.migrate.jakarta.UpgradeFaces4OpenSourceLibraries
- Upgrade Faces open source libraries
- Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
pubsub
2 recipes
- com.oracle.weblogic.rewrite.WebLogicPubSubXmlNamespace1412
- Migrate xmlns entries in
weblogic-pubsub.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic PubSub schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPubSubXmlNamespace1511
- Migrate xmlns entries in
weblogic-pubsub.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-pubsub.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
quarkus
38 recipes
- org.openrewrite.quarkus.spring.AddSpringCompatibilityExtensions
- Add Spring compatibility extensions for commonly used annotations
- Adds Quarkus Spring compatibility extensions when Spring annotations are detected in the codebase.
- org.openrewrite.quarkus.spring.DerbyDriverToQuarkus
- Replace Derby driver with Quarkus JDBC Derby
- Migrates
org.apache.derby:derbyorderbyclienttoio.quarkus:quarkus-jdbc-derby(excludes test scope).
- org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus
- Replace Derby test driver with Quarkus JDBC Derby (test scope)
- Migrates
org.apache.derby:derbywith test scope toio.quarkus:quarkus-jdbc-derbywith test scope.
- org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies
- Migrate
@EnableXyzannotations to Quarkus extensions - Removes Spring
@EnableXyzannotations and adds the corresponding Quarkus extensions as dependencies.
- Migrate
- org.openrewrite.quarkus.spring.H2DriverToQuarkus
- Replace H2 driver with Quarkus JDBC H2
- Migrates
com.h2database:h2toio.quarkus:quarkus-jdbc-h2(excludes test scope).
- org.openrewrite.quarkus.spring.H2TestDriverToQuarkus
- Replace H2 test driver with Quarkus JDBC H2 (test scope)
- Migrates
com.h2database:h2with test scope toio.quarkus:quarkus-jdbc-h2with test scope.
- org.openrewrite.quarkus.spring.MigrateBootStarters
- Replace Spring Boot starter dependencies with Quarkus equivalents
- Migrates Spring Boot starter dependencies to their Quarkus equivalents, removing version tags as Quarkus manages versions through its BOM.
- org.openrewrite.quarkus.spring.MigrateDatabaseDrivers
- Migrate database drivers to Quarkus JDBC extensions
- Replaces Spring Boot database driver dependencies with their Quarkus JDBC extension equivalents.
- org.openrewrite.quarkus.spring.MigrateMavenPlugin
- Add or replace Spring Boot build plugin with Quarkus build plugin
- Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom.
- org.openrewrite.quarkus.spring.SpringBootActiveMQToQuarkus
- Replace Spring Boot ActiveMQ with Quarkus Artemis JMS
- Migrates
spring-boot-starter-activemqtoquarkus-artemis-jms.
- org.openrewrite.quarkus.spring.SpringBootActuatorToQuarkus
- Replace Spring Boot Actuator with Quarkus SmallRye Health
- Migrates
spring-boot-starter-actuatortoquarkus-smallrye-health.
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic
- Replace Spring Boot AMQP with Quarkus Messaging RabbitMQ
- Migrates
spring-boot-starter-amqptoquarkus-messaging-rabbitmqwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive
- Replace Spring Boot AMQP with Quarkus Messaging AMQP
- Migrates
spring-boot-starter-amqptoquarkus-messaging-amqpwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootArtemisToQuarkus
- Replace Spring Boot Artemis with Quarkus Artemis JMS
- Migrates
spring-boot-starter-artemistoquarkus-artemis-jms.
- org.openrewrite.quarkus.spring.SpringBootBatchToQuarkus
- Replace Spring Boot Batch with Quarkus Scheduler
- Migrates
spring-boot-starter-batchtoquarkus-scheduler.
- org.openrewrite.quarkus.spring.SpringBootCacheToQuarkus
- Replace Spring Boot Cache with Quarkus Cache
- Migrates
spring-boot-starter-cachetoquarkus-cache.
- org.openrewrite.quarkus.spring.SpringBootDataJpaToQuarkus
- Replace Spring Boot Data JPA with Quarkus Hibernate ORM Panache
- Migrates
spring-boot-starter-data-jpatoquarkus-hibernate-orm-panache.
- org.openrewrite.quarkus.spring.SpringBootDataMongoToQuarkus
- Replace Spring Boot Data MongoDB with Quarkus MongoDB Panache
- Migrates
spring-boot-starter-data-mongodbtoquarkus-mongodb-panache.
- org.openrewrite.quarkus.spring.SpringBootDataRedisToQuarkus
- Replace Spring Boot Data Redis with Quarkus Redis Client
- Migrates
spring-boot-starter-data-redistoquarkus-redis-client.
- org.openrewrite.quarkus.spring.SpringBootDataRestToQuarkus
- Replace Spring Boot Data REST with Quarkus REST
- Migrates
spring-boot-starter-data-resttoquarkus-rest-jackson.
- org.openrewrite.quarkus.spring.SpringBootElasticsearchToQuarkus
- Replace Spring Boot Elasticsearch with Quarkus Elasticsearch REST Client
- Migrates
spring-boot-starter-data-elasticsearchtoquarkus-elasticsearch-rest-client.
- org.openrewrite.quarkus.spring.SpringBootIntegrationToQuarkus
- Replace Spring Boot Integration with Camel Quarkus
- Migrates
spring-boot-starter-integrationtocamel-quarkus-core.
- org.openrewrite.quarkus.spring.SpringBootJdbcToQuarkus
- Replace Spring Boot JDBC with Quarkus Agroal
- Migrates
spring-boot-starter-jdbctoquarkus-agroal.
- org.openrewrite.quarkus.spring.SpringBootMailToQuarkus
- Replace Spring Boot Mail with Quarkus Mailer
- Migrates
spring-boot-starter-mailtoquarkus-mailer.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ClientToQuarkus
- Replace Spring Boot OAuth2 Client with Quarkus OIDC Client
- Migrates spring-boot-starter-oauth2-client
toquarkus-oidc-client`.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ResourceServerToQuarkus
- Replace Spring Boot OAuth2 Resource Server with Quarkus OIDC
- Migrates
spring-boot-starter-oauth2-resource-servertoquarkus-oidc.
- org.openrewrite.quarkus.spring.SpringBootQuartzToQuarkus
- Replace Spring Boot Quartz with Quarkus Quartz
- Migrates
spring-boot-starter-quartztoquarkus-quartz.
- org.openrewrite.quarkus.spring.SpringBootSecurityToQuarkus
- Replace Spring Boot Security with Quarkus Security
- Migrates
spring-boot-starter-securitytoquarkus-security.
- org.openrewrite.quarkus.spring.SpringBootTestToQuarkus
- Replace Spring Boot Test with Quarkus JUnit 5
- Migrates
spring-boot-starter-testtoquarkus-junit5.
- org.openrewrite.quarkus.spring.SpringBootThymeleafToQuarkus
- Replace Spring Boot Thymeleaf with Quarkus Qute
- Migrates
spring-boot-starter-thymeleaftoquarkus-qute.
- org.openrewrite.quarkus.spring.SpringBootToQuarkus
- Migrate Spring Boot to Quarkus
- Replace Spring Boot with Quarkus.
- org.openrewrite.quarkus.spring.SpringBootValidationToQuarkus
- Replace Spring Boot Validation with Quarkus Hibernate Validator
- Migrates
spring-boot-starter-validationtoquarkus-hibernate-validator.
- org.openrewrite.quarkus.spring.SpringBootWebFluxToQuarkusReactive
- Replace Spring Boot WebFlux with Quarkus REST Client
- Migrates
spring-boot-starter-webfluxtoquarkus-rest-client-jacksonwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebSocketToQuarkus
- Replace Spring Boot WebSocket with Quarkus WebSockets
- Migrates
spring-boot-starter-websockettoquarkus-websockets.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusClassic
- Replace Spring Boot Web with Quarkus RESTEasy Classic
- Migrates
spring-boot-starter-webtoquarkus-resteasy-jacksonwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusReactive
- Replace Spring Boot Web with Quarkus REST
- Migrates
spring-boot-starter-webtoquarkus-rest-jacksonwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusClassic
- Replace Spring Kafka with Quarkus Kafka Client
- Migrates
spring-kafkatoquarkus-kafka-clientwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive
- Replace Spring Kafka with Quarkus Messaging Kafka
- Migrates
spring-kafkatoquarkus-messaging-kafkawhen reactor dependencies are present.
quartz
1 recipe
- org.openrewrite.quarkus.spring.SpringBootQuartzToQuarkus
- Replace Spring Boot Quartz with Quarkus Quartz
- Migrates
spring-boot-starter-quartztoquarkus-quartz.
ra
3 recipes
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1412
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Adapter schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1511
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ra.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxRaXmlToJakarta9RaXml
- Migrate xmlns entries in
ra.xmlfiles (Connectors). - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
rabbitmq
1 recipe
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic
- Replace Spring Boot AMQP with Quarkus Messaging RabbitMQ
- Migrates
spring-boot-starter-amqptoquarkus-messaging-rabbitmqwhen no reactor dependencies are present.
rdbms
2 recipes
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1412
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 RDBMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1511
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-rdbms-jar.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
reactive
4 recipes
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive
- Replace Spring Boot AMQP with Quarkus Messaging AMQP
- Migrates
spring-boot-starter-amqptoquarkus-messaging-amqpwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebFluxToQuarkusReactive
- Replace Spring Boot WebFlux with Quarkus REST Client
- Migrates
spring-boot-starter-webfluxtoquarkus-rest-client-jacksonwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusReactive
- Replace Spring Boot Web with Quarkus REST
- Migrates
spring-boot-starter-webtoquarkus-rest-jacksonwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive
- Replace Spring Kafka with Quarkus Messaging Kafka
- Migrates
spring-kafkatoquarkus-messaging-kafkawhen reactor dependencies are present.
reactor
2 recipes
- org.openrewrite.reactive.reactor.ReactorBestPractices
- Reactor Best Practices
- This recipe applies best practices for using Reactor.
- org.openrewrite.reactive.reactor.UpgradeReactor_3_5
- Migrate to Reactor 3.5
- Adopt to breaking changes in Reactor 3.5.
redis
1 recipe
- org.openrewrite.quarkus.spring.SpringBootDataRedisToQuarkus
- Replace Spring Boot Data Redis with Quarkus Redis Client
- Migrates
spring-boot-starter-data-redistoquarkus-redis-client.
refactoring
1 recipe
- org.openrewrite.java.migrate.lang.UseVar
- Use local variable type inference
- Apply local variable type inference (
var) for primitives and objects. These recipes can cause unused imports, be advised to run `org.openrewrite.java.RemoveUnusedImports afterwards.
resource
2 recipes
- com.oracle.weblogic.rewrite.WebLogicResourceDeploymentPlanXmlNamespace1412
- Migrate xmlns entries in
resource-deployment-plan.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Deployment Plan schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicResourceDeploymentPlanXmlNamespace1511
- Migrate xmlns entries in
resource-deployment-plan.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inresource-deployment-plan.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
rest
1 recipe
- org.openrewrite.quarkus.spring.SpringBootDataRestToQuarkus
- Replace Spring Boot Data REST with Quarkus REST
- Migrates
spring-boot-starter-data-resttoquarkus-rest-jackson.
richfaces
3 recipes
- io.moderne.java.jsf.MigrateToJsf_2_3
- Migrate to JSF 2.3
- Complete migration to JSF 2.3, including associated technologies like RichFaces. Updates dependencies, transforms XHTML views, and migrates Java APIs.
- io.moderne.java.jsf.richfaces.MigrateRichFaces_4_5
- Migrate RichFaces 3.x to 4.5
- Complete RichFaces 3.x to 4.5 migration including tag renames, attribute migrations, and Java API updates.
- io.moderne.java.jsf.richfaces.update45.UpdateXHTMLTags
- Migrate RichFaces tags in
xhtmlfiles - Migrate RichFaces tags in
xhtmlfiles to RichFaces 4.
- Migrate RichFaces tags in
RSPEC
195 recipes
- org.openrewrite.java.RemoveUnusedImports
- Remove unused imports
- Remove imports for types that are not referenced. As a precaution against incorrect changes no imports will be removed from any source where unknown types are referenced. The most common cause of unknown types is the use of annotation processors not supported by OpenRewrite, such as lombok.
- org.openrewrite.java.format.EmptyNewlineAtEndOfFile
- End files with a single newline
- Some tools work better when files end with an empty line.
- org.openrewrite.java.format.WrappingAndBraces
- Wrapping and braces
- Format line wraps and braces in Java code.
- org.openrewrite.java.logging.ParameterizedLogging
- Parameterize logging statements
- Transform logging statements using concatenation for messages and variables into a parameterized format. For example,
logger.info("hi " + userName)becomeslogger.info("hi {}", userName). This can significantly boost performance for messages that otherwise would be assembled with String concatenation. Particularly impactful when the log level is not enabled, as no work is done to assemble the message.
- org.openrewrite.java.logging.slf4j.LoggersNamedForEnclosingClass
- Loggers should be named for their enclosing classes
- Ensure
LoggerFactory#getLogger(Class)is called with the enclosing class as argument.
- org.openrewrite.java.logging.slf4j.ParameterizedLogging
- Parameterize SLF4J's logging statements
- Use SLF4J's parameterized logging, which can significantly boost performance for messages that otherwise would be assembled with String concatenation. Particularly impactful when the log level is not enabled, as no work is done to assemble the message.
- org.openrewrite.java.migrate.guava.NoGuavaCreateTempDir
- Prefer
Files#createTempDirectory() - Replaces Guava
Files#createTempDir()with JavaFiles#createTempDirectory(..). Transformations are limited to scopes throwing or catchingjava.io.IOException.
- Prefer
- org.openrewrite.java.migrate.guava.NoGuavaOptionalFromJavaUtil
- Replace
com.google.common.base.Optional#fromJavaUtil(java.util.Optional)with argument - Replaces
com.google.common.base.Optional#fromJavaUtil(java.util.Optional)with argument.
- Replace
- org.openrewrite.java.migrate.guava.NoGuavaOptionalToJavaUtil
- Remove
com.google.common.base.Optional#toJavaUtil() - Remove calls to
com.google.common.base.Optional#toJavaUtil().
- Remove
- org.openrewrite.java.migrate.guava.PreferJavaUtilFunction
- Prefer
java.util.function.Function - Prefer
java.util.function.Functioninstead of usingcom.google.common.base.Function.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilOptional
- Prefer
java.util.Optional - Prefer
java.util.Optionalinstead of usingcom.google.common.base.Optional.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilOptionalOrElseNull
- Prefer
java.util.Optional#orElse(null)overcom.google.common.base.Optional#orNull() - Replaces
com.google.common.base.Optional#orNull()withjava.util.Optional#orElse(null).
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilOptionalOrSupplier
- Prefer
java.util.Optional#or(Supplier<T extends java.util.Optional<T>>) - Prefer
java.util.Optional#or(Supplier<T extends java.util.Optional<T>>)over `com.google.common.base.Optional#or(com.google.common.base.Optional).
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilPredicate
- Prefer
java.util.function.Predicate - Prefer
java.util.function.Predicateinstead of usingcom.google.common.base.Predicate.
- Prefer
- org.openrewrite.java.migrate.guava.PreferJavaUtilSupplier
- Prefer
java.util.function.Supplier - Prefer
java.util.function.Supplierinstead of usingcom.google.common.base.Supplier.
- Prefer
- org.openrewrite.java.migrate.util.ReplaceStreamCollectWithToList
- Replace
Stream.collect(Collectors.toUnmodifiableList())withStream.toList() - Replace
Stream.collect(Collectors.toUnmodifiableList())with Java 16+Stream.toList(). Also replacesStream.collect(Collectors.toList())ifconvertToListis set totrue.
- Replace
- org.openrewrite.java.search.FindEmptyClasses
- Find empty classes
- Find empty classes without annotations that do not implement an interface or extend a class.
- org.openrewrite.java.search.FindEmptyMethods
- Find methods with empty bodies
- Find methods with empty bodies and single public no arg constructors.
- org.openrewrite.java.security.SecureRandom
- Secure random
- Use cryptographically secure Pseudo Random Number Generation in the "main" source set. Replaces instantiation of
java.util.Randomwithjava.security.SecureRandom.
- org.openrewrite.java.security.SecureRandomPrefersDefaultSeed
- SecureRandom seeds are not constant or predictable
- Remove
SecureRandom#setSeed(*)method invocations having constant or predictable arguments.
- org.openrewrite.java.security.UseFilesCreateTempDirectory
- Use
Files#createTempDirectory - Use
Files#createTempDirectorywhen the sequenceFile#createTempFile(..)->File#delete()->File#mkdir()is used for creating a temp directory.
- Use
- org.openrewrite.java.spring.NoRequestMappingAnnotation
- Remove
@RequestMappingannotations - Replace method declaration
@RequestMappingannotations with@GetMapping,@PostMapping, etc. when possible.
- Remove
- org.openrewrite.java.testing.assertj.SimplifyChainedAssertJAssertion
- Simplify AssertJ chained assertions
- Many AssertJ chained assertions have dedicated assertions that function the same. It is best to use the dedicated assertions.
- org.openrewrite.java.testing.cleanup.AssertionsArgumentOrder
- Assertion arguments should be passed in the correct order
- Assertions such as
org.junit.Assert.assertEqualsexpect the first argument to be the expected value and the second argument to be the actual value; fororg.testng.Assert, it’s the other way around. This recipe detectsJ.Literal,J.NewArray, andjava.util.Iterablearguments swapping them if necessary so that the error messages won't be confusing.
- org.openrewrite.java.testing.cleanup.RemoveEmptyTests
- Remove empty tests without comments
- Removes empty methods with a
@Testannotation if the body does not have comments.
- org.openrewrite.java.testing.cleanup.TestsShouldIncludeAssertions
- Include an assertion in tests
- For tests not having any assertions, wrap the statements with JUnit Jupiter's
Assertions#assertDoesNotThrow(..).
- org.openrewrite.java.testing.cleanup.TestsShouldNotBePublic
- Remove
publicvisibility of JUnit 5 tests - Remove
publicand optionallyprotectedmodifiers 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.
- Remove
- org.openrewrite.java.testing.junit5.AddMissingNested
- JUnit 5 inner test classes should be annotated with
@Nested - Adds
@Nestedto inner classes that contain JUnit 5 tests.
- JUnit 5 inner test classes should be annotated with
- org.openrewrite.java.testing.junit5.RemoveTryCatchFailBlocks
- Replace
fail()intry-catchblocks withAssertions.assertDoesNotThrow(() -> { ... }) - Replace
try-catchblocks wherecatchmerely contains afail()forfail(String)statement withAssertions.assertDoesNotThrow(() -> { ... }).
- Replace
- org.openrewrite.java.testing.mockito.SimplifyMockitoVerifyWhenGiven
- Call to Mockito method "verify", "when" or "given" should be simplified
- Fixes Sonar issue
java:S6068: Call to Mockito method "verify", "when" or "given" should be simplified.
- org.openrewrite.kotlin.cleanup.EqualsMethodUsage
- Structural equality tests should use
==or!= - In Kotlin,
==means structural equality and!=structural inequality and both map to the left-side term’sequals()function. It is, therefore, redundant to callequals()as a function. Also,==and!=are more general thanequals()and!equals()because it allows either of both operands to benull. Developers usingequals()instead of==or!=is often the result of adapting styles from other languages like Java, where==means reference equality and!=means reference inequality. The==and!=operators are a more concise and elegant way to test structural equality than calling a function.
- Structural equality tests should use
- org.openrewrite.kotlin.cleanup.ImplicitParameterInLambda
itshouldn't be used as a lambda parameter nameitis a special identifier that allows you to refer to the current parameter being passed to a lambda expression without explicitly naming the parameter. Lambda expressions are a concise way of writing anonymous functions. Many lambda expressions have only one parameter, when this is true the compiler can determine the parameter type by context. Thus when using it with single parameter lambda expressions, you do not need to declare the type.
- org.openrewrite.maven.OrderPomElements
- Order POM elements
- Order POM elements according to the recommended order.
- org.openrewrite.staticanalysis.AbstractClassPublicConstructor
- Constructors of an
abstractclass should not be declaredpublic - Constructors of
abstractclasses can only be called in constructors of their subclasses. Therefore the visibility ofpublicconstructors are reduced toprotected.
- Constructors of an
- org.openrewrite.staticanalysis.AddSerialVersionUidToSerializable
- Add
serialVersionUIDto aSerializableclass when missing - A
serialVersionUIDfield is strongly recommended in allSerializableclasses. If this is not defined on aSerializableclass, the compiler will generate this value. If a change is later made to the class, the generated value will change and attempts to deserialize the class will fail.
- Add
- org.openrewrite.staticanalysis.AtomicPrimitiveEqualsUsesGet
- Atomic Boolean, Integer, and Long equality checks compare their values
AtomicBoolean#equals(Object),AtomicInteger#equals(Object)andAtomicLong#equals(Object)are only equal to their instance. This recipe convertsa.equals(b)toa.get() == b.get().
- org.openrewrite.staticanalysis.AvoidBoxedBooleanExpressions
- Avoid boxed boolean expressions
- Under certain conditions the
java.lang.Booleantype is used as an expression, and it may throw aNullPointerExceptionif the value is null.
- org.openrewrite.staticanalysis.BigDecimalDoubleConstructorRecipe
new BigDecimal(double)should not be used- Use of
new BigDecimal(double)constructor can lead to loss of precision. UseBigDecimal.valueOf(double)instead. For example writingnew BigDecimal(0.1)does not create aBigDecimalwhich is exactly equal to0.1, but it is equal to0.1000000000000000055511151231257827021181583404541015625. This is because0.1cannot be represented exactly as a double (or, for that matter, as a binary fraction of any finite length).
- org.openrewrite.staticanalysis.BigDecimalRoundingConstantsToEnums
BigDecimalrounding constants toRoundingModeenums- Convert
BigDecimalrounding constants to the equivalentRoundingModeenum.
- org.openrewrite.staticanalysis.BooleanChecksNotInverted
- Boolean checks should not be inverted
- Ensures that boolean checks are not unnecessarily inverted. Also fixes double negative boolean expressions.
- org.openrewrite.staticanalysis.CaseInsensitiveComparisonsDoNotChangeCase
- CaseInsensitive comparisons do not alter case
- Remove
String#toLowerCase()orString#toUpperCase()fromString#equalsIgnoreCase(..)comparisons.
- org.openrewrite.staticanalysis.CatchClauseOnlyRethrows
- Catch clause should do more than just rethrow
- A
catchclause that only rethrows the caught exception is unnecessary. Letting the exception bubble up as normal achieves the same result with less code.
- org.openrewrite.staticanalysis.CollectionToArrayShouldHaveProperType
- 'Collection.toArray()' should be passed an array of the proper type
- Using
Collection.toArray()without parameters returns anObject[], which requires casting. It is more efficient and clearer to useCollection.toArray(new T[0])instead.
- org.openrewrite.staticanalysis.CombineSemanticallyEqualCatchBlocks
- Combine semantically equal catch blocks
- Combine catches in a try that contain semantically equivalent blocks. No change will be made when a caught exception exists if combining catches may change application behavior or type attribution is missing.
- org.openrewrite.staticanalysis.CommonDeclarationSiteTypeVariances
- Properly use declaration-site type variance for well-known types
- When using a method parameter like
Function<IN, OUT>, it should rather beFunction<? super IN, ? extends OUT>. This recipe checks for method parameters of well-known types.
- org.openrewrite.staticanalysis.CompareEnumsWithEqualityOperator
- Enum values should be compared with "=="
- Replaces
Enum equals(java.lang.Object)withEnum == java.lang.Object. An!Enum equals(java.lang.Object)will change to!=.
- org.openrewrite.staticanalysis.ControlFlowIndentation
- Control flow statement indentation
- Program flow control statements like
if,while, andforcan omit curly braces when they apply to only a single statement. This recipe ensures that any statements which follow that statement are correctly indented to show they are not part of the flow control statement.
- org.openrewrite.staticanalysis.CovariantEquals
- Covariant equals
- Checks that classes and records which define a covariant
equals()method also override methodequals(Object). Covariantequals()means a method that is similar toequals(Object), but with a covariant parameter type (any subtype ofObject).
- org.openrewrite.staticanalysis.DefaultComesLast
- Default comes last
- Ensure the
defaultcase comes last after all the cases in a switch statement.
- org.openrewrite.staticanalysis.EmptyBlock
- Remove empty blocks
- Remove empty blocks that effectively do nothing.
- org.openrewrite.staticanalysis.EqualsAvoidsNull
- Equals avoids null
- 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 assomeString.equals(anotherString = "text")). And removes redundant null checks in conjunction with equals comparisons.
- org.openrewrite.staticanalysis.ExplicitInitialization
- Explicit initialization
- Checks if any class or object member is explicitly initialized to default for its type value: -
nullfor object references - zero for numeric types andchar- andfalseforbooleanRemoves explicit initializations where they aren't necessary.
- org.openrewrite.staticanalysis.ExplicitLambdaArgumentTypes
- Use explicit types on lambda arguments
- Adds explicit types on lambda arguments, which are otherwise optional. This can make the code clearer and easier to read. This does not add explicit types on arguments when the lambda has one or two parameters and does not have a block body, as things are considered more readable in those cases. For example,
stream.map((a, b) -> a.length);will not have explicit types added.
- org.openrewrite.staticanalysis.ExternalizableHasNoArgsConstructor
Externalizableclasses have no-arguments constructorExternalizableclasses handle both serialization and deserialization and must have a no-args constructor for the deserialization process.
- org.openrewrite.staticanalysis.FallThrough
- Fall through
- Checks for fall-through in switch statements, adding
breakstatements in locations where a case contains Java code but does not have abreak,return,throw, orcontinuestatement.
- org.openrewrite.staticanalysis.FinalClass
- Finalize classes with private constructors
- Adds the
finalmodifier to classes that expose no public or package-private constructors.
- org.openrewrite.staticanalysis.FixStringFormatExpressions
- Fix
String#formatandString#formattedexpressions - Fix
String#formatandString#formattedexpressions by replacing\nnewline characters with%nand removing any unused arguments. Note this recipe is scoped to only transform format expressions which do not specify the argument index.
- Fix
- org.openrewrite.staticanalysis.ForLoopIncrementInUpdate
forloop counters incremented in update- The increment should be moved to the loop's increment clause if possible.
- org.openrewrite.staticanalysis.HiddenField
- Hidden field
- Refactor local variables or parameters which shadow a field defined in the same class.
- org.openrewrite.staticanalysis.HideUtilityClassConstructor
- Hide utility class constructor
- Ensures utility classes (classes containing only static methods or fields in their API) do not have a public constructor.
- org.openrewrite.staticanalysis.IndexOfChecksShouldUseAStartPosition
- Use
indexOf(String, int) - Replaces
indexOf(String)in binary operations if the compared value is an int and not less than 1.
- Use
- org.openrewrite.staticanalysis.IndexOfReplaceableByContains
indexOf()replaceable bycontains()- Checking if a value is included in a
StringorListusingindexOf(value)>-1orindexOf(value)>=0can be replaced withcontains(value).
- org.openrewrite.staticanalysis.IndexOfShouldNotCompareGreaterThanZero
indexOfshould not compare greater than zero- Replaces
String#indexOf(String) > 0andList#indexOf(Object) > 0with>=1. CheckingindexOfagainst>0ignores the first element, whereas>-1is inclusive of the first element. For clarity,>=1is used, because>0and>=1are semantically equal. Using>0may appear to be a mistake with the intent of including all elements. If the intent is to check whether a value in included in aStringorList, theString#contains(String)orList#contains(Object)methods may be better options altogether.
- org.openrewrite.staticanalysis.InlineVariable
- Inline variable
- Inline variables when they are immediately used to return or throw. Supports both variable declarations and assignments to local variables.
- org.openrewrite.staticanalysis.IsEmptyCallOnCollections
- Use
Collection#isEmpty()instead of comparingsize() - Also check for not
isEmpty()when testing for not equal to zero size.
- Use
- org.openrewrite.staticanalysis.LowercasePackage
- Rename packages to lowercase
- By convention all Java package names should contain only lowercase letters, numbers, and dashes. This recipe converts any uppercase letters in package names to be lowercase.
- org.openrewrite.staticanalysis.MethodNameCasing
- Standardize method name casing
- Fixes method names that do not follow standard naming conventions. For example,
String getFoo_bar()would be adjusted toString getFooBar()andint DoSomething()would be adjusted toint doSomething().
- org.openrewrite.staticanalysis.MinimumSwitchCases
switchstatements should have at least 3caseclausesswitchstatements are useful when many code paths branch depending on the value of a single expression. For just one or two code paths, the code will be more readable withifstatements.
- org.openrewrite.staticanalysis.MissingOverrideAnnotation
- Add missing
@Overrideto overriding and implementing methods - Adds
@Overrideto methods overriding superclass methods or implementing interface methods. Annotating methods improves readability by showing the author's intent to override. Additionally, when annotated, the compiler will emit an error when a signature of the overridden method does not match the superclass method.
- Add missing
- org.openrewrite.staticanalysis.ModifierOrder
- Modifier order
- Modifiers should be declared in the correct order as recommended by the JLS.
- org.openrewrite.staticanalysis.MultipleVariableDeclarations
- No multiple variable declarations
- Places each variable declaration in its own statement and on its own line. Using one variable declaration per line encourages commenting and can increase readability.
- org.openrewrite.staticanalysis.NeedBraces
- Fix missing braces
- Adds missing braces around code such as single-line
if,for,while, anddo-whileblock bodies.
- org.openrewrite.staticanalysis.NestedEnumsAreNotStatic
- Nested enums are not static
- Remove static modifier from nested enum types since they are implicitly static.
- org.openrewrite.staticanalysis.NewStringBuilderBufferWithCharArgument
- Change
StringBuilderandStringBuffercharacter constructor argument toString - Instantiating a
StringBuilderor aStringBufferwith aCharacterresults in theintrepresentation of the character being used for the initial size.
- Change
- org.openrewrite.staticanalysis.NoDoubleBraceInitialization
- No double brace initialization
- Replace
List,Map, andSetdouble brace initialization with an initialization block.
- org.openrewrite.staticanalysis.NoEmptyCollectionWithRawType
- Use
Collections#emptyList(),emptyMap(), andemptySet() - Replaces
Collections#EMPTY_...with methods that return generic types.
- Use
- org.openrewrite.staticanalysis.NoEqualityInForCondition
- Use comparison rather than equality checks in for conditions
- Testing for loop termination using an equality operator (
==and!=) is dangerous, because it could set up an infinite loop. Using a relational operator instead makes it harder to accidentally write an infinite loop.
- org.openrewrite.staticanalysis.NoFinalizer
- Remove
finalize()method - Finalizers are deprecated. Use of
finalize()can lead to performance issues, deadlocks, hangs, and other undesirable behavior.
- Remove
- org.openrewrite.staticanalysis.NoPrimitiveWrappersForToStringOrCompareTo
- No primitive wrappers for #toString() or #compareTo(..)
- Primitive wrappers should not be instantiated only for
#toString()or#compareTo(..)invocations.
- org.openrewrite.staticanalysis.NoRedundantJumpStatements
- Jump statements should not be redundant
- Jump statements such as return and continue let you change the default flow of program execution, but jump statements that direct the control flow to the original direction are just a waste of keystrokes.
- org.openrewrite.staticanalysis.NoToStringOnStringType
- Unnecessary
String#toString - Remove unnecessary
String#toStringinvocations on objects which are already a string.
- Unnecessary
- org.openrewrite.staticanalysis.NoValueOfOnStringType
- Unnecessary
String#valueOf(..) - Replace unnecessary
String#valueOf(..)method invocations with the argument directly. This occurs when the argument toString#valueOf(arg)is a string literal, such asString.valueOf("example"). Or, when theString#valueOf(..)invocation is used in a concatenation, such as"example" + String.valueOf("example").
- Unnecessary
- org.openrewrite.staticanalysis.ObjectFinalizeCallsSuper
finalize()calls super- Overrides of
Object#finalize()should call super.
- org.openrewrite.staticanalysis.OnlyCatchDeclaredExceptions
- Replace
catch(Exception)with specific declared exceptions thrown in the try block - Replaces
catch(Exception e)blocks with a multi-catch block (catch (SpecificException1 | SpecificException2 e)) containing only the exceptions declared thrown by method or constructor invocations within thetryblock that are not already caught by more specificcatchclauses.
- Replace
- org.openrewrite.staticanalysis.PrimitiveWrapperClassConstructorToValueOf
- Use primitive wrapper
valueOfmethod - The constructor of all primitive types has been deprecated in favor of using the static factory method
valueOfavailable for each of the primitive type wrappers.
- Use primitive wrapper
- org.openrewrite.staticanalysis.ReferentialEqualityToObjectEquals
- Replace referential equality operators with Object equals method invocations when the operands both override
Object.equals(Object obj) - Using
==or!=compares object references, not the equality of two objects. This modifies code where both sides of a binary operation (==or!=) overrideObject.equals(Object obj)except when the comparison is within an overriddenObject.equals(Object obj)method declaration itself. The resulting transformation must be carefully reviewed since any modifications change the program's semantics.
- Replace referential equality operators with Object equals method invocations when the operands both override
- org.openrewrite.staticanalysis.RemoveCallsToObjectFinalize
- Remove
Object.finalize()invocations - Remove calls to
Object.finalize(). This method is called during garbage collection and calling it manually is misleading.
- Remove
- org.openrewrite.staticanalysis.RemoveCallsToSystemGc
- Remove garbage collection invocations
- Removes calls to
System.gc()andRuntime.gc(). When to invoke garbage collection is best left to the JVM.
- org.openrewrite.staticanalysis.RemoveExtraSemicolons
- Remove extra semicolons
- Removes not needed semicolons. Semicolons are considered not needed: * Optional semicolons at the end of try-with-resources, * after the last enum value if no field or method is defined, * no statement between two semicolon.
- org.openrewrite.staticanalysis.RemoveHashCodeCallsFromArrayInstances
hashCode()should not be called on array instances- Replace
hashCode()calls on arrays withArrays.hashCode()because the results fromhashCode()are not helpful.
- org.openrewrite.staticanalysis.RemoveRedundantNullCheckBeforeInstanceof
- Remove redundant null checks before instanceof
- Removes redundant null checks before instanceof operations since instanceof returns false for null.
- org.openrewrite.staticanalysis.RemoveRedundantTypeCast
- Remove redundant casts
- Removes unnecessary type casts. Does not currently check casts in lambdas and class constructors.
- org.openrewrite.staticanalysis.RemoveToStringCallsFromArrayInstances
- Remove
toString()calls on arrays - The result from
toString()calls on arrays is largely useless. The output does not actually reflect the contents of the array.Arrays.toString(array)should be used instead as it gives the contents of the array.
- Remove
- org.openrewrite.staticanalysis.RemoveUnusedLocalVariables
- Remove unused local variables
- If a local variable is declared but not used, it is dead code and should be removed.
- org.openrewrite.staticanalysis.RemoveUnusedPrivateFields
- Remove unused private fields
- If a private field is declared but not used in the program, it can be considered dead code and should therefore be removed.
- org.openrewrite.staticanalysis.RemoveUnusedPrivateMethods
- Remove unused private methods
privatemethods that are never executed are dead code and should be removed.
- org.openrewrite.staticanalysis.RenameLocalVariablesToCamelCase
- Reformat local variable names to camelCase
- Reformat local variable and method parameter names to camelCase to comply with Java naming convention. The recipe will not rename variables declared in for loop controls or catches with a single character. The first character is set to lower case and existing capital letters are preserved. Special characters that are allowed in java field names
$and_are removed (unless the name starts with one). If a special character is removed the next valid alphanumeric will be capitalized. Currently, does not support renaming members of classes. The recipe will not rename a variable if the result already exists in the class, conflicts with a java reserved keyword, or the result is blank.
- org.openrewrite.staticanalysis.RenameMethodsNamedHashcodeEqualOrToString
- Rename methods named
hashcode,equal, ortostring - Methods should not be named
hashcode,equal, ortostring. Any of these are confusing as they appear to be intended as overridden methods from theObjectbase class, despite being case-insensitive.
- Rename methods named
- org.openrewrite.staticanalysis.RenamePrivateFieldsToCamelCase
- Reformat private field names to camelCase
- Reformat private field names to camelCase to comply with Java naming convention. The recipe will not rename fields with default, protected or public access modifiers. The recipe will not rename private constants. The first character is set to lower case and existing capital letters are preserved. Special characters that are allowed in java field names
$and_are removed. If a special character is removed the next valid alphanumeric will be capitalized. The recipe will not rename a field if the result already exists in the class, conflicts with a java reserved keyword, or the result is blank.
- org.openrewrite.staticanalysis.ReplaceClassIsInstanceWithInstanceof
- Replace
A.class.isInstance(a)witha instanceof A - There should be no
A.class.isInstance(a), it should be replaced bya instanceof A.
- Replace
- org.openrewrite.staticanalysis.ReplaceDuplicateStringLiterals
- Replace duplicate
Stringliterals - Replaces
Stringliterals with a length of 5 or greater repeated a minimum of 3 times. QualifiedStringliterals include final Strings, method invocations, and new class invocations. Adds a newprivate static final Stringor uses an existing equivalent class field. A new variable name will be generated based on the literal value if an existing field does not exist. The generated name will append a numeric value to the variable name if a name already exists in the compilation unit.
- Replace duplicate
- org.openrewrite.staticanalysis.ReplaceLambdaWithMethodReference
- Use method references in lambda
- Replaces the single statement lambdas
o -> o instanceOf X,o -> (A) o,o -> System.out.println(o),o -> o != null,o -> o == nullwith the equivalent method reference.
- org.openrewrite.staticanalysis.ReplaceStringConcatenationWithStringValueOf
- Replace String concatenation with
String.valueOf() - Replace inefficient string concatenation patterns like
"" + ...withString.valueOf(...). This improves code readability and may have minor performance benefits.
- Replace String concatenation with
- org.openrewrite.staticanalysis.ReplaceThreadRunWithThreadStart
- Replace calls to
Thread.run()withThread.start() Thread.run()should not be called directly.
- Replace calls to
- org.openrewrite.staticanalysis.ReplaceWeekYearWithYear
- Week Year (YYYY) should not be used for date formatting
- For most dates Week Year (YYYY) and Year (yyyy) yield the same results. However, on the last week of December and the first week of January, Week Year could produce unexpected results.
- org.openrewrite.staticanalysis.SimplifyArraysAsList
- Simplify
Arrays.asList(..)with varargs - Simplifies
Arrays.asList()method calls that use explicit array creation to use varargs instead. For example,Arrays.asList(new String[]{"a", "b", "c"})becomesArrays.asList("a", "b", "c").
- Simplify
- org.openrewrite.staticanalysis.SimplifyBooleanExpression
- Simplify boolean expression
- Checks for overly complicated boolean expressions, such as
if (b == true),b || true,!false, etc.
- org.openrewrite.staticanalysis.SimplifyBooleanExpressionWithDeMorgan
- Simplify boolean expressions using De Morgan's laws
- Applies De Morgan's laws to simplify boolean expressions with negation. Transforms
!(a && b)to!a || !band!(a || b)to!a && !b.
- org.openrewrite.staticanalysis.SimplifyBooleanReturn
- Simplify boolean return
- Simplifies Boolean expressions by removing redundancies. For example,
a && truesimplifies toa.
- org.openrewrite.staticanalysis.StaticMethodNotFinal
- Static methods need not be final
- Static methods do not need to be declared final because they cannot be overridden.
- org.openrewrite.staticanalysis.StringLiteralEquality
- Use
String.equals()onStringliterals String.equals()should be used when checking value equality on String literals. Using==or!=compares object references, not the actual value of the Strings. This only modifies code where at least one side of the binary operation (==or!=) is a String literal, such as"someString" == someVariable;. This is to prevent inadvertently changing code where referential equality is the user's intent.
- Use
- org.openrewrite.staticanalysis.TernaryOperatorsShouldNotBeNested
- Ternary operators should not be nested
- Nested ternary operators can be hard to read quickly. Prefer simpler constructs for improved readability. If supported, this recipe will try to replace nested ternaries with switch expressions.
- org.openrewrite.staticanalysis.URLEqualsHashCodeRecipes
- URL Equals and Hash Code
- Uses of
equals()andhashCode()causejava.net.URLto make blocking internet connections. Instead, usejava.net.URI.
- org.openrewrite.staticanalysis.URLEqualsHashCodeRecipes$URLEqualsRecipe
- URL Equals
- Uses of
equals()causejava.net.URLto make blocking internet connections. Instead, usejava.net.URI.
- org.openrewrite.staticanalysis.URLEqualsHashCodeRecipes$URLHashCodeRecipe
- URL Hash Code
- Uses of
hashCode()causejava.net.URLto make blocking internet connections. Instead, usejava.net.URI.
- org.openrewrite.staticanalysis.UnnecessaryCloseInTryWithResources
- Unnecessary close in try-with-resources
- Remove unnecessary
AutoCloseable#close()statements in try-with-resources.
- org.openrewrite.staticanalysis.UnnecessaryParentheses
- Remove unnecessary parentheses
- Removes unnecessary parentheses from code where extra parentheses pairs are redundant.
- org.openrewrite.staticanalysis.UnnecessaryPrimitiveAnnotations
- Remove
@Nullableand@CheckForNullannotations from primitives - Primitives can't be null anyway, so these annotations are not useful in this context.
- Remove
- org.openrewrite.staticanalysis.UnnecessaryThrows
- Unnecessary throws
- Remove unnecessary
throwsdeclarations. This recipe will only remove unused, checked exceptions if: - The declaring class or the method declaration isfinal. - The method declaration isstaticorprivate. - The method overrides a method declaration in a super class and the super class does not throw the exception. - The method ispublicorprotectedand the exception is not documented via a JavaDoc as a@throwstag.
- org.openrewrite.staticanalysis.UpperCaseLiteralSuffixes
- Upper case literal suffixes
- Using upper case literal suffixes for declaring literals is less ambiguous, e.g.,
1lversus1L.
- org.openrewrite.staticanalysis.UseCollectionInterfaces
- Use
Collectioninterfaces - Use
Deque,List,Map,ConcurrentMap,Queue, andSetinstead of implemented collections. Replaces the return type of public method declarations and the variable type public variable declarations.
- Use
- org.openrewrite.staticanalysis.UseDiamondOperator
- Use the diamond operator
- The diamond operator (
<>) should be used. Java 7 introduced the diamond operator to reduce the verbosity of generics code. For instance, instead of having to declare aList's type in both its declaration and its constructor, you can now simplify the constructor declaration with<>, and the compiler will infer the type.
- org.openrewrite.staticanalysis.UseJavaStyleArrayDeclarations
- No C-style array declarations
- Change C-Style array declarations
int i[];toint[] i;.
- org.openrewrite.staticanalysis.UseLambdaForFunctionalInterface
- Use lambda expressions instead of anonymous classes
- Instead of anonymous class declarations, use a lambda where possible. Using lambdas to replace anonymous classes can lead to more expressive and maintainable code, improve code readability, reduce code duplication, and achieve better performance in some cases.
- org.openrewrite.staticanalysis.UseObjectNotifyAll
- Replaces
Object.notify()withObject.notifyAll() Object.notifyAll()andObject.notify()both wake up sleeping threads, butObject.notify()only rouses one whileObject.notifyAll()rouses all of them. SinceObject.notify()might not wake up the right thread,Object.notifyAll()should be used instead. See this for more information.
- Replaces
- org.openrewrite.staticanalysis.UsePortableNewlines
- Use %n instead of \n in format strings
- Format strings should use %n rather than \n to produce platform-specific line separators.
- org.openrewrite.staticanalysis.UseStringReplace
- Use
String::replace()when first parameter is not a real regular expression - When
String::replaceAllis used, the first argument should be a real regular expression. If it’s not the case,String::replacedoes exactly the same thing asString::replaceAllwithout the performance drawback of the regex.
- Use
- org.openrewrite.staticanalysis.WhileInsteadOfFor
- Prefer
whileoverforloops - When only the condition expression is defined in a for loop, and the initialization and increment expressions are missing, a while loop should be used instead to increase readability.
- Prefer
- org.openrewrite.staticanalysis.WriteOctalValuesAsDecimal
- Write octal values as decimal
- Developers may not recognize octal values as such, mistaking them instead for decimal values.
- tech.picnic.errorprone.refasterrules.AssortedRulesRecipes$LogicalImplicationRecipe
- Refaster template
AssortedRules.LogicalImplication - Don't unnecessarily repeat boolean expressions.
- Refaster template
- tech.picnic.errorprone.refasterrules.BigDecimalRulesRecipes$BigDecimalValueOfRecipe
- Refaster template
BigDecimalRules.BigDecimalValueOf - Prefer
BigDecimal#valueOf(double)over the associated constructor.
- Refaster template
- tech.picnic.errorprone.refasterrules.CharSequenceRulesRecipes$CharSequenceIsEmptyRecipe
- Refaster template
CharSequenceRules.CharSequenceIsEmpty - Prefer
CharSequence#isEmpty()over alternatives that consult the char sequence's length.
- Refaster template
- tech.picnic.errorprone.refasterrules.CollectionRulesRecipes$CollectionIsEmptyRecipe
- Refaster template
CollectionRules.CollectionIsEmpty - Prefer
Collection#isEmpty()over alternatives that consult the collection's size or are otherwise more contrived.
- Refaster template
- tech.picnic.errorprone.refasterrules.DoubleStreamRulesRecipes$DoubleStreamAnyMatchRecipe
- Refaster template
DoubleStreamRules.DoubleStreamAnyMatch - Prefer
DoubleStream#anyMatch(DoublePredicate)over more contrived alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.EqualityRulesRecipes$DoubleNegationRecipe
- Refaster template
EqualityRules.DoubleNegation - Avoid double negations; this is not Javascript.
- Refaster template
- tech.picnic.errorprone.refasterrules.EqualityRulesRecipes$IndirectDoubleNegationRecipe
- Refaster template
EqualityRules.IndirectDoubleNegation - Don't negate an inequality test or use the ternary operator to compare two booleans; directly test for equality instead.
- Refaster template
- tech.picnic.errorprone.refasterrules.EqualityRulesRecipes$NegationRecipe
- Refaster template
EqualityRules.Negation - Don't negate an equality test or use the ternary operator to compare two booleans; directly test for inequality instead.
- Refaster template
- tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesCreateTempFileToFileRecipe
- Prefer
Files#createTempFile(String, String, FileAttribute[])over alternatives that create files with more liberal permissions - Note that
File#createTempFiletreats the given prefix as a path, and ignores all but its file name. That is, the actual prefix used is derived from all characters following the final file separator (if any). This is not the case withFiles#createTempFile, which will instead throw anIllegalArgumentExceptionif the prefix contains any file separators.
- Prefer
- tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesNewBufferedReaderPathOfRecipe
- Refaster template
FileRules.FilesNewBufferedReaderPathOf - Prefer
Files#newBufferedReader(Path)over more verbose or contrived alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesNewBufferedReaderToPathRecipe
- Refaster template
FileRules.FilesNewBufferedReaderToPath - Prefer
Files#newBufferedReader(Path)over more verbose or contrived alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.ImmutableMapRulesRecipes$ImmutableMapOf4Recipe
- Refaster template
ImmutableMapRules.ImmutableMapOf4 - Prefer
ImmutableMap#of(Object, Object, Object, Object, Object, Object, Object, Object)over alternatives that don't communicate the immutability of the resulting map at the type level.
- Refaster template
- tech.picnic.errorprone.refasterrules.ImmutableMapRulesRecipes$ImmutableMapOf5Recipe
- Refaster template
ImmutableMapRules.ImmutableMapOf5 - Prefer
ImmutableMap#of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object)over alternatives that don't communicate the immutability of the resulting map at the type level.
- Refaster template
- tech.picnic.errorprone.refasterrules.IntStreamRulesRecipes$IntStreamAnyMatchRecipe
- Refaster template
IntStreamRules.IntStreamAnyMatch - Prefer
IntStream#anyMatch(IntPredicate)over more contrived alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatBooleanArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatBooleanArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatBooleanArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(boolean[] actual, Supplier<@Nullable String> message, boolean[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(boolean[] actual, Supplier<@Nullable String> message, boolean[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatByteArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatByteArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatByteArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(byte[] actual, Supplier<@Nullable String> message, byte[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(byte[] actual, Supplier<@Nullable String> message, byte[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatCharArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatCharArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatCharArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(char[] actual, Supplier<@Nullable String> message, char[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(char[] actual, Supplier<@Nullable String> message, char[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatCodeWithFailMessageSupplierDoesNotThrowAnyExceptionRecipe
- Refaster template
JUnitToAssertJRules.AssertThatCodeWithFailMessageSupplierDoesNotThrowAnyException - Recipe created for the following Refaster template:
java static final class AssertThatCodeWithFailMessageSupplierDoesNotThrowAnyException { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Executable throwingCallable, Supplier<@Nullable String> supplier) { assertDoesNotThrow(throwingCallable, supplier); } @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(ThrowingSupplier<?> throwingCallable, Supplier<@Nullable String> supplier) { assertDoesNotThrow(throwingCallable, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(ThrowingCallable throwingCallable, Supplier<@Nullable String> supplier) { assertThatCode(throwingCallable).withFailMessage(supplier).doesNotThrowAnyException(); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatDoubleArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatDoubleArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatDoubleArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(double[] actual, Supplier<@Nullable String> message, double[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(double[] actual, Supplier<@Nullable String> message, double[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatDoubleArrayWithFailMessageSupplierContainsExactlyWithOffsetRecipe
- Refaster template
JUnitToAssertJRules.AssertThatDoubleArrayWithFailMessageSupplierContainsExactlyWithOffset - Recipe created for the following Refaster template:
java static final class AssertThatDoubleArrayWithFailMessageSupplierContainsExactlyWithOffset { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(double[] actual, Supplier<@Nullable String> messageSupplier, double[] expected, double delta) { assertArrayEquals(expected, actual, delta, messageSupplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(double[] actual, Supplier<@Nullable String> messageSupplier, double[] expected, double delta) { assertThat(actual).withFailMessage(messageSupplier).containsExactly(expected, offset(delta)); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatFloatArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatFloatArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatFloatArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(float[] actual, Supplier<@Nullable String> message, float[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(float[] actual, Supplier<@Nullable String> message, float[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatFloatArrayWithFailMessageSupplierContainsExactlyWithOffsetRecipe
- Refaster template
JUnitToAssertJRules.AssertThatFloatArrayWithFailMessageSupplierContainsExactlyWithOffset - Recipe created for the following Refaster template:
java static final class AssertThatFloatArrayWithFailMessageSupplierContainsExactlyWithOffset { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(float[] actual, Supplier<@Nullable String> message, float[] expected, float delta) { assertArrayEquals(expected, actual, delta, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(float[] actual, Supplier<@Nullable String> message, float[] expected, float delta) { assertThat(actual).withFailMessage(message).containsExactly(expected, offset(delta)); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatIntArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatIntArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatIntArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(int[] actual, Supplier<@Nullable String> message, int[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(int[] actual, Supplier<@Nullable String> message, int[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatLongArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatLongArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatLongArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(long[] actual, Supplier<@Nullable String> message, long[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(long[] actual, Supplier<@Nullable String> message, long[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatObjectArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatObjectArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatObjectArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Object[] actual, Supplier<@Nullable String> message, Object[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object[] actual, Supplier<@Nullable String> message, Object[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatShortArrayWithFailMessageSupplierContainsExactlyRecipe
- Refaster template
JUnitToAssertJRules.AssertThatShortArrayWithFailMessageSupplierContainsExactly - Recipe created for the following Refaster template:
java static final class AssertThatShortArrayWithFailMessageSupplierContainsExactly { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(short[] actual, Supplier<@Nullable String> message, short[] expected) { assertArrayEquals(expected, actual, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(short[] actual, Supplier<@Nullable String> message, short[] expected) { assertThat(actual).withFailMessage(message).containsExactly(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatThrownByWithFailMessageSupplierIsExactlyInstanceOfRecipe
- Refaster template
JUnitToAssertJRules.AssertThatThrownByWithFailMessageSupplierIsExactlyInstanceOf - Recipe created for the following Refaster template:
java static final class AssertThatThrownByWithFailMessageSupplierIsExactlyInstanceOf<T extends Throwable> { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Executable throwingCallable, Supplier<@Nullable String> supplier, Class<T> clazz) { assertThrowsExactly(clazz, throwingCallable, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(ThrowingCallable throwingCallable, Supplier<@Nullable String> supplier, Class<T> clazz) { assertThatThrownBy(throwingCallable).withFailMessage(supplier).isExactlyInstanceOf(clazz); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatThrownByWithFailMessageSupplierIsInstanceOfRecipe
- Refaster template
JUnitToAssertJRules.AssertThatThrownByWithFailMessageSupplierIsInstanceOf - Recipe created for the following Refaster template:
java static final class AssertThatThrownByWithFailMessageSupplierIsInstanceOf<T extends Throwable> { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Executable throwingCallable, Supplier<@Nullable String> supplier, Class<T> clazz) { assertThrows(clazz, throwingCallable, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(ThrowingCallable throwingCallable, Supplier<@Nullable String> supplier, Class<T> clazz) { assertThatThrownBy(throwingCallable).withFailMessage(supplier).isInstanceOf(clazz); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsFalseRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsFalse - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsFalse { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(boolean actual, Supplier<@Nullable String> supplier) { assertFalse(actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(boolean actual, Supplier<@Nullable String> supplier) { assertThat(actual).withFailMessage(supplier).isFalse(); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsInstanceOfRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsInstanceOf - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsInstanceOf<T> { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Object actual, Supplier<@Nullable String> supplier, Class<T> clazz) { assertInstanceOf(clazz, actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, Supplier<@Nullable String> supplier, Class<T> clazz) { assertThat(actual).withFailMessage(supplier).isInstanceOf(clazz); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsNotNullRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsNotNull - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsNotNull { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Object actual, Supplier<@Nullable String> supplier) { assertNotNull(actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, Supplier<@Nullable String> supplier) { assertThat(actual).withFailMessage(supplier).isNotNull(); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsNotSameAsRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsNotSameAs - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsNotSameAs { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Object actual, Supplier<@Nullable String> supplier, Object expected) { assertNotSame(expected, actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, Supplier<@Nullable String> supplier, Object expected) { assertThat(actual).withFailMessage(supplier).isNotSameAs(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsNullRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsNull - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsNull { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Object actual, Supplier<@Nullable String> supplier) { assertNull(actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, Supplier<@Nullable String> supplier) { assertThat(actual).withFailMessage(supplier).isNull(); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsSameAsRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsSameAs - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsSameAs { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(Object actual, Supplier<@Nullable String> supplier, Object expected) { assertSame(expected, actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, Supplier<@Nullable String> supplier, Object expected) { assertThat(actual).withFailMessage(supplier).isSameAs(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.JUnitToAssertJRulesRecipes$AssertThatWithFailMessageSupplierIsTrueRecipe
- Refaster template
JUnitToAssertJRules.AssertThatWithFailMessageSupplierIsTrue - Recipe created for the following Refaster template:
java static final class AssertThatWithFailMessageSupplierIsTrue { @BeforeTemplate @SuppressWarnings(value = "java:S4449") void before(boolean actual, Supplier<@Nullable String> supplier) { assertTrue(actual, supplier); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(boolean actual, Supplier<@Nullable String> supplier) { assertThat(actual).withFailMessage(supplier).isTrue(); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.LongStreamRulesRecipes$LongStreamAnyMatchRecipe
- Refaster template
LongStreamRules.LongStreamAnyMatch - Prefer
LongStream#anyMatch(LongPredicate)over more contrived alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.OptionalRulesRecipes$OptionalOrElseThrowRecipe
- Refaster template
OptionalRules.OptionalOrElseThrow - Prefer
Optional#orElseThrow()over the less explicitOptional#get().
- Refaster template
- tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$GreaterThanOrEqualToRecipe
- Refaster template
PrimitiveRules.GreaterThanOrEqualTo - Avoid contrived ways of expressing the "greater than or equal to" relationship.
- Refaster template
- tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$GreaterThanRecipe
- Refaster template
PrimitiveRules.GreaterThan - Avoid contrived ways of expressing the "greater than" relationship.
- Refaster template
- tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$LessThanOrEqualToRecipe
- Refaster template
PrimitiveRules.LessThanOrEqualTo - Avoid contrived ways of expressing the "less than or equal to" relationship.
- Refaster template
- tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$LessThanRecipe
- Refaster template
PrimitiveRules.LessThan - Avoid contrived ways of expressing the "less than" relationship.
- Refaster template
- tech.picnic.errorprone.refasterrules.RandomGeneratorRulesRecipes$RandomGeneratorNextLongRecipe
- Prefer
RandomGenerator#nextLong(long)over more contrived alternatives - Additionally, for large bounds, the unnecessary floating point arithmetic prevents some
longvalues from being generated.
- Prefer
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$FluxThenEmptyRecipe
- Refaster template
ReactorRules.FluxThenEmpty - Avoid vacuous invocations of
Flux#ignoreElements().
- Refaster template
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$FluxThenMonoRecipe
- Refaster template
ReactorRules.FluxThenMono - Avoid vacuous invocations of
Flux#ignoreElements().
- Refaster template
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$FluxThenRecipe
- Refaster template
ReactorRules.FluxThen - Avoid vacuous invocations of
Flux#ignoreElements().
- Refaster template
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$MonoIdentityRecipe
- Refaster template
ReactorRules.MonoIdentity - Don't unnecessarily transform a
Monoto an equivalent instance.
- Refaster template
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$MonoThenEmptyRecipe
- Refaster template
ReactorRules.MonoThenEmpty - Avoid vacuous invocations of
Mono#ignoreElement().
- Refaster template
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$MonoThenMonoRecipe
- Refaster template
ReactorRules.MonoThenMono - Avoid vacuous operations prior to invocation of
Mono#then(Mono).
- Refaster template
- tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$MonoThenRecipe
- Refaster template
ReactorRules.MonoThen - Prefer direct invocation of
Mono#then()} over more contrived alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.RxJava2AdapterRulesRecipes$CompletableToMonoRecipe
- Refaster template
RxJava2AdapterRules.CompletableToMono - Use the fluent API style when using
RxJava2Adapter#completableToMono.
- Refaster template
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamCountRecipe
- Refaster template
StreamRules.StreamCount - Recipe created for the following Refaster template:
java static final class StreamCount<T> { @BeforeTemplate @SuppressWarnings(value = "java:S4266") long before(Stream<T> stream) { return stream.collect(counting()); } @AfterTemplate long after(Stream<T> stream) { return stream.count(); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamMapCollectRecipe
- Refaster template
StreamRules.StreamMapCollect - Recipe created for the following Refaster template:
java static final class StreamMapCollect<T, U, R> { @BeforeTemplate @SuppressWarnings(value = "java:S4266") R before(Stream<T> stream, Function<? super T, ? extends U> mapper, Collector<? super U, ?, R> collector) { return stream.collect(mapping(mapper, collector)); } @AfterTemplate R after(Stream<T> stream, Function<? super T, ? extends U> mapper, Collector<? super U, ?, R> collector) { return stream.map(mapper).collect(collector); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamMaxRecipe
- Refaster template
StreamRules.StreamMax - Recipe created for the following Refaster template:
java static final class StreamMax<T> { @BeforeTemplate @SuppressWarnings(value = "java:S4266") Optional<T> before(Stream<T> stream, Comparator<? super T> comparator) { return Refaster.anyOf(stream.min(comparator.reversed()), Streams.findLast(stream.sorted(comparator)), stream.collect(maxBy(comparator))); } @AfterTemplate Optional<T> after(Stream<T> stream, Comparator<? super T> comparator) { return stream.max(comparator); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamMinRecipe
- Refaster template
StreamRules.StreamMin - Recipe created for the following Refaster template:
java static final class StreamMin<T> { @BeforeTemplate @SuppressWarnings(value = "java:S4266") Optional<T> before(Stream<T> stream, Comparator<? super T> comparator) { return Refaster.anyOf(stream.max(comparator.reversed()), stream.sorted(comparator).findFirst(), stream.collect(minBy(comparator))); } @AfterTemplate Optional<T> after(Stream<T> stream, Comparator<? super T> comparator) { return stream.min(comparator); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamReduceRecipe
- Refaster template
StreamRules.StreamReduce - Recipe created for the following Refaster template:
java static final class StreamReduce<T> { @BeforeTemplate @SuppressWarnings(value = "java:S4266") Optional<T> before(Stream<T> stream, BinaryOperator<T> accumulator) { return stream.collect(reducing(accumulator)); } @AfterTemplate Optional<T> after(Stream<T> stream, BinaryOperator<T> accumulator) { return stream.reduce(accumulator); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamReduceWithIdentityRecipe
- Refaster template
StreamRules.StreamReduceWithIdentity - Recipe created for the following Refaster template:
java static final class StreamReduceWithIdentity<T> { @BeforeTemplate @SuppressWarnings(value = "java:S4266") T before(Stream<T> stream, T identity, BinaryOperator<T> accumulator) { return stream.collect(reducing(identity, accumulator)); } @AfterTemplate T after(Stream<T> stream, T identity, BinaryOperator<T> accumulator) { return stream.reduce(identity, accumulator); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$EmptyStringRecipe
- Refaster template
StringRules.EmptyString - Avoid unnecessary creation of new empty
Stringobjects; use the empty string literal instead.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringIdentityRecipe
- Refaster template
StringRules.StringIdentity - Avoid unnecessary creation of new
Stringobjects.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringIndexOfCharFromIndexRecipe
- Refaster template
StringRules.StringIndexOfCharFromIndex - Prefer
String#indexOf(int, int)over less efficient alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringIndexOfStringFromIndexRecipe
- Refaster template
StringRules.StringIndexOfStringFromIndex - Prefer
String#indexOf(String, int)over less efficient alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringIsEmptyRecipe
- Refaster template
StringRules.StringIsEmpty - Prefer
String#isEmpty()over alternatives that consult the string's length.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringLastIndexOfCharRecipe
- Refaster template
StringRules.StringLastIndexOfChar - Prefer
String#lastIndexOf(int, int)over less efficient alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringLastIndexOfStringRecipe
- Refaster template
StringRules.StringLastIndexOfString - Prefer
String#lastIndexOf(String, int)over less efficient alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.StringRulesRecipes$StringStartsWithRecipe
- Refaster template
StringRules.StringStartsWith - Prefer
String#startsWith(String, int)over less efficient alternatives.
- Refaster template
- tech.picnic.errorprone.refasterrules.TestNGToAssertJRulesRecipes$AssertEqualRecipe
- Refaster template
TestNGToAssertJRules.AssertEqual - Recipe created for the following Refaster template:
java @SuppressWarnings(value = "java:S1448") static final class AssertEqual { @BeforeTemplate void before(boolean actual, boolean expected) { assertEquals(actual, expected); } @BeforeTemplate void before(boolean actual, Boolean expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Boolean actual, boolean expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Boolean actual, Boolean expected) { assertEquals(actual, expected); } @BeforeTemplate void before(byte actual, byte expected) { assertEquals(actual, expected); } @BeforeTemplate void before(byte actual, Byte expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Byte actual, byte expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Byte actual, Byte expected) { assertEquals(actual, expected); } @BeforeTemplate void before(char actual, char expected) { assertEquals(actual, expected); } @BeforeTemplate void before(char actual, Character expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Character actual, char expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Character actual, Character expected) { assertEquals(actual, expected); } @BeforeTemplate void before(short actual, short expected) { assertEquals(actual, expected); } @BeforeTemplate void before(short actual, Short expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Short actual, short expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Short actual, Short expected) { assertEquals(actual, expected); } @BeforeTemplate void before(int actual, int expected) { assertEquals(actual, expected); } @BeforeTemplate void before(int actual, Integer expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Integer actual, int expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Integer actual, Integer expected) { assertEquals(actual, expected); } @BeforeTemplate void before(long actual, long expected) { assertEquals(actual, expected); } @BeforeTemplate void before(long actual, Long expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Long actual, long expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Long actual, Long expected) { assertEquals(actual, expected); } @BeforeTemplate void before(float actual, float expected) { assertEquals(actual, expected); } @BeforeTemplate void before(float actual, Float expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Float actual, float expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Float actual, Float expected) { assertEquals(actual, expected); } @BeforeTemplate void before(double actual, double expected) { assertEquals(actual, expected); } @BeforeTemplate void before(double actual, Double expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Double actual, double expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Double actual, Double expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Object actual, Object expected) { assertEquals(actual, expected); } @BeforeTemplate void before(String actual, String expected) { assertEquals(actual, expected); } @BeforeTemplate void before(Map<?, ?> actual, Map<?, ?> expected) { assertEquals(actual, expected); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, Object expected) { assertThat(actual).isEqualTo(expected); } }.
- Refaster template
- tech.picnic.errorprone.refasterrules.TestNGToAssertJRulesRecipes$AssertEqualWithMessageRecipe
- Refaster template
TestNGToAssertJRules.AssertEqualWithMessage - Recipe created for the following Refaster template:
java @SuppressWarnings(value = "java:S1448") static final class AssertEqualWithMessage { @BeforeTemplate void before(boolean actual, String message, boolean expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(boolean actual, String message, Boolean expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Boolean actual, String message, boolean expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Boolean actual, String message, Boolean expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(byte actual, String message, byte expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(byte actual, String message, Byte expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Byte actual, String message, byte expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Byte actual, String message, Byte expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(char actual, String message, char expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(char actual, String message, Character expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Character actual, String message, char expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Character actual, String message, Character expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(short actual, String message, short expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(short actual, String message, Short expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Short actual, String message, short expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Short actual, String message, Short expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(int actual, String message, int expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(int actual, String message, Integer expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Integer actual, String message, int expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Integer actual, String message, Integer expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(long actual, String message, long expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(long actual, String message, Long expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Long actual, String message, long expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Long actual, String message, Long expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(float actual, String message, float expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(float actual, String message, Float expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Float actual, String message, float expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Float actual, String message, Float expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(double actual, String message, double expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(double actual, String message, Double expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Double actual, String message, double expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Double actual, String message, Double expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Object actual, String message, Object expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(String actual, String message, String expected) { assertEquals(actual, expected, message); } @BeforeTemplate void before(Map<?, ?> actual, String message, Map<?, ?> expected) { assertEquals(actual, expected, message); } @AfterTemplate @UseImportPolicy(value = STATIC_IMPORT_ALWAYS) void after(Object actual, String message, Object expected) { assertThat(actual).withFailMessage(message).isEqualTo(expected); } }.
- Refaster template
sap
1 recipe
- org.openrewrite.java.spring.boot3.MigrateSapCfJavaLoggingSupport
- Migrate SAP cloud foundry logging support to Spring Boot 3.x
- Migrate SAP cloud foundry logging support from
cf-java-logging-support-servlettocf-java-logging-support-servlet-jakarta, to use Jakarta with Spring Boot 3.
scala
1 recipe
- org.openrewrite.scala.migrate.UpgradeScala_2_12
- Migrate to Scala 2.12.+
- Upgrade the Scala version for compatibility with newer Java versions.
scheduler
2 recipes
- org.openrewrite.quarkus.spring.SpringBootBatchToQuarkus
- Replace Spring Boot Batch with Quarkus Scheduler
- Migrates
spring-boot-starter-batchtoquarkus-scheduler.
- org.openrewrite.quarkus.spring.SpringBootQuartzToQuarkus
- Replace Spring Boot Quartz with Quarkus Quartz
- Migrates
spring-boot-starter-quartztoquarkus-quartz.
schemas
37 recipes
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1412
- Migrate WebLogic Schemas to 14.1.2
- This recipe will migrate WebLogic schemas to 14.1.2
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1511
- Migrate WebLogic Schemas to 15.1.1
- This recipe will migrate WebLogic schemas to 15.1.1
- com.oracle.weblogic.rewrite.WebLogicApplicationClientXmlNamespace1412
- Migrate xmlns entries in
application-client.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Application Client schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationClientXmlNamespace1511
- Migrate xmlns entries in
application-client.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inapplication-client.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationXmlNamespace1412
- Migrate xmlns entries in
weblogic-application.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Application schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationXmlNamespace1511
- Migrate xmlns entries in
weblogic-application.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-application.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicEjbJar32XmlNamespace1412
- Migrate xmlns entries in
weblogic-ejb-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicEjbJar32XmlNamespace1511
- Migrate xmlns entries in
weblogic-ejb-jar.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ejb-jar.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJdbcXmlNamespace1412
- Migrate xmlns entries in
*-jdbc.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic JDBC schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJdbcXmlNamespace1511
- Migrate xmlns entries in
*-jdbc.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries in*-jdbc.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJmsXmlNamespace1412
- Migrate xmlns entries in
*-jms.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic JMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJmsXmlNamespace1511
- Migrate xmlns entries in
*-jms.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries in*-jms.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1412
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 Persistence Configuration schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1511
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inpersistence-configuration.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPlanXmlNamespace1412
- Migrate xmlns entries in
plan.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Plan schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPlanXmlNamespace1511
- Migrate xmlns entries in
plan.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inplan.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPubSubXmlNamespace1412
- Migrate xmlns entries in
weblogic-pubsub.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic PubSub schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPubSubXmlNamespace1511
- Migrate xmlns entries in
weblogic-pubsub.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-pubsub.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1412
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Adapter schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1511
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ra.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1412
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 RDBMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1511
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-rdbms-jar.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicResourceDeploymentPlanXmlNamespace1412
- Migrate xmlns entries in
resource-deployment-plan.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Deployment Plan schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicResourceDeploymentPlanXmlNamespace1511
- Migrate xmlns entries in
resource-deployment-plan.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inresource-deployment-plan.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebServicesXmlNamespace1412
- Migrate xmlns entries in
weblogic-webservices.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Web Services schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebServicesXmlNamespace1511
- Migrate xmlns entries in
weblogic-webservices.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-webservices.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebservicesPolicyRefXmlNamespace1412
- Migrate xmlns entries in
weblogic-webservices-policy.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Web Service Policy Reference schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebservicesPolicyRefXmlNamespace1511
- Migrate xmlns entries in
weblogic-webservices-policy.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-webservices-policy.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeClientHandlerChainXmlNamespace1412
- Migrate xmlns entries in
weblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic WSEE Client Handler Chains schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeClientHandlerChainXmlNamespace1511
- Migrate xmlns entries in
weblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeStandaloneClientXmlNamespace1412
- Migrate xmlns entries in
weblogic-wsee-standaloneclient.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic WSEE Standalone Client schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeStandaloneClientXmlNamespace1511
- Migrate xmlns entries in
weblogic-wsee-standaloneclient.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-wsee-standaloneclient.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicXmlCreateIfNotExists1511
- Create
weblogic.xmlif it does not exist - This recipe will create a
weblogic.xmlfile with the WebLogic 15.1.1 namespace if it does not already exist.
- Create
- com.oracle.weblogic.rewrite.WebLogicXmlPreferApplicationPackagesJPA
- Add
prefer-application-packagesfor JPA inweblogic.xml - This recipe will add a
prefer-application-packagesentry for Jakarta Persistence inweblogic.xmlif it does not already exist.
- Add
- com.oracle.weblogic.rewrite.WebLogicXmlPreferApplicationPackagesSlf4j
- Add
prefer-application-packagesfor SLF4J inweblogic.xml - This recipe will add a
prefer-application-packagesentry for SLF4J inweblogic.xmlif it does not already exist.
- Add
- com.oracle.weblogic.rewrite.WebLogicXmlWebAppNamespace1412
- Migrate xmlns entries in
weblogic.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicXmlWebAppNamespace1511
- Migrate xmlns entries in
weblogic.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
sdk
3 recipes
- software.amazon.awssdk.v2migration.AddS3EventNotificationDependency
- Add AWS SDK for Java v2 S3 Event Notification dependency if needed
- This recipe will add the Java v2 S3 Event Notification dependency if v1 S3EventNotification is used
- software.amazon.awssdk.v2migration.AddTransferManagerDependency
- Add AWS SDK for Java v2 S3 Transfer Manager dependency if needed
- This recipe will add the Java v2 S3 Transfer Manager dependency if v1 Transfer Manager is used
- software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2
- Migrate from the AWS SDK for Java v1 to the AWS SDK for Java v2
- This recipe will apply changes required for migrating from the AWS SDK for Java v1 to the AWS SDK for Java v2.
search
1 recipe
- org.openrewrite.java.spring.security5.search.FindEncryptorsQueryableTextUses
- Finds uses of
Encryptors.queryableText() Encryptors.queryableText()is insecure and is removed in Spring Security 6.
- Finds uses of
secrets
1 recipe
- org.openrewrite.github.ReplaceOssrhSecretsWithSonatype
- Replace OSSRH secrets with Sonatype secrets
- Replace deprecated OSSRH_S01 secrets with new Sonatype secrets in GitHub Actions workflows. This is an example use of the
ReplaceSecretsandReplaceSecretKeysrecipes combined used to update the Maven publishing secrets in OpenRewrite's GitHub organization.
security
64 recipes
- io.moderne.java.spring.security6.UpgradeSpringSecurity_6_5
- Migrate to Spring Security 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.
- io.moderne.java.spring.security7.MigrateOAuth2AccessTokenResponseClient
- Migrate
OAuth2AccessTokenResponseClientfromRestOperationstoRestClientbased implementations - A new set of
OAuth2AccessTokenResponseClientimplementations were introduced based onRestClient. This recipe replaces theRestOperations-based implementations which have been deprecated. TheRestClientimplementations are drop-in replacements for the deprecated implementations.
- Migrate
- io.moderne.java.spring.security7.ModularizeSpringSecurity7
- Spring Security 7 modularization
- Spring Security Core was modularized in version 7, deprecated classes that are still a crucial part of some applications are moved to
spring-security-access.
- io.quarkus.updates.core.quarkus30.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- io.quarkus.updates.core.quarkus30.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.apache.commons.io.RelocateApacheCommonsIo
- Relocate
org.apache.commons:commons-iotocommons-io:commons-io - The deployment of
org.apache.commons:commons-iowas a publishing mistake around 2012 which was corrected by changing the deployment GAV to be located undercommons-io:commons-io.
- Relocate
- org.openrewrite.github.AddDependabotCooldown
- Add cooldown periods to Dependabot configuration
- Adds a
cooldownsection to each update configuration in Dependabot files. Supportsdefault-days,semver-major-days,semver-minor-days,semver-patch-days,include, andexcludeoptions. This implements a security best practice where dependencies are not immediately adopted upon release, allowing time for security vendors to identify potential supply chain compromises. Cooldown applies only to version updates, not security updates. Read more about dependency cooldowns. The available configuration options for dependabot are listed on GitHub.
- org.openrewrite.github.SetupJavaAdoptOpenJDKToTemurin
- Use
actions/setup-javatemurindistribution - Adopt OpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from adopt to temurin to keep receiving software and security updates. See more details in the Good-bye AdoptOpenJDK post.
- Use
- org.openrewrite.github.SetupJavaAdoptOpenj9ToSemeru
- Use
actions/setup-javaIBMsemerudistribution - Adopt OpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from adopt-openj9 to IBM semeru to keep receiving software and security updates. See more details in the Good-bye AdoptOpenJDK post.
- Use
- org.openrewrite.github.security.GitHubActionsSecurity
- GitHub Actions security insights
- Finds potential security issues in GitHub Actions workflows, based on Zizmor security analysis rules.
- org.openrewrite.gradle.RemoveRedundantSecurityResolutionRules
- Remove redundant security resolution rules
- Remove
resolutionStrategy.eachDependencyrules that pin dependencies to versions that are already being managed by a platform/BOM to equal or newer versions. Only removes rules that have a security advisory identifier (CVE or GHSA) in thebecauseclause, unless a custom pattern is specified.
- org.openrewrite.gradle.security.UseHttpsForRepositories
- Use HTTPS for repositories
- Use HTTPS for repository URLs.
- org.openrewrite.java.logging.log4j.UpgradeLog4J2DependencyVersion
- Upgrade Log4j 2.x dependency version
- Upgrades the Log4j 2.x dependencies to the latest 2.x version. Mitigates the Log4Shell and other Log4j2-related vulnerabilities.
- org.openrewrite.java.migrate.AccessController
- Remove Security AccessController
- The Security Manager API is unsupported in Java 24. This recipe will remove the usage of
java.security.AccessController.
- org.openrewrite.java.migrate.RemoveSecurityManager
- Remove Security SecurityManager
- The Security Manager API is unsupported in Java 24. This recipe will remove the usage of
java.security.SecurityManager.
- org.openrewrite.java.migrate.RemoveSecurityPolicy
- Remove Security Policy
- The Security Manager API is unsupported in Java 24. This recipe will remove the use of
java.security.Policy.
- org.openrewrite.java.migrate.SystemGetSecurityManagerToNull
- Replace
System.getSecurityManager()withnull - The Security Manager API is unsupported in Java 24. This recipe will replace
System.getSecurityManager()withnullto make its behavior more obvious and try to simplify execution paths afterwards.
- Replace
- org.openrewrite.java.migrate.jakarta.JavaxAuthenticationMigrationToJakartaAuthentication
- Migrate deprecated
javax.security.auth.messagepackages tojakarta.security.auth.message - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxAuthorizationMigrationToJakartaAuthorization
- Migrate deprecated
javax.security.jaccpackages tojakarta.security.jacc - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.search.FindSecrets
- Find plain text secrets
- Find secrets stored in plain text in code.
- org.openrewrite.java.security.JavaSecurityBestPractices
- Java security best practices
- Applies security best practices to Java code.
- org.openrewrite.java.security.secrets.FindArtifactorySecrets
- Find Artifactory secrets
- Locates Artifactory secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindAwsSecrets
- Find AWS secrets
- Locates AWS secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindAzureSecrets
- Find Azure secrets
- Locates Azure secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindDiscordSecrets
- Find Discord secrets
- Locates Discord secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindFacebookSecrets
- Find Facebook secrets
- Locates Facebook secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindGenericSecrets
- Find generic secrets
- Locates generic secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindGitHubSecrets
- Find GitHub secrets
- Locates GitHub secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindGoogleSecrets
- Find Google secrets
- Locates Google secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindHerokuSecrets
- Find Heroku secrets
- Locates Heroku secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindMailChimpSecrets
- Find MailChimp secrets
- Locates MailChimp secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindMailgunSecrets
- Find Mailgun secrets
- Locates Mailgun secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindNpmSecrets
- Find NPM secrets
- Locates NPM secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindPasswordInUrlSecrets
- Find passwords used in URLs
- Locates URLs that contain passwords in plain text.
- org.openrewrite.java.security.secrets.FindPayPalSecrets
- Find PayPal secrets
- Locates PayPal secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindPgpSecrets
- Find PGP secrets
- Locates PGP secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindPicaticSecrets
- Find Picatic secrets
- Locates Picatic secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindRsaSecrets
- Find RSA private keys
- Locates RSA private keys stored in plain text in code.
- org.openrewrite.java.security.secrets.FindSecrets
- Find secrets
- Locates secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindSendGridSecrets
- Find SendGrid secrets
- Locates SendGrid secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindSquareSecrets
- Find Square secrets
- Locates Square secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindSshSecrets
- Find SSH secrets
- Locates SSH secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindStripeSecrets
- Find Stripe secrets
- Locates Stripe secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindTelegramSecrets
- Find Telegram secrets
- Locates Telegram secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindTwilioSecrets
- Find Twilio secrets
- Locates Twilio secrets stored in plain text in code.
- org.openrewrite.java.security.secrets.FindTwitterSecrets
- Find Twitter secrets
- Locates Twitter secrets stored in plain text in code.
- org.openrewrite.java.spring.security5.RenameNimbusdsJsonObjectPackageName
- Rename the package name from
com.nimbusds.jose.shaded.jsontonet.minidev.json - Rename the package name from
com.nimbusds.jose.shaded.jsontonet.minidev.json.
- Rename the package name from
- org.openrewrite.java.spring.security5.ReplaceGlobalMethodSecurityWithMethodSecurityXml
- Replace global method security with method security
@EnableGlobalMethodSecurityand<global-method-security>are deprecated in favor of@EnableMethodSecurityand<method-security>, respectively. The new annotation and XML element activate Spring’s pre-post annotations by default and use AuthorizationManager internally.
- org.openrewrite.java.spring.security5.UpgradeSpringSecurity_5_7
- Migrate to Spring Security 5.7
- Migrate applications to the latest Spring Security 5.7 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.spring.security5.UpgradeSpringSecurity_5_8
- Migrate to Spring Security 5.8
- Migrate applications to the latest Spring Security 5.8 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.spring.security5.search.FindEncryptorsQueryableTextUses
- Finds uses of
Encryptors.queryableText() Encryptors.queryableText()is insecure and is removed in Spring Security 6.
- Finds uses of
- org.openrewrite.java.spring.security6.RemoveUseAuthorizationManager
- Remove unnecessary
use-authorization-managerfor message security in Spring security 6 - In Spring Security 6,
<websocket-message-broker>defaultsuse-authorization-managertotrue. So, theuse-authorization-managerattribute for message security is no longer needed and can be removed.
- Remove unnecessary
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_0
- Migrate to Spring Security 6.0
- Migrate applications to the latest Spring Security 6.0 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.spring.security6.UpgradeSpringSecurity_6_1
- Migrate to Spring Security 6.1
- Migrate applications to the latest Spring Security 6.1 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.spring.security6.UpgradeSpringSecurity_6_2
- Migrate to Spring Security 6.2
- Migrate applications to the latest Spring Security 6.2 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.spring.security6.UpgradeSpringSecurity_6_3
- Migrate to Spring Security 6.3
- Migrate applications to the latest Spring Security 6.3 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.spring.security6.UpgradeSpringSecurity_6_4
- Migrate to Spring Security 6.4
- 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.
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5
- Migrate to Spring Security 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.spring.security7.SecurityConfigurerRemoveThrowsException
- Remove throws exception in
SecurityConfigurermethodsinitandconfigure - Remove throws exception in
SecurityConfigurermethodsinitandconfigure.
- Remove throws exception in
- org.openrewrite.java.spring.security7.UpgradeSpringSecurity_7_0
- Migrate to Spring Security 7.0
- Migrate applications to the latest Spring Security 7.0 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.maven.security.UseHttpsForRepositories
- Use HTTPS for repositories
- Use HTTPS for repository URLs.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ClientToQuarkus
- Replace Spring Boot OAuth2 Client with Quarkus OIDC Client
- Migrates spring-boot-starter-oauth2-client
toquarkus-oidc-client`.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ResourceServerToQuarkus
- Replace Spring Boot OAuth2 Resource Server with Quarkus OIDC
- Migrates
spring-boot-starter-oauth2-resource-servertoquarkus-oidc.
- org.openrewrite.quarkus.spring.SpringBootSecurityToQuarkus
- Replace Spring Boot Security with Quarkus Security
- Migrates
spring-boot-starter-securitytoquarkus-security.
servlet
1 recipe
- com.oracle.weblogic.rewrite.jakarta.AddJakartaEE9ServletDependencyIfUsingServletContext
- Add Jakarta EE 9 Servlet Dependency
- Add Jakarta EE 9 Servlet Dependency if using jakarta.servlet.ServletContext
sleuth
2 recipes
- org.openrewrite.java.spring.cloud2022.MigrateCloudSleuthToMicrometerTracing
- Migrate Spring Cloud Sleuth 3.1 to Micrometer Tracing 1.0
- Spring Cloud Sleuth has been discontinued and only compatible with Spring Boot 2.x.
- org.openrewrite.java.spring.opentelemetry.MigrateSleuthToOpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry. Spring Cloud Sleuth has been deprecated and is replaced by Micrometer Tracing with OpenTelemetry as a backend. This recipe removes Sleuth dependencies and adds OpenTelemetry instrumentation.
slf4j
12 recipes
- org.openrewrite.java.logging.log4j.Slf4jToLog4j
- Migrate SLF4J to Log4j 2.x API
- Transforms code written using SLF4J to use Log4j 2.x API.
- org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1
- Migrate Apache Commons Logging 1.x to SLF4J 1.x
- Transforms usages of Apache Commons Logging 1.x to leveraging SLF4J 1.x directly.
- org.openrewrite.java.logging.slf4j.CompleteExceptionLogging
- Enhances logging of exceptions by including the full stack trace in addition to the exception message
- It is a common mistake to call
Exception.getMessage()when passing an exception into a log method. Not all exception types have useful messages, and even if the message is useful this omits the stack trace. Including a complete stack trace of the error along with the exception message in the log allows developers to better understand the context of the exception and identify the source of the error more quickly and accurately. If the method invocation includes any call toException.getMessage()orException.getLocalizedMessage()and not an exception is already passed as the last parameter to the log method, then we will append the exception as the last parameter in the log method.
- org.openrewrite.java.logging.slf4j.JBossLoggingToSlf4j
- Migrate JBoss Logging to SLF4J
- Migrates usage of the JBoss Logging facade to using SLF4J.
- org.openrewrite.java.logging.slf4j.JulToSlf4j
- Migrate JUL to SLF4J
- Migrates usage of Java Util Logging (JUL) to using SLF4J directly.
- org.openrewrite.java.logging.slf4j.Log4j1ToSlf4j1
- Migrate Log4j 1.x to SLF4J 1.x
- Transforms usages of Log4j 1.x to leveraging SLF4J 1.x directly. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4j2ToSlf4j1
- Migrate Log4j 2.x to SLF4J 1.x
- Transforms usages of Log4j 2.x to leveraging SLF4J 1.x directly. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.Log4jToSlf4j
- Migrate Log4j to SLF4J
- Migrates usage of Apache Log4j to using SLF4J directly. Use of the traditional Log4j to SLF4J bridge can result in loss of performance, as the Log4j messages must be formatted before they can be passed to SLF4J. Note, this currently does not modify
log4j.propertiesfiles.
- org.openrewrite.java.logging.slf4j.LoggersNamedForEnclosingClass
- Loggers should be named for their enclosing classes
- Ensure
LoggerFactory#getLogger(Class)is called with the enclosing class as argument.
- org.openrewrite.java.logging.slf4j.ParameterizedLogging
- Parameterize SLF4J's logging statements
- Use SLF4J's parameterized logging, which can significantly boost performance for messages that otherwise would be assembled with String concatenation. Particularly impactful when the log level is not enabled, as no work is done to assemble the message.
- org.openrewrite.java.logging.slf4j.Slf4jBestPractices
- SLF4J best practices
- Applies best practices to logging with SLF4J.
- org.openrewrite.java.logging.slf4j.Slf4jLogShouldBeConstant
- SLF4J logging statements should begin with constants
- Logging statements shouldn't begin with
String#format, calls totoString(), etc.
spring
158 recipes
- io.moderne.java.spring.boot.SpringToSpringBoot
- Migrate Spring Framework to Spring Boot
- 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.
- io.moderne.java.spring.boot2.UpgradeSpringBoot_2_0
- Migrate to Spring Boot 2.0
- Migrate applications to the latest Spring Boot 2.0 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 2.0.
- io.moderne.java.spring.boot3.CommentDeprecations
- Comment deprecated methods in Spring 3.4
- Spring Boot 3.4 deprecates methods that are not commonly used or need manual interaction.
- io.moderne.java.spring.boot3.ReplaceTaskExecutorNameByApplicationTaskExecutorName
- Use bean name
applicationTaskExecutorinstead oftaskExecutor - Spring Boot 3.5 removed the bean name
taskExecutor. Where this bean name is used, the recipe replaces the bean name toapplicationTaskExecutor. This also includes instances where the developer provided their own bean namedtaskExecutor. This also includes scenarios where JSR-250's@Resourceannotation is used.
- Use bean name
- io.moderne.java.spring.boot3.ResolveDeprecationsSpringBoot_3_3
- Resolve Deprecations in Spring Boot 3.3
- Migrates Deprecations in the Spring Boot 3.3 Release. Contains the removal of
DefaultJmsListenerContainerFactoryConfigurer.setObservationRegistryand adds new parameter ofWebEndpointDiscovererconstructor.
- io.moderne.java.spring.boot3.SpringBoot34Deprecations
- Migrate Spring Boot 3.4 deprecated classes and methods
- Migrate deprecated classes and methods that have been marked for removal in Spring Boot 4.0. This includes constructor changes for
EntityManagerFactoryBuilder,HikariCheckpointRestoreLifecycle, and various actuator endpoint discovery classes.
- io.moderne.java.spring.boot3.SpringBoot35Deprecations
- Migrate Spring Boot 3.5 deprecated classes and methods
- Migrate deprecated classes and methods that have been marked for removal in Spring Boot 3.5.
- io.moderne.java.spring.boot3.SpringBoot3BestPractices
- Spring Boot 3.5 best practices
- Applies best practices to Spring Boot 3.5+ applications.
- io.moderne.java.spring.boot3.SpringBootProperties_3_4
- Migrate
@EndpointSecurity properties to 3.4 - Migrate the settings for Spring Boot Management Endpoint Security from
true|falsetoread-only|none.
- Migrate
- io.moderne.java.spring.boot3.UpdateOpenTelemetryResourceAttributes
- Update OpenTelemetry resource attributes
- The
service.groupresource attribute has been deprecated for OpenTelemetry in Spring Boot 3.5. Consider using alternative attributes or remove the deprecated attribute.
- io.moderne.java.spring.boot3.UpgradeGradle7Spring34
- Upgrade Gradle to 7.6.4+ for Spring Boot 3.4
- Spring Boot 3.4 requires Gradle 7.6.4.
- io.moderne.java.spring.boot3.UpgradeGradle8Spring34
- Upgrade Gradle 8 to 8.4+ for Spring Boot 3.4
- Spring Boot 3.4 requires Gradle 8.4+.
- io.moderne.java.spring.boot3.UpgradeSpringBoot_3_4
- Migrate to Spring Boot 3.4 (Moderne Edition)
- 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.
- io.moderne.java.spring.boot3.UpgradeSpringBoot_3_5
- Migrate to Spring Boot 3.5 (Moderne Edition)
- 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.
- io.moderne.java.spring.boot3.UpgradeSpringKafka_3_3
- Migrate to Spring Kafka 3.3
- Migrate applications to the latest Spring Kafka 3.3 release.
- io.moderne.java.spring.boot4.AddJackson2ForJerseyJson
- Add Jackson2 for Jersey using JSON
- Check whether a module uses Jersey on combination with JSON and adds the needed
spring-boot-jacksondependency and conditionallyspring-boot-jackson2dependency.
- io.moderne.java.spring.boot4.AddModularStarters
- Add Spring Boot 4.0 modular starters
- Add Spring Boot 4.0 starter dependencies based on package usage. Note: Higher-level starters (like data-jpa) include lower-level ones (like jdbc) transitively, so only the highest-level detected starter is added for each technology.
- io.moderne.java.spring.boot4.AddMongoDbRepresentationProperties
- Add MongoDB representation properties for UUID and BigDecimal
- Adds the 'spring.mongodb.representation.uuid' property with value 'standard' and the 'spring.data.mongodb.representation.big-decimal' property with the value 'decimal128' to Spring configuration files when a MongoDB dependency is detected.
- io.moderne.java.spring.boot4.AdoptJackson3
- Adopt jackson 3
- Adopt Jackson 3 which is supported by Spring Boot 4 and Jackson 2 support is deprecated.
- io.moderne.java.spring.boot4.MigrateSpringRetry
- Migrate Spring Retry to Spring Resilience
- Handle spring-retry not longer managed by Spring Boot and the possible migration to Spring Core Resilience.
- io.moderne.java.spring.boot4.MigrateToModularStarters
- Migrate to Spring Boot 4.0 modular starters
- Remove monolithic starters and adds the necessary Spring Boot 4.0 starter dependencies based on package usage, where any spring-boot-starter was used previously.
- io.moderne.java.spring.boot4.ModuleStarterRelocations
- Spring Boot 4.0 Module Starter Relocations
- Relocate types and packages for Spring Boot 4.0 modular starters.
- io.moderne.java.spring.boot4.UpgradeSpringBoot_4_0
- Migrate to Spring Boot 4.0 (Moderne Edition)
- Migrate applications to the latest Spring Boot 4.0 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 4.0.
- io.moderne.java.spring.cloud2020.SpringCloudProperties_2020
- Migrate Spring Cloud properties to 2020
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2021.SpringCloudProperties_2021
- Migrate Spring Cloud properties to 2021
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2022.SpringCloudProperties_2022
- Migrate Spring Cloud properties to 2022
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2023.SpringCloudProperties_2023
- Migrate Spring Cloud properties to 2023
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2024.SpringCloudProperties_2024
- Migrate Spring Cloud properties to 2024
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud2025.SpringCloudProperties_2025
- Migrate Spring Cloud properties to 2025
- Migrate properties found in
application.propertiesandapplication.yml.
- io.moderne.java.spring.cloud20251.SpringCloudProperties_2025_1
- Migrate Spring Cloud properties to 2025.1
- Migrate properties found in
application.propertiesandapplication.ymlfor Spring Cloud 2025.1 (Oakwood). This includes the stubrunner property prefix migration fromstubrunner.tospring.cloud.contract.stubrunner..
- io.moderne.java.spring.cloud20251.UpgradeSpringCloud_2025_1
- Upgrade to Spring Cloud 2025.1
- Upgrade to Spring Cloud 2025.1 (Oakwood). This release is based on Spring Framework 7 and Spring Boot 4. Each Spring Cloud project has been updated to version 5.0.0.
- io.moderne.java.spring.framework.MigrateDefaultResponseErrorHandler
- Migrate
DefaultResponseErrorHandler.handleErrormethod signature - Migrates overridden
handleError(ClientHttpResponse response)methods to the new signaturehandleError(URI url, HttpMethod method, ClientHttpResponse response)in classes extendingDefaultResponseErrorHandler. The old single-argument method was removed in Spring Framework 7.0.
- Migrate
- io.moderne.java.spring.orm.SpringORM5
- Migrate to Spring ORM to 5
- Migrate applications using Spring ORM Hibernate Support to Hibernate 5 compatible version. This will enable a further migration by the Spring Framework migration past 5.
- io.moderne.java.spring.security6.UpgradeSpringSecurity_6_5
- Migrate to Spring Security 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.
- io.moderne.java.spring.security7.MigrateOAuth2AccessTokenResponseClient
- Migrate
OAuth2AccessTokenResponseClientfromRestOperationstoRestClientbased implementations - A new set of
OAuth2AccessTokenResponseClientimplementations were introduced based onRestClient. This recipe replaces theRestOperations-based implementations which have been deprecated. TheRestClientimplementations are drop-in replacements for the deprecated implementations.
- Migrate
- io.moderne.java.spring.security7.ModularizeSpringSecurity7
- Spring Security 7 modularization
- Spring Security Core was modularized in version 7, deprecated classes that are still a crucial part of some applications are moved to
spring-security-access.
- org.openrewrite.java.spring.batch.SpringBatch4To5Migration
- Migrate to Spring Batch 5.0 from 4.3
- Migrate applications built on Spring Batch 4.3 to the latest Spring Batch 5.0 release.
- org.openrewrite.java.spring.batch.SpringBatch5To6Migration
- Migrate to Spring Batch 6.0 from 5.2
- Migrate applications built on Spring Batch 5.2 to the latest Spring Batch 6.0 release.
- org.openrewrite.java.spring.boot2.SpringBoot2BestPractices
- Spring Boot 2.x best practices
- Applies best practices to Spring Boot 2 applications.
- org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
- Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4
- This recipe will migrate a Spring Boot application's tests from JUnit 4 to JUnit 5. This spring-specific migration includes conversion of Spring Test runners to Spring Test extensions and awareness of the composable Spring Test annotations.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_0
- Migrate Spring Boot properties to 2.0
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_1
- Migrate Spring Boot properties to 2.1
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_2
- Migrate Spring Boot properties to 2.2
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_3
- Migrate Spring Boot properties to 2.3
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_4
- Migrate Spring Boot properties to 2.4
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_5
- Migrate Spring Boot properties to 2.5
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_6
- Migrate Spring Boot properties to 2.6
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_7
- Migrate Spring Boot properties to 2.7
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_0
- Migrate from Spring Boot 1.x to 2.0
- Migrate Spring Boot 1.x applications to the latest Spring Boot 2.0 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 2.0.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_1
- Migrate to Spring Boot 2.1
- Migrate applications to the latest Spring Boot 2.1 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 2.1.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_2
- Migrate to Spring Boot 2.2
- Migrate applications to the latest Spring Boot 2.2 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 2.2.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_3
- Migrate to Spring Boot 2.3
- Migrate applications to the latest Spring Boot 2.3 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 2.3.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_4
- Migrate to Spring Boot 2.4
- Migrate applications to the latest Spring Boot 2.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 2.4.
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_6
- Migrate to Spring Boot 2.6
- Migrate applications to the latest Spring Boot 2.6 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 2.6.
- org.openrewrite.java.spring.boot2.search.FindUpgradeRequirementsSpringBoot_2_5
- Find patterns that require updating for Spring Boot 2.5
- Looks for a series of patterns that have not yet had auto-remediation recipes developed for.
- org.openrewrite.java.spring.boot2.search.MessagesInTheDefaultErrorView
- Find projects affected by changes to the default error view message attribute
- As of Spring Boot 2.5 the
messageattribute in the default error view was removed rather than blanked when it is not shown.spring-webmvcorspring-webfluxprojects that parse the error response JSON may need to deal with the missing item (release notes). You can still use theserver.error.include-messageproperty if you want messages to be included.
- org.openrewrite.java.spring.boot3.ActuatorEndpointSanitization
- Remove the deprecated properties
additional-keys-to-sanitizefrom theconfigpropsandenvend points - 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 the deprecated properties
- org.openrewrite.java.spring.boot3.DowngradeServletApiWhenUsingJetty
- Downgrade Jakarta Servlet API to 5.0 when using Jetty
- Jetty does not yet support Servlet 6.0. This recipe will detect the presence of the
spring-boot-starter-jettyas a first-order dependency and will add the maven propertyjakarta-servlet.versionsetting it's value to5.0.0. This will downgrade thejakarta-servletartifact if the pom's parent extends from the spring-boot-parent.
- org.openrewrite.java.spring.boot3.MigrateDropWizardDependencies
- Migrate dropWizard dependencies to Spring Boot 3.x
- Migrate dropWizard dependencies to the new artifactId, since these are changed with Spring Boot 3.
- org.openrewrite.java.spring.boot3.MigrateMaxHttpHeaderSize
- Rename
server.max-http-header-sizetoserver.max-http-request-header-size - 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.
- Rename
- org.openrewrite.java.spring.boot3.MigrateSapCfJavaLoggingSupport
- Migrate SAP cloud foundry logging support to Spring Boot 3.x
- Migrate SAP cloud foundry logging support from
cf-java-logging-support-servlettocf-java-logging-support-servlet-jakarta, to use Jakarta with Spring Boot 3.
- org.openrewrite.java.spring.boot3.MigrateThymeleafDependencies
- Migrate thymeleaf dependencies to Spring Boot 3.x
- Migrate thymeleaf dependencies to the new artifactId, since these are changed with Spring Boot 3.
- org.openrewrite.java.spring.boot3.ReplaceStringLiteralsWithConstants
- Replace String literals with Spring constants
- Replace String literals with Spring constants where applicable.
- org.openrewrite.java.spring.boot3.SpringBoot33BestPractices
- Spring Boot 3.3 best practices
- Applies best practices to Spring Boot 3 applications.
- org.openrewrite.java.spring.boot3.SpringBoot3BestPracticesOnly
- Spring Boot 3.3 best practices (only)
- Applies best practices to Spring Boot 3 applications, without chaining in upgrades to Spring Boot.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_0
- Migrate Spring Boot properties to 3.0
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_1
- Migrate Spring Boot properties to 3.1
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_2
- Migrate Spring Boot properties to 3.2
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_3
- Migrate Spring Boot properties to 3.3
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_4
- Migrate Spring Boot properties to 3.4
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_4_EnabledToAccess
- Migrate Enabled to Access Spring Boot Properties
- Migrate properties found in
application.propertiesandapplication.yml, specifically converting 'enabled' to 'access'.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_5
- Migrate Spring Boot properties to 3.5
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0
- Migrate to Spring Boot 3.0
- Migrate applications to the latest Spring Boot 3.0 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 2.7.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_1
- Migrate to Spring Boot 3.1
- Migrate applications to the latest Spring Boot 3.1 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.0.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2
- Migrate to Spring Boot 3.2
- Migrate applications to the latest Spring Boot 3.2 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.1.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3
- Migrate to Spring Boot 3.3
- Migrate applications to the latest Spring Boot 3.3 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.2.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_4
- Migrate to Spring Boot 3.4 (Community Edition)
- 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.
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_5
- Migrate to Spring Boot 3.5 (Community Edition)
- 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.
- org.openrewrite.java.spring.boot4.SpringBootProperties_4_0
- Migrate Spring Boot properties to 4.0
- Migrate properties found in
application.propertiesandapplication.yml.
- org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0
- Migrate to Spring Boot 4.0 (Community Edition)
- Migrate applications to the latest Spring Boot 4.0 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs.
- org.openrewrite.java.spring.cloud2022.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2022
- Upgrade dependencies to Spring Cloud 2022 from prior 2021.x version.
- org.openrewrite.java.spring.cloud2022.MigrateCloudSleuthToMicrometerTracing
- Migrate Spring Cloud Sleuth 3.1 to Micrometer Tracing 1.0
- Spring Cloud Sleuth has been discontinued and only compatible with Spring Boot 2.x.
- org.openrewrite.java.spring.cloud2022.UpgradeSpringCloud_2022
- Migrate to Spring Cloud 2022
- Migrate applications to the latest Spring Cloud 2022 (Kilburn) release.
- org.openrewrite.java.spring.cloud2023.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2023
- Upgrade dependencies to Spring Cloud 2023 from prior 2022.x version.
- org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023
- Migrate to Spring Cloud 2023
- Migrate applications to the latest Spring Cloud 2023 (Leyton) release.
- org.openrewrite.java.spring.cloud2024.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2024
- Upgrade dependencies to Spring Cloud 2024 from prior 2023.x version.
- org.openrewrite.java.spring.cloud2024.UpgradeSpringCloud_2024
- Migrate to Spring Cloud 2024
- Migrate applications to the latest Spring Cloud 2024 (Moorgate) release.
- org.openrewrite.java.spring.cloud2025.DependencyUpgrades
- Upgrade dependencies to Spring Cloud 2025
- Upgrade dependencies to Spring Cloud 2025 from prior 2024.x version.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayDeprecatedModulesAndStarters
- Migrate to New Spring Cloud Gateway Modules and Starters
- Migrate to new Spring Cloud Gateway modules and starters for Spring Cloud 2025.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayProperties
- Migrate Spring Cloud Gateway Properties
- Migrate Spring Cloud Gateway properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayProxyWebMvcProperties
- Migrate Spring Cloud Gateway Proxy WebMvc Properties
- Migrate Spring Cloud Gateway Proxy WebMvc properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayProxyWebfluxProperties
- Migrate Spring Cloud Gateway Proxy Webflux Properties
- Migrate Spring Cloud Gateway Proxy Webflux properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayWebMvcProperties
- Migrate Spring Cloud Gateway WebMvc Properties
- Migrate Spring Cloud Gateway WebMvc properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.SpringCloudGatewayWebfluxProperties
- Migrate Spring Cloud Gateway Webflux Properties
- Migrate Spring Cloud Gateway Webflux properties for Spring Cloud 2025 release.
- org.openrewrite.java.spring.cloud2025.UpgradeSpringCloud_2025
- Migrate to Spring Cloud 2025
- Migrate applications to the latest Spring Cloud 2025 (Northfields) release.
- org.openrewrite.java.spring.kafka.UpgradeSpringKafka_2_8_ErrorHandlers
- Migrates Spring Kafka deprecated error handlers
- Migrate error handlers deprecated in Spring Kafka
2.8.xto their replacements.
- org.openrewrite.java.spring.kafka.UpgradeSpringKafka_3_0
- Migrate to Spring Kafka 3.0
- Migrate applications to the latest Spring Kafka 3.0 release.
- org.openrewrite.java.spring.kafka.UpgradeSpringKafka_4_0
- Migrate to Spring Kafka 4.0
- Migrate applications to the latest Spring Kafka 4.0 release.
- org.openrewrite.java.spring.opentelemetry.MigrateBraveToOpenTelemetry
- Migrate Brave API to OpenTelemetry API
- Migrate Java code using Brave (Zipkin) tracing API to OpenTelemetry API. This recipe handles the migration of Brave Tracer, Span, and related classes to OpenTelemetry equivalents.
- org.openrewrite.java.spring.opentelemetry.MigrateDatadogToOpenTelemetry
- Migrate Datadog tracing to OpenTelemetry
- Migrate from Datadog Java tracing annotations to OpenTelemetry annotations. Replace Datadog @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateFromZipkinToOpenTelemetry
- Migrate from Zipkin to OpenTelemetry OTLP
- Migrate from Zipkin tracing to OpenTelemetry OTLP. This recipe replaces Zipkin dependencies with OpenTelemetry OTLP exporter and updates the related configuration properties.
- org.openrewrite.java.spring.opentelemetry.MigrateNewRelicToOpenTelemetry
- Migrate New Relic Agent to OpenTelemetry
- Migrate from New Relic Java Agent annotations to OpenTelemetry annotations. Replace @Trace annotations with @WithSpan annotations.
- org.openrewrite.java.spring.opentelemetry.MigrateOpenTracingToOpenTelemetry
- Migrate OpenTracing API to OpenTelemetry API
- Migrate Java code using OpenTracing API to OpenTelemetry API. OpenTracing has been superseded by OpenTelemetry and is no longer actively maintained.
- org.openrewrite.java.spring.opentelemetry.MigrateSleuthToOpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry
- Migrate from Spring Cloud Sleuth to OpenTelemetry. Spring Cloud Sleuth has been deprecated and is replaced by Micrometer Tracing with OpenTelemetry as a backend. This recipe removes Sleuth dependencies and adds OpenTelemetry instrumentation.
- org.openrewrite.java.spring.opentelemetry.MigrateToOpenTelemetry
- Complete migration to OpenTelemetry
- Comprehensive migration to OpenTelemetry including dependencies, configuration properties, and Java code changes. This recipe handles migration from Spring Cloud Sleuth, Brave/Zipkin, and OpenTracing to OpenTelemetry.
- org.openrewrite.java.spring.security5.RenameNimbusdsJsonObjectPackageName
- Rename the package name from
com.nimbusds.jose.shaded.jsontonet.minidev.json - Rename the package name from
com.nimbusds.jose.shaded.jsontonet.minidev.json.
- Rename the package name from
- org.openrewrite.java.spring.security5.ReplaceGlobalMethodSecurityWithMethodSecurityXml
- Replace global method security with method security
@EnableGlobalMethodSecurityand<global-method-security>are deprecated in favor of@EnableMethodSecurityand<method-security>, respectively. The new annotation and XML element activate Spring’s pre-post annotations by default and use AuthorizationManager internally.
- org.openrewrite.java.spring.security5.UpgradeSpringSecurity_5_7
- Migrate to Spring Security 5.7
- Migrate applications to the latest Spring Security 5.7 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.spring.security5.UpgradeSpringSecurity_5_8
- Migrate to Spring Security 5.8
- Migrate applications to the latest Spring Security 5.8 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.spring.security5.search.FindEncryptorsQueryableTextUses
- Finds uses of
Encryptors.queryableText() Encryptors.queryableText()is insecure and is removed in Spring Security 6.
- Finds uses of
- org.openrewrite.java.spring.security6.RemoveUseAuthorizationManager
- Remove unnecessary
use-authorization-managerfor message security in Spring security 6 - In Spring Security 6,
<websocket-message-broker>defaultsuse-authorization-managertotrue. So, theuse-authorization-managerattribute for message security is no longer needed and can be removed.
- Remove unnecessary
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_0
- Migrate to Spring Security 6.0
- Migrate applications to the latest Spring Security 6.0 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.spring.security6.UpgradeSpringSecurity_6_1
- Migrate to Spring Security 6.1
- Migrate applications to the latest Spring Security 6.1 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.spring.security6.UpgradeSpringSecurity_6_2
- Migrate to Spring Security 6.2
- Migrate applications to the latest Spring Security 6.2 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.spring.security6.UpgradeSpringSecurity_6_3
- Migrate to Spring Security 6.3
- Migrate applications to the latest Spring Security 6.3 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.spring.security6.UpgradeSpringSecurity_6_4
- Migrate to Spring Security 6.4
- 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.
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_5
- Migrate to Spring Security 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.spring.security7.SecurityConfigurerRemoveThrowsException
- Remove throws exception in
SecurityConfigurermethodsinitandconfigure - Remove throws exception in
SecurityConfigurermethodsinitandconfigure.
- Remove throws exception in
- org.openrewrite.java.spring.security7.UpgradeSpringSecurity_7_0
- Migrate to Spring Security 7.0
- Migrate applications to the latest Spring Security 7.0 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.dbrider.MigrateDbRiderSpringToDbRiderJUnit5
- Migrate rider-spring (JUnit4) to rider-junit5 (JUnit5)
- This recipe will migrate the necessary dependencies and annotations from DbRider with JUnit4 to JUnit5 in a Spring application.
- org.openrewrite.quarkus.spring.AddSpringCompatibilityExtensions
- Add Spring compatibility extensions for commonly used annotations
- Adds Quarkus Spring compatibility extensions when Spring annotations are detected in the codebase.
- org.openrewrite.quarkus.spring.DerbyDriverToQuarkus
- Replace Derby driver with Quarkus JDBC Derby
- Migrates
org.apache.derby:derbyorderbyclienttoio.quarkus:quarkus-jdbc-derby(excludes test scope).
- org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus
- Replace Derby test driver with Quarkus JDBC Derby (test scope)
- Migrates
org.apache.derby:derbywith test scope toio.quarkus:quarkus-jdbc-derbywith test scope.
- org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies
- Migrate
@EnableXyzannotations to Quarkus extensions - Removes Spring
@EnableXyzannotations and adds the corresponding Quarkus extensions as dependencies.
- Migrate
- org.openrewrite.quarkus.spring.H2DriverToQuarkus
- Replace H2 driver with Quarkus JDBC H2
- Migrates
com.h2database:h2toio.quarkus:quarkus-jdbc-h2(excludes test scope).
- org.openrewrite.quarkus.spring.H2TestDriverToQuarkus
- Replace H2 test driver with Quarkus JDBC H2 (test scope)
- Migrates
com.h2database:h2with test scope toio.quarkus:quarkus-jdbc-h2with test scope.
- org.openrewrite.quarkus.spring.MigrateBootStarters
- Replace Spring Boot starter dependencies with Quarkus equivalents
- Migrates Spring Boot starter dependencies to their Quarkus equivalents, removing version tags as Quarkus manages versions through its BOM.
- org.openrewrite.quarkus.spring.MigrateDatabaseDrivers
- Migrate database drivers to Quarkus JDBC extensions
- Replaces Spring Boot database driver dependencies with their Quarkus JDBC extension equivalents.
- org.openrewrite.quarkus.spring.MigrateMavenPlugin
- Add or replace Spring Boot build plugin with Quarkus build plugin
- Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom.
- org.openrewrite.quarkus.spring.SpringBootActiveMQToQuarkus
- Replace Spring Boot ActiveMQ with Quarkus Artemis JMS
- Migrates
spring-boot-starter-activemqtoquarkus-artemis-jms.
- org.openrewrite.quarkus.spring.SpringBootActuatorToQuarkus
- Replace Spring Boot Actuator with Quarkus SmallRye Health
- Migrates
spring-boot-starter-actuatortoquarkus-smallrye-health.
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic
- Replace Spring Boot AMQP with Quarkus Messaging RabbitMQ
- Migrates
spring-boot-starter-amqptoquarkus-messaging-rabbitmqwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive
- Replace Spring Boot AMQP with Quarkus Messaging AMQP
- Migrates
spring-boot-starter-amqptoquarkus-messaging-amqpwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootArtemisToQuarkus
- Replace Spring Boot Artemis with Quarkus Artemis JMS
- Migrates
spring-boot-starter-artemistoquarkus-artemis-jms.
- org.openrewrite.quarkus.spring.SpringBootBatchToQuarkus
- Replace Spring Boot Batch with Quarkus Scheduler
- Migrates
spring-boot-starter-batchtoquarkus-scheduler.
- org.openrewrite.quarkus.spring.SpringBootCacheToQuarkus
- Replace Spring Boot Cache with Quarkus Cache
- Migrates
spring-boot-starter-cachetoquarkus-cache.
- org.openrewrite.quarkus.spring.SpringBootDataJpaToQuarkus
- Replace Spring Boot Data JPA with Quarkus Hibernate ORM Panache
- Migrates
spring-boot-starter-data-jpatoquarkus-hibernate-orm-panache.
- org.openrewrite.quarkus.spring.SpringBootDataMongoToQuarkus
- Replace Spring Boot Data MongoDB with Quarkus MongoDB Panache
- Migrates
spring-boot-starter-data-mongodbtoquarkus-mongodb-panache.
- org.openrewrite.quarkus.spring.SpringBootDataRedisToQuarkus
- Replace Spring Boot Data Redis with Quarkus Redis Client
- Migrates
spring-boot-starter-data-redistoquarkus-redis-client.
- org.openrewrite.quarkus.spring.SpringBootDataRestToQuarkus
- Replace Spring Boot Data REST with Quarkus REST
- Migrates
spring-boot-starter-data-resttoquarkus-rest-jackson.
- org.openrewrite.quarkus.spring.SpringBootElasticsearchToQuarkus
- Replace Spring Boot Elasticsearch with Quarkus Elasticsearch REST Client
- Migrates
spring-boot-starter-data-elasticsearchtoquarkus-elasticsearch-rest-client.
- org.openrewrite.quarkus.spring.SpringBootIntegrationToQuarkus
- Replace Spring Boot Integration with Camel Quarkus
- Migrates
spring-boot-starter-integrationtocamel-quarkus-core.
- org.openrewrite.quarkus.spring.SpringBootJdbcToQuarkus
- Replace Spring Boot JDBC with Quarkus Agroal
- Migrates
spring-boot-starter-jdbctoquarkus-agroal.
- org.openrewrite.quarkus.spring.SpringBootMailToQuarkus
- Replace Spring Boot Mail with Quarkus Mailer
- Migrates
spring-boot-starter-mailtoquarkus-mailer.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ClientToQuarkus
- Replace Spring Boot OAuth2 Client with Quarkus OIDC Client
- Migrates spring-boot-starter-oauth2-client
toquarkus-oidc-client`.
- org.openrewrite.quarkus.spring.SpringBootOAuth2ResourceServerToQuarkus
- Replace Spring Boot OAuth2 Resource Server with Quarkus OIDC
- Migrates
spring-boot-starter-oauth2-resource-servertoquarkus-oidc.
- org.openrewrite.quarkus.spring.SpringBootQuartzToQuarkus
- Replace Spring Boot Quartz with Quarkus Quartz
- Migrates
spring-boot-starter-quartztoquarkus-quartz.
- org.openrewrite.quarkus.spring.SpringBootSecurityToQuarkus
- Replace Spring Boot Security with Quarkus Security
- Migrates
spring-boot-starter-securitytoquarkus-security.
- org.openrewrite.quarkus.spring.SpringBootTestToQuarkus
- Replace Spring Boot Test with Quarkus JUnit 5
- Migrates
spring-boot-starter-testtoquarkus-junit5.
- org.openrewrite.quarkus.spring.SpringBootThymeleafToQuarkus
- Replace Spring Boot Thymeleaf with Quarkus Qute
- Migrates
spring-boot-starter-thymeleaftoquarkus-qute.
- org.openrewrite.quarkus.spring.SpringBootToQuarkus
- Migrate Spring Boot to Quarkus
- Replace Spring Boot with Quarkus.
- org.openrewrite.quarkus.spring.SpringBootValidationToQuarkus
- Replace Spring Boot Validation with Quarkus Hibernate Validator
- Migrates
spring-boot-starter-validationtoquarkus-hibernate-validator.
- org.openrewrite.quarkus.spring.SpringBootWebFluxToQuarkusReactive
- Replace Spring Boot WebFlux with Quarkus REST Client
- Migrates
spring-boot-starter-webfluxtoquarkus-rest-client-jacksonwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebSocketToQuarkus
- Replace Spring Boot WebSocket with Quarkus WebSockets
- Migrates
spring-boot-starter-websockettoquarkus-websockets.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusClassic
- Replace Spring Boot Web with Quarkus RESTEasy Classic
- Migrates
spring-boot-starter-webtoquarkus-resteasy-jacksonwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusReactive
- Replace Spring Boot Web with Quarkus REST
- Migrates
spring-boot-starter-webtoquarkus-rest-jacksonwhen reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusClassic
- Replace Spring Kafka with Quarkus Kafka Client
- Migrates
spring-kafkatoquarkus-kafka-clientwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive
- Replace Spring Kafka with Quarkus Messaging Kafka
- Migrates
spring-kafkatoquarkus-messaging-kafkawhen reactor dependencies are present.
springdata
2 recipes
- com.oracle.weblogic.rewrite.spring.data.UpgradeSpringDataBom
- Upgrade Spring Data BOM to 2024.1.x
- Upgrade Spring Data BOM to 2024.1.x version.
- com.oracle.weblogic.rewrite.spring.data.UpgradeSpringDataJpa
- Upgrade Spring Data JPA to 3.4.6
- Upgrade Spring Data JPA to 3.4.6 version, which is the version used by spring-data-bom v2024.1.x
springdoc
10 recipes
- org.openrewrite.java.springdoc.MigrateSpringdocCommon
- Migrate from springdoc-openapi-common to springdoc-openapi-starter-common
- Migrate from springdoc-openapi-common to springdoc-openapi-starter-common.
- org.openrewrite.java.springdoc.ReplaceSpringFoxDependencies
- Replace SpringFox Dependencies
- Replace SpringFox Dependencies.
- org.openrewrite.java.springdoc.SpringFoxToSpringDoc
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI.
- org.openrewrite.java.springdoc.SwaggerToSpringDoc
- Migrate from Swagger to SpringDoc and OpenAPI
- Migrate from Swagger to SpringDoc and OpenAPI.
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2
- Upgrade to SpringDoc 2.1
- Upgrade to SpringDoc v2.1, as described in the upgrade guide.
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2_2
- Upgrade to SpringDoc 2.2
- Upgrade to SpringDoc v2.2.
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2_5
- Upgrade to SpringDoc 2.5
- Upgrade to SpringDoc v2.5.
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2_6
- Upgrade to SpringDoc 2.6
- Upgrade to SpringDoc v2.6.
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2_8
- Upgrade to SpringDoc 2.8
- Upgrade to SpringDoc v2.8.
- org.openrewrite.java.springdoc.UpgradeSpringDoc_3_0
- Upgrade to SpringDoc 3.0
- Upgrade to SpringDoc v3.0.
springfox
2 recipes
- org.openrewrite.java.springdoc.ReplaceSpringFoxDependencies
- Replace SpringFox Dependencies
- Replace SpringFox Dependencies.
- org.openrewrite.java.springdoc.SpringFoxToSpringDoc
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI.
springframework
9 recipes
- com.oracle.weblogic.rewrite.examples.spring.ChangeCacheManagerToSimpleCacheManager
- Change cacheManager to use the SimpleCacheManager
- Change cacheManager to use the SimpleCacheManager.
- com.oracle.weblogic.rewrite.examples.spring.MigratedPetClinicExtrasFor1511
- Add WebLogic 15.1.1 PetClinic extras
- Run migration extras for migrated Spring Framework PetClinic example run on WebLogic 15.1.1.
- com.oracle.weblogic.rewrite.examples.spring.SetupSpringFrameworkPetClinicFor1412
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2.
- com.oracle.weblogic.rewrite.spring.data.UpgradeSpringDataBom
- Upgrade Spring Data BOM to 2024.1.x
- Upgrade Spring Data BOM to 2024.1.x version.
- com.oracle.weblogic.rewrite.spring.data.UpgradeSpringDataJpa
- Upgrade Spring Data JPA to 3.4.6
- Upgrade Spring Data JPA to 3.4.6 version, which is the version used by spring-data-bom v2024.1.x
- com.oracle.weblogic.rewrite.spring.framework.DefaultServletHandler
- Update Default Servlet Handler for Spring Framework if empty
- This recipe will update Spring Framework default servlet handler if empty, as noted in the Spring Framework 6.2 documentation.
- com.oracle.weblogic.rewrite.spring.framework.ReplaceWebLogicJtaTransactionManager
- Replace Removed WebLogicJtaTransactionManager from Spring Framework 5.3.x to 6.2.x
- Replace removed WebLogicJtaTransactionManager with JtaTransactionManager from Spring Framework 6.2.x.
- com.oracle.weblogic.rewrite.spring.framework.ReplaceWebLogicLoadTimeWeaver
- Replace Removed WebLogicLoadTimeWeaver from Spring Framework 5.3.x to 6.2.x
- Replace removed WebLogicLoadTimeWeaver with LoadTimeWeaver from Spring Framework 6.2.x.
- com.oracle.weblogic.rewrite.spring.framework.UpgradeToSpringFramework_6_2
- Migrate to Spring Framework 6.2 for WebLogic 15.1.1
- Migrate applications to the Spring Framework 6.2 release and compatibility with WebLogic 15.1.1.
sql
6 recipes
- org.openrewrite.sql.ConvertOracleDataTypesToPostgres
- Convert Oracle data types to PostgreSQL
- Replaces Oracle-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertOracleFunctionsToPostgres
- Convert Oracle functions to PostgreSQL
- Replaces Oracle-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerDataTypesToPostgres
- Convert SQL Server data types to PostgreSQL
- Replaces SQL Server-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerFunctionsToPostgres
- Convert SQL Server functions to PostgreSQL
- Replaces SQL Server-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.MigrateOracleToPostgres
- Migrate Oracle SQL to PostgreSQL
- Converts Oracle-specific SQL syntax and functions to PostgreSQL equivalents.
- org.openrewrite.sql.MigrateSqlServerToPostgres
- Migrate SQL Server to PostgreSQL
- Converts Microsoft SQL Server-specific SQL syntax and functions to PostgreSQL equivalents.
sqlserver
4 recipes
- org.openrewrite.java.flyway.AddFlywayModuleSqlServer
- Add missing Flyway module for SQL Server
- Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-sqlserverdependency if you are using SQL Server with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780.
- org.openrewrite.sql.ConvertSqlServerDataTypesToPostgres
- Convert SQL Server data types to PostgreSQL
- Replaces SQL Server-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerFunctionsToPostgres
- Convert SQL Server functions to PostgreSQL
- Replaces SQL Server-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.MigrateSqlServerToPostgres
- Migrate SQL Server to PostgreSQL
- Converts Microsoft SQL Server-specific SQL syntax and functions to PostgreSQL equivalents.
storybook
9 recipes
- org.openrewrite.codemods.cleanup.storybook.AwaitInteractions
- Interactions should be awaited
- Interactions should be awaited See rule details for storybook/await-interactions.
- org.openrewrite.codemods.cleanup.storybook.DefaultExports
- Story files should have a default export
- Story files should have a default export See rule details for storybook/default-exports.
- org.openrewrite.codemods.cleanup.storybook.HierarchySeparator
- Deprecated hierarchy separator in title property
- Deprecated hierarchy separator in title property See rule details for storybook/hierarchy-separator.
- org.openrewrite.codemods.cleanup.storybook.NoRedundantStoryName
- A story should not have a redundant name property
- A story should not have a redundant name property See rule details for storybook/no-redundant-story-name.
- org.openrewrite.codemods.cleanup.storybook.NoTitlePropertyInMeta
- Do not define a title in meta
- Do not define a title in meta See rule details for storybook/no-title-property-in-meta.
- org.openrewrite.codemods.cleanup.storybook.PreferPascalCase
- Stories should use PascalCase
- Stories should use PascalCase See rule details for storybook/prefer-pascal-case.
- org.openrewrite.codemods.cleanup.storybook.RecommendedStorybookCodeCleanup
- Recommended Storybook code cleanup
- Collection of cleanup ESLint rules from eslint-plugin-storybook.
- org.openrewrite.codemods.cleanup.storybook.UseStorybookExpect
- Use expect from @storybook/jest
- Use expect from @storybook/jest See rule details for storybook/use-storybook-expect.
- org.openrewrite.codemods.cleanup.storybook.UseStorybookTestingLibrary
- Do not use testing-library directly on stories
- Do not use testing-library directly on stories See rule details for storybook/use-storybook-testing-library.
stylistic
87 recipes
- org.openrewrite.codemods.format.ArrayBracketNewline
- Enforce linebreaks after opening and before closing array brackets
- Enforce linebreaks after opening and before closing array brackets See rule details.
- org.openrewrite.codemods.format.ArrayBracketSpacing
- Enforce consistent spacing inside array brackets
- Enforce consistent spacing inside array brackets See rule details.
- org.openrewrite.codemods.format.ArrayElementNewline
- Enforce line breaks after each array element
- Enforce line breaks after each array element See rule details.
- org.openrewrite.codemods.format.ArrowParens
- Require parentheses around arrow function arguments
- Require parentheses around arrow function arguments See rule details.
- org.openrewrite.codemods.format.ArrowSpacing
- Enforce consistent spacing before and after the arrow in arrow functions
- Enforce consistent spacing before and after the arrow in arrow functions See rule details.
- org.openrewrite.codemods.format.BlockSpacing
- Disallow or enforce spaces inside of blocks after opening block and before closing block
- Disallow or enforce spaces inside of blocks after opening block and before closing block See rule details.
- org.openrewrite.codemods.format.BraceStyle
- Enforce consistent brace style for blocks
- Enforce consistent brace style for blocks See rule details.
- org.openrewrite.codemods.format.CommaDangle
- Require or disallow trailing commas
- Require or disallow trailing commas See rule details.
- org.openrewrite.codemods.format.CommaSpacing
- Enforce consistent spacing before and after commas
- Enforce consistent spacing before and after commas See rule details.
- org.openrewrite.codemods.format.CommaStyle
- Enforce consistent comma style
- Enforce consistent comma style See rule details.
- org.openrewrite.codemods.format.ComputedPropertySpacing
- Enforce consistent spacing inside computed property brackets
- Enforce consistent spacing inside computed property brackets See rule details.
- org.openrewrite.codemods.format.DotLocation
- Enforce consistent newlines before and after dots
- Enforce consistent newlines before and after dots See rule details.
- org.openrewrite.codemods.format.EolLast
- Require or disallow newline at the end of files
- Require or disallow newline at the end of files See rule details.
- org.openrewrite.codemods.format.FuncCallSpacing
- Require or disallow spacing between function identifiers and their invocations. Alias of `function-call-spacing`
- Require or disallow spacing between function identifiers and their invocations. Alias of `function-call-spacing`. See rule details.
- org.openrewrite.codemods.format.FunctionCallArgumentNewline
- Enforce line breaks between arguments of a function call
- Enforce line breaks between arguments of a function call See rule details.
- org.openrewrite.codemods.format.FunctionCallSpacing
- Require or disallow spacing between function identifiers and their invocations
- Require or disallow spacing between function identifiers and their invocations See rule details.
- org.openrewrite.codemods.format.FunctionParenNewline
- Enforce consistent line breaks inside function parentheses
- Enforce consistent line breaks inside function parentheses See rule details.
- org.openrewrite.codemods.format.GeneratorStarSpacing
- Enforce consistent spacing around `*` operators in generator functions
- Enforce consistent spacing around `*` operators in generator functions See rule details.
- org.openrewrite.codemods.format.ImplicitArrowLinebreak
- Enforce the location of arrow function bodies
- Enforce the location of arrow function bodies See rule details.
- org.openrewrite.codemods.format.Indent
- Enforce consistent indentation
- Enforce consistent indentation See rule details.
- org.openrewrite.codemods.format.IndentBinaryOps
- Indentation for binary operators
- Indentation for binary operators See rule details.
- org.openrewrite.codemods.format.JsxClosingBracketLocation
- Enforce closing bracket location in JSX
- Enforce closing bracket location in JSX See rule details.
- org.openrewrite.codemods.format.JsxClosingTagLocation
- Enforce closing tag location for multiline JSX
- Enforce closing tag location for multiline JSX See rule details.
- org.openrewrite.codemods.format.JsxCurlyBracePresence
- Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
- Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes See rule details.
- org.openrewrite.codemods.format.JsxCurlyNewline
- Enforce consistent linebreaks in curly braces in JSX attributes and expressions
- Enforce consistent linebreaks in curly braces in JSX attributes and expressions See rule details.
- org.openrewrite.codemods.format.JsxCurlySpacing
- Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
- Enforce or disallow spaces inside of curly braces in JSX attributes and expressions See rule details.
- org.openrewrite.codemods.format.JsxEqualsSpacing
- Enforce or disallow spaces around equal signs in JSX attributes
- Enforce or disallow spaces around equal signs in JSX attributes See rule details.
- org.openrewrite.codemods.format.JsxFirstPropNewLine
- Enforce proper position of the first property in JSX
- Enforce proper position of the first property in JSX See rule details.
- org.openrewrite.codemods.format.JsxIndent
- Enforce JSX indentation
- Enforce JSX indentation See rule details.
- org.openrewrite.codemods.format.JsxIndentProps
- Enforce props indentation in JSX
- Enforce props indentation in JSX See rule details.
- org.openrewrite.codemods.format.JsxMaxPropsPerLine
- Enforce maximum of props on a single line in JSX
- Enforce maximum of props on a single line in JSX See rule details.
- org.openrewrite.codemods.format.JsxNewline
- Require or prevent a new line after jsx elements and expressions
- Require or prevent a new line after jsx elements and expressions. See rule details.
- org.openrewrite.codemods.format.JsxOneExpressionPerLine
- Require one JSX element per line
- Require one JSX element per line See rule details.
- org.openrewrite.codemods.format.JsxPascalCase
- Enforce PascalCase for user-defined JSX components
- Enforce PascalCase for user-defined JSX components See rule details.
- org.openrewrite.codemods.format.JsxPropsNoMultiSpaces
- Disallow multiple spaces between inline JSX props
- Disallow multiple spaces between inline JSX props See rule details.
- org.openrewrite.codemods.format.JsxQuotes
- Enforce the consistent use of either double or single quotes in JSX attributes
- Enforce the consistent use of either double or single quotes in JSX attributes See rule details.
- org.openrewrite.codemods.format.JsxSelfClosingComp
- Disallow extra closing tags for components without children
- Disallow extra closing tags for components without children See rule details.
- org.openrewrite.codemods.format.JsxSortProps
- Enforce props alphabetical sorting
- Enforce props alphabetical sorting See rule details.
- org.openrewrite.codemods.format.JsxTagSpacing
- Enforce whitespace in and around the JSX opening and closing brackets
- Enforce whitespace in and around the JSX opening and closing brackets See rule details.
- org.openrewrite.codemods.format.JsxWrapMultilines
- Disallow missing parentheses around multiline JSX
- Disallow missing parentheses around multiline JSX See rule details.
- org.openrewrite.codemods.format.KeySpacing
- Enforce consistent spacing between keys and values in object literal properties
- Enforce consistent spacing between keys and values in object literal properties See rule details.
- org.openrewrite.codemods.format.KeywordSpacing
- Enforce consistent spacing before and after keywords
- Enforce consistent spacing before and after keywords See rule details.
- org.openrewrite.codemods.format.LinebreakStyle
- Enforce consistent linebreak style
- Enforce consistent linebreak style See rule details.
- org.openrewrite.codemods.format.LinesAroundComment
- Require empty lines around comments
- Require empty lines around comments See rule details.
- org.openrewrite.codemods.format.LinesBetweenClassMembers
- Require or disallow an empty line between class members
- Require or disallow an empty line between class members See rule details.
- org.openrewrite.codemods.format.MemberDelimiterStyle
- Require a specific member delimiter style for interfaces and type literals
- Require a specific member delimiter style for interfaces and type literals See rule details.
- org.openrewrite.codemods.format.MultilineTernary
- Enforce newlines between operands of ternary expressions
- Enforce newlines between operands of ternary expressions See rule details.
- org.openrewrite.codemods.format.NewParens
- Enforce or disallow parentheses when invoking a constructor with no arguments
- Enforce or disallow parentheses when invoking a constructor with no arguments See rule details.
- org.openrewrite.codemods.format.NewlinePerChainedCall
- Require a newline after each call in a method chain
- Require a newline after each call in a method chain See rule details.
- org.openrewrite.codemods.format.NoConfusingArrow
- Disallow arrow functions where they could be confused with comparisons
- Disallow arrow functions where they could be confused with comparisons See rule details.
- org.openrewrite.codemods.format.NoExtraParens
- Disallow unnecessary parentheses
- Disallow unnecessary parentheses See rule details.
- org.openrewrite.codemods.format.NoExtraSemi
- Disallow unnecessary semicolons
- Disallow unnecessary semicolons See rule details.
- org.openrewrite.codemods.format.NoFloatingDecimal
- Disallow leading or trailing decimal points in numeric literals
- Disallow leading or trailing decimal points in numeric literals See rule details.
- org.openrewrite.codemods.format.NoMultiSpaces
- Disallow multiple spaces
- Disallow multiple spaces See rule details.
- org.openrewrite.codemods.format.NoMultipleEmptyLines
- Disallow multiple empty lines
- Disallow multiple empty lines See rule details.
- org.openrewrite.codemods.format.NoTrailingSpaces
- Disallow trailing whitespace at the end of lines
- Disallow trailing whitespace at the end of lines See rule details.
- org.openrewrite.codemods.format.NoWhitespaceBeforeProperty
- Disallow whitespace before properties
- Disallow whitespace before properties See rule details.
- org.openrewrite.codemods.format.NonblockStatementBodyPosition
- Enforce the location of single-line statements
- Enforce the location of single-line statements See rule details.
- org.openrewrite.codemods.format.ObjectCurlyNewline
- Enforce consistent line breaks after opening and before closing braces
- Enforce consistent line breaks after opening and before closing braces See rule details.
- org.openrewrite.codemods.format.ObjectCurlySpacing
- Enforce consistent spacing inside braces
- Enforce consistent spacing inside braces See rule details.
- org.openrewrite.codemods.format.ObjectPropertyNewline
- Enforce placing object properties on separate lines
- Enforce placing object properties on separate lines See rule details.
- org.openrewrite.codemods.format.OneVarDeclarationPerLine
- Require or disallow newlines around variable declarations
- Require or disallow newlines around variable declarations See rule details.
- org.openrewrite.codemods.format.OperatorLinebreak
- Enforce consistent linebreak style for operators
- Enforce consistent linebreak style for operators See rule details.
- org.openrewrite.codemods.format.PaddedBlocks
- Require or disallow padding within blocks
- Require or disallow padding within blocks See rule details.
- org.openrewrite.codemods.format.PaddingLineBetweenStatements
- Require or disallow padding lines between statements
- Require or disallow padding lines between statements See rule details.
- org.openrewrite.codemods.format.QuoteProps
- Require quotes around object literal property names
- Require quotes around object literal property names See rule details.
- org.openrewrite.codemods.format.Quotes
- Enforce the consistent use of either backticks, double, or single quotes
- Enforce the consistent use of either backticks, double, or single quotes See rule details.
- org.openrewrite.codemods.format.RecommendedESLintStyling
- Recommended ESLint Styling
- Collection of stylistic ESLint rules that are recommended by the ESLint Style..
- org.openrewrite.codemods.format.RestSpreadSpacing
- Enforce spacing between rest and spread operators and their expressions
- Enforce spacing between rest and spread operators and their expressions See rule details.
- org.openrewrite.codemods.format.Semi
- Require or disallow semicolons instead of ASI
- Require or disallow semicolons instead of ASI See rule details.
- org.openrewrite.codemods.format.SemiSpacing
- Enforce consistent spacing before and after semicolons
- Enforce consistent spacing before and after semicolons See rule details.
- org.openrewrite.codemods.format.SemiStyle
- Enforce location of semicolons
- Enforce location of semicolons See rule details.
- org.openrewrite.codemods.format.SpaceBeforeBlocks
- Enforce consistent spacing before blocks
- Enforce consistent spacing before blocks See rule details.
- org.openrewrite.codemods.format.SpaceBeforeFunctionParen
- Enforce consistent spacing before `function` definition opening parenthesis
- Enforce consistent spacing before `function` definition opening parenthesis See rule details.
- org.openrewrite.codemods.format.SpaceInParens
- Enforce consistent spacing inside parentheses
- Enforce consistent spacing inside parentheses See rule details.
- org.openrewrite.codemods.format.SpaceInfixOps
- Require spacing around infix operators
- Require spacing around infix operators See rule details.
- org.openrewrite.codemods.format.SpaceUnaryOps
- Enforce consistent spacing before or after unary operators
- Enforce consistent spacing before or after unary operators See rule details.
- org.openrewrite.codemods.format.SpacedComment
- Enforce consistent spacing after the `//` or `/*` in a comment
- Enforce consistent spacing after the `//` or `/*` in a comment See rule details.
- org.openrewrite.codemods.format.SwitchColonSpacing
- Enforce spacing around colons of switch statements
- Enforce spacing around colons of switch statements See rule details.
- org.openrewrite.codemods.format.TemplateCurlySpacing
- Require or disallow spacing around embedded expressions of template strings
- Require or disallow spacing around embedded expressions of template strings See rule details.
- org.openrewrite.codemods.format.TemplateTagSpacing
- Require or disallow spacing between template tags and their literals
- Require or disallow spacing between template tags and their literals See rule details.
- org.openrewrite.codemods.format.TypeAnnotationSpacing
- Require consistent spacing around type annotations
- Require consistent spacing around type annotations See rule details.
- org.openrewrite.codemods.format.TypeGenericSpacing
- Enforces consistent spacing inside TypeScript type generics
- Enforces consistent spacing inside TypeScript type generics See rule details.
- org.openrewrite.codemods.format.TypeNamedTupleSpacing
- Expect space before the type declaration in the named tuple
- Expect space before the type declaration in the named tuple See rule details.
- org.openrewrite.codemods.format.WrapIife
- Require parentheses around immediate `function` invocations
- Require parentheses around immediate `function` invocations See rule details.
- org.openrewrite.codemods.format.WrapRegex
- Require parenthesis around regex literals
- Require parenthesis around regex literals See rule details.
- org.openrewrite.codemods.format.YieldStarSpacing
- Require or disallow spacing around the `` in `yield` expressions
- Require or disallow spacing around the `` in `yield` expressions See rule details.
supply
1 recipe
- org.openrewrite.github.security.GitHubActionsSecurity
- GitHub Actions security insights
- Finds potential security issues in GitHub Actions workflows, based on Zizmor security analysis rules.
svelte
18 recipes
- org.openrewrite.codemods.cleanup.svelte.FirstAttributeLinebreak
- Enforce the location of first attribute
- Enforce the location of first attribute See rule details for svelte/first-attribute-linebreak.
- org.openrewrite.codemods.cleanup.svelte.HtmlClosingBracketSpacing
- Require or disallow a space before tag's closing brackets
- Require or disallow a space before tag's closing brackets See rule details for svelte/html-closing-bracket-spacing.
- org.openrewrite.codemods.cleanup.svelte.HtmlQuotes
- Enforce quotes style of HTML attributes
- Enforce quotes style of HTML attributes See rule details for svelte/html-quotes.
- org.openrewrite.codemods.cleanup.svelte.HtmlSelfClosing
- Enforce self-closing style
- Enforce self-closing style See rule details for svelte/html-self-closing.
- org.openrewrite.codemods.cleanup.svelte.Indent
- Enforce consistent indentation
- Enforce consistent indentation See rule details for svelte/indent.
- org.openrewrite.codemods.cleanup.svelte.MaxAttributesPerLine
- Enforce the maximum number of attributes per line
- Enforce the maximum number of attributes per line See rule details for svelte/max-attributes-per-line.
- org.openrewrite.codemods.cleanup.svelte.MustacheSpacing
- Enforce unified spacing in mustache
- Enforce unified spacing in mustache See rule details for svelte/mustache-spacing.
- org.openrewrite.codemods.cleanup.svelte.NoDynamicSlotName
- Disallow dynamic slot name
- Disallow dynamic slot name See rule details for svelte/no-dynamic-slot-name.
- org.openrewrite.codemods.cleanup.svelte.NoSpacesAroundEqualSignsInAttribute
- Disallow spaces around equal signs in attribute
- Disallow spaces around equal signs in attribute See rule details for svelte/no-spaces-around-equal-signs-in-attribute.
- org.openrewrite.codemods.cleanup.svelte.NoUselessMustaches
- Disallow unnecessary mustache interpolations
- Disallow unnecessary mustache interpolations See rule details for svelte/no-useless-mustaches.
- org.openrewrite.codemods.cleanup.svelte.PreferClassDirective
- Require class directives instead of ternary expressions
- Require class directives instead of ternary expressions See rule details for svelte/prefer-class-directive.
- org.openrewrite.codemods.cleanup.svelte.PreferStyleDirective
- Require style directives instead of style attribute
- Require style directives instead of style attribute See rule details for svelte/prefer-style-directive.
- org.openrewrite.codemods.cleanup.svelte.RecommendedsvelteCodeCleanup
- Recommended svelte code cleanup
- Collection of cleanup ESLint rules from eslint-plugin-svelte.
- org.openrewrite.codemods.cleanup.svelte.RequireStoreReactiveAccess
- Disallow to use of the store itself as an operand. Need to use $ prefix or get function
- Disallow to use of the store itself as an operand. Need to use $ prefix or get function. See rule details for svelte/require-store-reactive-access.
- org.openrewrite.codemods.cleanup.svelte.ShorthandAttribute
- Enforce use of shorthand syntax in attribute
- Enforce use of shorthand syntax in attribute See rule details for svelte/shorthand-attribute.
- org.openrewrite.codemods.cleanup.svelte.ShorthandDirective
- Enforce use of shorthand syntax in directives
- Enforce use of shorthand syntax in directives See rule details for svelte/shorthand-directive.
- org.openrewrite.codemods.cleanup.svelte.SortAttributes
- Enforce order of attributes
- Enforce order of attributes See rule details for svelte/sort-attributes.
- org.openrewrite.codemods.cleanup.svelte.SpacedHtmlComment
- Enforce consistent spacing after the <!-- and before the --> in a HTML comment
- Enforce consistent spacing after the <!-- and before the --> in a HTML comment See rule details for svelte/spaced-html-comment.
swagger
9 recipes
- org.openrewrite.java.springdoc.SpringFoxToSpringDoc
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI
- Migrate from SpringFox Swagger to SpringDoc and OpenAPI.
- org.openrewrite.java.springdoc.SwaggerToSpringDoc
- Migrate from Swagger to SpringDoc and OpenAPI
- Migrate from Swagger to SpringDoc and OpenAPI.
- org.openrewrite.openapi.swagger.MigrateApiImplicitParamsToParameters
- Migrate from
@ApiImplicitParamsto@Parameters - Converts
@ApiImplicitParamsto@Parametersand the@ApiImplicitParamannotation to@Parameterand converts the directly mappable attributes and removes the others.
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiModelPropertyToSchema
- Migrate from
@ApiModelPropertyto@Schema - Converts the
@ApiModelPropertyannotation to@Schemaand converts the "value" attribute to "description".
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiOperationToOperation
- Migrate from
@ApiOperationto@Operation - Converts the
@ApiOperationannotation to@Operationand converts the directly mappable attributes and removes the others.
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiParamToParameter
- Migrate from
@ApiParamto@Parameter - Converts the
@ApiParamannotation to@Parameterand converts the directly mappable attributes.
- Migrate from
- org.openrewrite.openapi.swagger.MigrateApiResponsesToApiResponses
- Migrate from
@ApiResponsesto@ApiResponses - Changes the namespace of the
@ApiResponsesand@ApiResponseannotations and converts its attributes (ex. code -> responseCode, message -> description, response -> content).
- Migrate from
- org.openrewrite.openapi.swagger.SwaggerToOpenAPI
- Migrate from Swagger to OpenAPI
- Migrate from Swagger to OpenAPI.
- org.openrewrite.openapi.swagger.UseJakartaSwaggerArtifacts
- Use Jakarta Swagger Artifacts
- Migrate from javax Swagger artifacts to Jakarta versions.
taglib
3 recipes
- com.oracle.weblogic.rewrite.examples.AddImplicitTldFileWithTaglib2_1
- Add implicit TLD with taglib 2.1
- Add
implicit.tldfile with taglib 2.1 tosrc/main/webapp/WEB-INF/tags.
- com.oracle.weblogic.rewrite.examples.AddImplicitTldFileWithTaglib3_0
- Add implicit TLD with taglib 3.0
- Add
implicit.tldfile with taglib 3.0 tosrc/main/webapp/WEB-INF/tags.
- com.oracle.weblogic.rewrite.jakarta.JavaxFacesTagLibraryXmlToJakartaFaces3TagLibraryXml
- Migrate xmlns entries in
*taglib*.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
taglibs
1 recipe
- com.oracle.weblogic.rewrite.jakarta.MigrateTagLibsToJakartaEE9
- Migrate Tag Libraries to 2.0 (Jakarta EE 9)
- Upgrade Jakarta Standard Tag libraries to 2.0 (Jakarta EE9) versions.
tapestry
4 recipes
- org.openrewrite.tapestry.ChangeTapestryPackages
- Change Tapestry 4 packages to Tapestry 5
- Updates package imports from org.apache.tapestry to org.apache.tapestry5. Only renames packages that have direct equivalents in Tapestry 5.
- org.openrewrite.tapestry.ChangeTapestryTypes
- Change Tapestry 4 types to Tapestry 5 equivalents
- Renames Tapestry 4 types that have direct equivalents in Tapestry 5. This handles types from different packages that were reorganized in T5.
- org.openrewrite.tapestry.MigrateTapestry4To5
- Migrate Tapestry 4 to Tapestry 5
- Migrates Apache Tapestry 4 applications to Tapestry 5. This includes package renames, removing base class inheritance, converting listener interfaces to annotations, and updating dependencies.
- org.openrewrite.tapestry.UpdateTapestryDependencies
- Update Tapestry dependencies
- Updates dependencies from Tapestry 4 to Tapestry 5.
templating
1 recipe
- org.openrewrite.quarkus.spring.SpringBootThymeleafToQuarkus
- Replace Spring Boot Thymeleaf with Quarkus Qute
- Migrates
spring-boot-starter-thymeleaftoquarkus-qute.
terraform
114 recipes
- org.openrewrite.terraform.aws.AWSBestPractices
- Best practices for AWS
- Securely operate on Amazon Web Services.
- org.openrewrite.terraform.aws.DisableInstanceMetadataServiceV1
- Disable Instance Metadata Service version 1
- As a request/response method IMDSv1 is prone to local misconfigurations.
- org.openrewrite.terraform.aws.EnableApiGatewayCaching
- Enable API gateway caching
- Enable caching for all methods of API Gateway.
- org.openrewrite.terraform.aws.EnableDynamoDbPITR
- Enable point-in-time recovery for DynamoDB
- DynamoDB Point-In-Time Recovery (PITR) is an automatic backup service for DynamoDB table data that helps protect your DynamoDB tables from accidental write or delete operations.
- org.openrewrite.terraform.aws.EnableECRScanOnPush
- Scan images pushed to ECR
- ECR Image Scanning assesses and identifies operating system vulnerabilities. Using automated image scans you can ensure container image vulnerabilities are found before getting pushed to production.
- org.openrewrite.terraform.aws.EncryptAuroraClusters
- Encrypt Aurora clusters
- Native Aurora encryption helps protect your cloud applications and fulfils compliance requirements for data-at-rest encryption.
- org.openrewrite.terraform.aws.EncryptCodeBuild
- Encrypt CodeBuild projects
- Build artifacts, such as a cache, logs, exported raw test report data files, and build results, are encrypted by default using CMKs for Amazon S3 that are managed by the AWS Key Management Service.
- org.openrewrite.terraform.aws.EncryptDAXStorage
- Encrypt DAX storage at rest
- DAX encryption at rest automatically integrates with AWS KMS for managing the single service default key used to encrypt clusters.
- org.openrewrite.terraform.aws.EncryptDocumentDB
- Encrypt DocumentDB storage
- The encryption feature available for Amazon DocumentDB clusters provides an additional layer of data protection by helping secure your data against unauthorized access to the underlying storage.
- org.openrewrite.terraform.aws.EncryptEBSSnapshots
- Encrypt EBS snapshots
- EBS snapshots should be encrypted, as they often include sensitive information, customer PII or CPNI.
- org.openrewrite.terraform.aws.EncryptEBSVolumeLaunchConfiguration
- Encrypt EBS volume launch configurations
- EBS volumes allow you to create encrypted launch configurations when creating EC2 instances and auto scaling. When the entire EBS volume is encrypted, data stored at rest on the volume, disk I/O, snapshots created from the volume, and data in-transit between EBS and EC2 are all encrypted.
- org.openrewrite.terraform.aws.EncryptEBSVolumes
- Encrypt EBS volumes
- Encrypting EBS volumes ensures that replicated copies of your images are secure even if they are accidentally exposed. AWS EBS encryption uses AWS KMS customer master keys (CMK) when creating encrypted volumes and snapshots. Storing EBS volumes in their encrypted state reduces the risk of data exposure or data loss.
- org.openrewrite.terraform.aws.EncryptEFSVolumesInECSTaskDefinitionsInTransit
- Encrypt EFS Volumes in ECS Task Definitions in transit
- Enable attached EFS definitions in ECS tasks to use encryption in transit.
- org.openrewrite.terraform.aws.EncryptElastiCacheRedisAtRest
- Encrypt ElastiCache Redis at rest
- ElastiCache for Redis offers default encryption at rest as a service.
- org.openrewrite.terraform.aws.EncryptElastiCacheRedisInTransit
- Encrypt ElastiCache Redis in transit
- ElastiCache for Redis offers optional encryption in transit. In-transit encryption provides an additional layer of data protection when transferring data over standard HTTPS protocol.
- org.openrewrite.terraform.aws.EncryptNeptuneStorage
- Encrypt Neptune storage
- Encryption of Neptune storage protects data and metadata against unauthorized access.
- org.openrewrite.terraform.aws.EncryptRDSClusters
- Encrypt RDS clusters
- Native RDS encryption helps protect your cloud applications and fulfils compliance requirements for data-at-rest encryption.
- org.openrewrite.terraform.aws.EncryptRedshift
- Encrypt Redshift storage at rest
- Redshift clusters should be securely encrypted at rest.
- org.openrewrite.terraform.aws.EnsureAWSCMKRotationIsEnabled
- Ensure AWS CMK rotation is enabled
- Ensure AWS CMK rotation is enabled.
- org.openrewrite.terraform.aws.EnsureAWSEFSWithEncryptionForDataAtRestIsEnabled
- Ensure AWS EFS with encryption for data at rest is enabled
- Ensure AWS EFS with encryption for data at rest is enabled.
- org.openrewrite.terraform.aws.EnsureAWSEKSClusterEndpointAccessIsPubliclyDisabled
- Ensure AWS EKS cluster endpoint access is publicly disabled
- Ensure AWS EKS cluster endpoint access is publicly disabled.
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchDomainEncryptionForDataAtRestIsEnabled
- Ensure AWS Elasticsearch domain encryption for data at rest is enabled
- Ensure AWS Elasticsearch domain encryption for data at rest is enabled.
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchDomainsHaveEnforceHTTPSEnabled
- Ensure AWS Elasticsearch domains have
EnforceHTTPSenabled - Ensure AWS Elasticsearch domains have
EnforceHTTPSenabled.
- Ensure AWS Elasticsearch domains have
- org.openrewrite.terraform.aws.EnsureAWSElasticsearchHasNodeToNodeEncryptionEnabled
- Ensure AWS Elasticsearch has node-to-node encryption enabled
- Ensure AWS Elasticsearch has node-to-node encryption enabled.
- org.openrewrite.terraform.aws.EnsureAWSIAMPasswordPolicyHasAMinimumOf14Characters
- Ensure AWS IAM password policy has a minimum of 14 characters
- Ensure AWS IAM password policy has a minimum of 14 characters.
- org.openrewrite.terraform.aws.EnsureAWSLambdaFunctionIsConfiguredForFunctionLevelConcurrentExecutionLimit
- Ensure AWS Lambda function is configured for function-level concurrent execution limit
- Ensure AWS Lambda function is configured for function-level concurrent execution limit.
- org.openrewrite.terraform.aws.EnsureAWSLambdaFunctionsHaveTracingEnabled
- Ensure AWS Lambda functions have tracing enabled
- Ensure AWS Lambda functions have tracing enabled.
- org.openrewrite.terraform.aws.EnsureAWSRDSDatabaseInstanceIsNotPubliclyAccessible
- Ensure AWS RDS database instance is not publicly accessible
- Ensure AWS RDS database instance is not publicly accessible.
- org.openrewrite.terraform.aws.EnsureAWSS3ObjectVersioningIsEnabled
- Ensure AWS S3 object versioning is enabled
- Ensure AWS S3 object versioning is enabled.
- org.openrewrite.terraform.aws.EnsureAmazonEKSControlPlaneLoggingEnabledForAllLogTypes
- Ensure Amazon EKS control plane logging enabled for all log types
- Ensure Amazon EKS control plane logging enabled for all log types.
- org.openrewrite.terraform.aws.EnsureCloudTrailLogFileValidationIsEnabled
- Ensure CloudTrail log file validation is enabled
- Ensure CloudTrail log file validation is enabled.
- org.openrewrite.terraform.aws.EnsureDataStoredInAnS3BucketIsSecurelyEncryptedAtRest
- Ensure data stored in an S3 bucket is securely encrypted at rest
- Ensure data stored in an S3 bucket is securely encrypted at rest.
- org.openrewrite.terraform.aws.EnsureDetailedMonitoringForEC2InstancesIsEnabled
- Ensure detailed monitoring for EC2 instances is enabled
- Ensure detailed monitoring for EC2 instances is enabled.
- org.openrewrite.terraform.aws.EnsureEC2IsEBSOptimized
- Ensure EC2 is EBS optimized
- Ensure EC2 is EBS optimized.
- org.openrewrite.terraform.aws.EnsureECRRepositoriesAreEncrypted
- Ensure ECR repositories are encrypted
- Ensure ECR repositories are encrypted.
- org.openrewrite.terraform.aws.EnsureEnhancedMonitoringForAmazonRDSInstancesIsEnabled
- Ensure enhanced monitoring for Amazon RDS instances is enabled
- Ensure enhanced monitoring for Amazon RDS instances is enabled.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyExpiresPasswordsWithin90DaysOrLess
- Ensure IAM password policy expires passwords within 90 days or less
- Ensure IAM password policy expires passwords within 90 days or less.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyPreventsPasswordReuse
- Ensure IAM password policy prevents password reuse
- Ensure IAM password policy prevents password reuse.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneLowercaseLetter
- Ensure IAM password policy requires at least one lowercase letter
- Ensure IAM password policy requires at least one lowercase letter.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneNumber
- Ensure IAM password policy requires at least one number
- Ensure IAM password policy requires at least one number.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneSymbol
- Ensure IAM password policy requires at least one symbol
- Ensure IAM password policy requires at least one symbol.
- org.openrewrite.terraform.aws.EnsureIAMPasswordPolicyRequiresAtLeastOneUppercaseLetter
- Ensure IAM password policy requires at least one uppercase letter
- Ensure IAM password policy requires at least one uppercase letter.
- org.openrewrite.terraform.aws.EnsureKinesisStreamIsSecurelyEncrypted
- Ensure Kinesis Stream is securely encrypted
- Ensure Kinesis Stream is securely encrypted.
- org.openrewrite.terraform.aws.EnsureRDSDatabaseHasIAMAuthenticationEnabled
- Ensure RDS database has IAM authentication enabled
- Ensure RDS database has IAM authentication enabled.
- org.openrewrite.terraform.aws.EnsureRDSInstancesHaveMultiAZEnabled
- Ensure RDS instances have Multi-AZ enabled
- Ensure RDS instances have Multi-AZ enabled.
- org.openrewrite.terraform.aws.EnsureRespectiveLogsOfAmazonRDSAreEnabled
- Ensure respective logs of Amazon RDS are enabled
- Ensure respective logs of Amazon RDS are enabled.
- org.openrewrite.terraform.aws.EnsureTheS3BucketHasAccessLoggingEnabled
- Ensure the S3 bucket has access logging enabled
- Ensure the S3 bucket has access logging enabled.
- org.openrewrite.terraform.aws.EnsureVPCSubnetsDoNotAssignPublicIPByDefault
- Ensure VPC subnets do not assign public IP by default
- Ensure VPC subnets do not assign public IP by default.
- org.openrewrite.terraform.aws.ImmutableECRTags
- Make ECR tags immutable
- Amazon ECR supports immutable tags, preventing image tags from being overwritten. In the past, ECR tags could have been overwritten, this could be overcome by requiring users to uniquely identify an image using a naming convention.
- org.openrewrite.terraform.aws.UseHttpsForCloudfrontDistribution
- Use HTTPS for Cloudfront distribution
- Secure communication by default.
- org.openrewrite.terraform.azure.AzureBestPractices
- Best practices for Azure
- Securely operate on Microsoft Azure.
- org.openrewrite.terraform.azure.DisableKubernetesDashboard
- Disable Kubernetes dashboard
- Disabling the dashboard eliminates it as an attack vector. The dashboard add-on is disabled by default for all new clusters created on Kubernetes 1.18 or greater.
- org.openrewrite.terraform.azure.EnableAzureStorageAccountTrustedMicrosoftServicesAccess
- Enable Azure Storage Account Trusted Microsoft Services access
- Certain Microsoft services that interact with storage accounts operate from networks that cannot be granted access through network rules. Using this configuration, you can allow the set of trusted Microsoft services to bypass those network rules.
- org.openrewrite.terraform.azure.EnableAzureStorageSecureTransferRequired
- Enable Azure Storage secure transfer required
- Microsoft recommends requiring secure transfer for all storage accounts.
- org.openrewrite.terraform.azure.EnableGeoRedundantBackupsOnPostgreSQLServer
- Enable geo-redundant backups on PostgreSQL server
- Ensure PostgreSQL server enables geo-redundant backups.
- org.openrewrite.terraform.azure.EncryptAzureVMDataDiskWithADECMK
- Encrypt Azure VM data disk with ADE/CMK
- Ensure Azure VM data disk is encrypted with ADE/CMK.
- org.openrewrite.terraform.azure.EnsureAKSPoliciesAddOn
- Ensure AKS policies add-on
- Azure Policy Add-on for Kubernetes service (AKS) extends Gatekeeper v3, an admission controller webhook for Open Policy Agent (OPA), to apply at-scale enforcements and safeguards on your clusters in a centralized, consistent manner.
- org.openrewrite.terraform.azure.EnsureAKVSecretsHaveAnExpirationDateSet
- Ensure AKV secrets have an expiration date set
- Ensure AKV secrets have an expiration date set.
- org.openrewrite.terraform.azure.EnsureASecurityContactPhoneNumberIsPresent
- Ensure a security contact phone number is present
- Ensure a security contact phone number is present.
- org.openrewrite.terraform.azure.EnsureActivityLogRetentionIsSetTo365DaysOrGreater
- Ensure activity log retention is set to 365 days or greater
- Ensure activity log retention is set to 365 days or greater.
- org.openrewrite.terraform.azure.EnsureAllKeysHaveAnExpirationDate
- Ensure all keys have an expiration date
- Ensure all keys have an expiration date.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesDetailedErrorMessages
- Ensure app service enables detailed error messages
- Ensure app service enables detailed error messages.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesFailedRequestTracing
- Ensure app service enables failed request tracing
- Ensure app service enables failed request tracing.
- org.openrewrite.terraform.azure.EnsureAppServiceEnablesHTTPLogging
- Ensure app service enables HTTP logging
- Ensure app service enables HTTP logging.
- org.openrewrite.terraform.azure.EnsureAppServicesUseAzureFiles
- Ensure app services use Azure files
- Ensure app services use Azure files.
- org.openrewrite.terraform.azure.EnsureAzureAppServiceWebAppRedirectsHTTPToHTTPS
- Ensure Azure App Service Web app redirects HTTP to HTTPS
- Ensure Azure App Service Web app redirects HTTP to HTTPS.
- org.openrewrite.terraform.azure.EnsureAzureApplicationGatewayHasWAFEnabled
- Ensure Azure application gateway has WAF enabled
- Ensure Azure application gateway has WAF enabled.
- org.openrewrite.terraform.azure.EnsureAzureKeyVaultIsRecoverable
- Ensure Azure key vault is recoverable
- Ensure Azure key vault is recoverable.
- org.openrewrite.terraform.azure.EnsureAzureNetworkWatcherNSGFlowLogsRetentionIsGreaterThan90Days
- Ensure Azure Network Watcher NSG flow logs retention is greater than 90 days
- Ensure Azure Network Watcher NSG flow logs retention is greater than 90 days.
- org.openrewrite.terraform.azure.EnsureAzurePostgreSQLDatabaseServerWithSSLConnectionIsEnabled
- Ensure Azure PostgreSQL database server with SSL connection is enabled
- Ensure Azure PostgreSQL database server with SSL connection is enabled.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerAuditLogRetentionIsGreaterThan90Days
- Ensure Azure SQL server audit log retention is greater than 90 days
- Ensure Azure SQL server audit log retention is greater than 90 days.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerSendAlertsToFieldValueIsSet
- Ensure Azure SQL server send alerts to field value is set
- Ensure Azure SQL server send alerts to field value is set.
- org.openrewrite.terraform.azure.EnsureAzureSQLServerThreatDetectionAlertsAreEnabledForAllThreatTypes
- Ensure Azure SQL Server threat detection alerts are enabled for all threat types
- Ensure Azure SQL Server threat detection alerts are enabled for all threat types.
- org.openrewrite.terraform.azure.EnsureFTPDeploymentsAreDisabled
- Ensure FTP Deployments are disabled
- Ensure FTP Deployments are disabled.
- org.openrewrite.terraform.azure.EnsureKeyVaultAllowsFirewallRulesSettings
- Ensure key vault allows firewall rules settings
- Ensure key vault allows firewall rules settings.
- org.openrewrite.terraform.azure.EnsureKeyVaultEnablesPurgeProtection
- Ensure key vault enables purge protection
- Ensure key vault enables purge protection.
- org.openrewrite.terraform.azure.EnsureKeyVaultKeyIsBackedByHSM
- Ensure key vault key is backed by HSM
- Ensure key vault key is backed by HSM.
- org.openrewrite.terraform.azure.EnsureKeyVaultSecretsHaveContentTypeSet
- Ensure key vault secrets have
content_typeset - Ensure key vault secrets have
content_typeset.
- Ensure key vault secrets have
- org.openrewrite.terraform.azure.EnsureLogProfileIsConfiguredToCaptureAllActivities
- Ensure log profile is configured to capture all activities
- Ensure log profile is configured to capture all activities.
- org.openrewrite.terraform.azure.EnsureMSSQLServersHaveEmailServiceAndCoAdministratorsEnabled
- Ensure MSSQL servers have email service and co-administrators enabled
- Ensure MSSQL servers have email service and co-administrators enabled.
- org.openrewrite.terraform.azure.EnsureManagedIdentityProviderIsEnabledForAppServices
- Ensure managed identity provider is enabled for app services
- Ensure managed identity provider is enabled for app services.
- org.openrewrite.terraform.azure.EnsureMySQLIsUsingTheLatestVersionOfTLSEncryption
- Ensure MySQL is using the latest version of TLS encryption
- Ensure MySQL is using the latest version of TLS encryption.
- org.openrewrite.terraform.azure.EnsureMySQLServerDatabasesHaveEnforceSSLConnectionEnabled
- Ensure MySQL server databases have Enforce SSL connection enabled
- Ensure MySQL server databases have Enforce SSL connection enabled.
- org.openrewrite.terraform.azure.EnsureMySQLServerDisablesPublicNetworkAccess
- Ensure MySQL server disables public network access
- Ensure MySQL server disables public network access.
- org.openrewrite.terraform.azure.EnsureMySQLServerEnablesGeoRedundantBackups
- Ensure MySQL server enables geo-redundant backups
- Ensure MySQL server enables geo-redundant backups.
- org.openrewrite.terraform.azure.EnsureMySQLServerEnablesThreatDetectionPolicy
- Ensure MySQL server enables Threat Detection policy
- Ensure MySQL server enables Threat Detection policy.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerDisablesPublicNetworkAccess
- Ensure PostgreSQL server disables public network access
- Ensure PostgreSQL server disables public network access.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerEnablesInfrastructureEncryption
- Ensure PostgreSQL server enables infrastructure encryption
- Ensure PostgreSQL server enables infrastructure encryption.
- org.openrewrite.terraform.azure.EnsurePostgreSQLServerEnablesThreatDetectionPolicy
- Ensure PostgreSQL server enables Threat Detection policy
- Ensure PostgreSQL server enables Threat Detection policy.
- org.openrewrite.terraform.azure.EnsurePublicNetworkAccessEnabledIsSetToFalseForMySQLServers
- Ensure public network access enabled is set to False for mySQL servers
- Ensure public network access enabled is set to False for mySQL servers.
- org.openrewrite.terraform.azure.EnsureSendEmailNotificationForHighSeverityAlertsIsEnabled
- Ensure Send email notification for high severity alerts is enabled
- Ensure Send email notification for high severity alerts is enabled.
- org.openrewrite.terraform.azure.EnsureSendEmailNotificationForHighSeverityAlertsToAdminsIsEnabled
- Ensure Send email notification for high severity alerts to admins is enabled
- Ensure Send email notification for high severity alerts to admins is enabled.
- org.openrewrite.terraform.azure.EnsureStandardPricingTierIsSelected
- Ensure standard pricing tier is selected
- Ensure standard pricing tier is selected.
- org.openrewrite.terraform.azure.EnsureStorageAccountUsesLatestTLSVersion
- Ensure storage account uses latest TLS version
- Communication between an Azure Storage account and a client application is encrypted using Transport Layer Security (TLS). Microsoft recommends using the latest version of TLS for all your Microsoft Azure App Service web applications.
- org.openrewrite.terraform.azure.EnsureTheStorageContainerStoringActivityLogsIsNotPubliclyAccessible
- Ensure the storage container storing activity logs is not publicly accessible
- Ensure the storage container storing activity logs is not publicly accessible.
- org.openrewrite.terraform.azure.EnsureWebAppHasIncomingClientCertificatesEnabled
- Ensure Web App has incoming client certificates enabled
- Ensure Web App has incoming client certificates enabled.
- org.openrewrite.terraform.azure.EnsureWebAppUsesTheLatestVersionOfHTTP
- Ensure Web App uses the latest version of HTTP
- Ensure Web App uses the latest version of HTTP.
- org.openrewrite.terraform.azure.EnsureWebAppUsesTheLatestVersionOfTLSEncryption
- Ensure Web App uses the latest version of TLS encryption
- Ensure Web App uses the latest version of TLS encryption.
- org.openrewrite.terraform.azure.SetAzureStorageAccountDefaultNetworkAccessToDeny
- Set Azure Storage Account default network access to deny
- Ensure Azure Storage Account default network access is set to Deny.
- org.openrewrite.terraform.gcp.EnablePodSecurityPolicyControllerOnGKEClusters
- Enable
PodSecurityPolicycontroller on Google Kubernetes Engine (GKE) clusters - Ensure
PodSecurityPolicycontroller is enabled on Google Kubernetes Engine (GKE) clusters.
- Enable
- org.openrewrite.terraform.gcp.EnableVPCFlowLogsAndIntranodeVisibility
- Enable VPC flow logs and intranode visibility
- Enable VPC flow logs and intranode visibility.
- org.openrewrite.terraform.gcp.EnableVPCFlowLogsForSubnetworks
- Enable VPC Flow Logs for subnetworks
- Ensure GCP VPC flow logs for subnets are enabled. Flow Logs capture information on IP traffic moving through network interfaces. This information can be used to monitor anomalous traffic and provide security insights.
- org.openrewrite.terraform.gcp.EnsureBinaryAuthorizationIsUsed
- Ensure binary authorization is used
- Ensure binary authorization is used.
- org.openrewrite.terraform.gcp.EnsureComputeInstancesLaunchWithShieldedVMEnabled
- Ensure compute instances launch with shielded VM enabled
- Ensure compute instances launch with shielded VM enabled.
- org.openrewrite.terraform.gcp.EnsureGCPCloudStorageBucketWithUniformBucketLevelAccessAreEnabled
- Ensure GCP cloud storage bucket with uniform bucket-level access are enabled
- Ensure GCP cloud storage bucket with uniform bucket-level access are enabled.
- org.openrewrite.terraform.gcp.EnsureGCPKubernetesClusterNodeAutoRepairConfigurationIsEnabled
- Ensure GCP Kubernetes cluster node auto-repair configuration is enabled
- Ensure GCP Kubernetes cluster node auto-repair configuration is enabled.
- org.openrewrite.terraform.gcp.EnsureGCPKubernetesEngineClustersHaveLegacyComputeEngineMetadataEndpointsDisabled
- Ensure GCP Kubernetes engine clusters have legacy compute engine metadata endpoints disabled
- Ensure GCP Kubernetes engine clusters have legacy compute engine metadata endpoints disabled.
- org.openrewrite.terraform.gcp.EnsureGCPVMInstancesHaveBlockProjectWideSSHKeysFeatureEnabled
- Ensure GCP VM instances have block project-wide SSH keys feature enabled
- Ensure GCP VM instances have block project-wide SSH keys feature enabled.
- org.openrewrite.terraform.gcp.EnsureIPForwardingOnInstancesIsDisabled
- Ensure IP forwarding on instances is disabled
- Ensure IP forwarding on instances is disabled.
- org.openrewrite.terraform.gcp.EnsurePrivateClusterIsEnabledWhenCreatingKubernetesClusters
- Ensure private cluster is enabled when creating Kubernetes clusters
- Ensure private cluster is enabled when creating Kubernetes clusters.
- org.openrewrite.terraform.gcp.EnsureSecureBootForShieldedGKENodesIsEnabled
- Ensure secure boot for shielded GKE nodes is enabled
- Ensure secure boot for shielded GKE nodes is enabled.
- org.openrewrite.terraform.gcp.EnsureShieldedGKENodesAreEnabled
- Ensure shielded GKE nodes are enabled
- Ensure shielded GKE nodes are enabled.
- org.openrewrite.terraform.gcp.EnsureTheGKEMetadataServerIsEnabled
- Ensure the GKE metadata server is enabled
- Ensure the GKE metadata server is enabled.
- org.openrewrite.terraform.gcp.GCPBestPractices
- Best practices for GCP
- Securely operate on Google Cloud Platform.
test
5 recipes
- com.oracle.weblogic.rewrite.jakarta.JavaxTestXmlsToJakartaTestsXmls
- Migrate xmlns entries in
test-*.xmlfiles for Jakarta EE 9.1 using test interfaces - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation for test interfaces like arquillian.
- Migrate xmlns entries in
- org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
- Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4
- This recipe will migrate a Spring Boot application's tests from JUnit 4 to JUnit 5. This spring-specific migration includes conversion of Spring Test runners to Spring Test extensions and awareness of the composable Spring Test annotations.
- org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus
- Replace Derby test driver with Quarkus JDBC Derby (test scope)
- Migrates
org.apache.derby:derbywith test scope toio.quarkus:quarkus-jdbc-derbywith test scope.
- org.openrewrite.quarkus.spring.H2TestDriverToQuarkus
- Replace H2 test driver with Quarkus JDBC H2 (test scope)
- Migrates
com.h2database:h2with test scope toio.quarkus:quarkus-jdbc-h2with test scope.
- org.openrewrite.quarkus.spring.SpringBootTestToQuarkus
- Replace Spring Boot Test with Quarkus JUnit 5
- Migrates
spring-boot-starter-testtoquarkus-junit5.
testing
46 recipes
- org.openrewrite.cucumber.jvm.CucumberJava8ToJava
- Migrate
cucumber-java8tocucumber-java - Migrates
cucumber-java8step definitions andLambdaGluehooks tocucumber-javaannotated methods.
- Migrate
- org.openrewrite.cucumber.jvm.CucumberToJunitPlatformSuite
- Cucumber to JUnit test
@Suite - Migrates Cucumber tests to JUnit test
@Suite.
- Cucumber to JUnit test
- org.openrewrite.cucumber.jvm.UpgradeCucumber2x
- Upgrade to Cucumber-JVM 2.x
- Upgrade to Cucumber-JVM 2.x from any previous version.
- org.openrewrite.cucumber.jvm.UpgradeCucumber5x
- Upgrade to Cucumber-JVM 5.x
- Upgrade to Cucumber-JVM 5.x from any previous version.
- org.openrewrite.cucumber.jvm.UpgradeCucumber7x
- Upgrade to Cucumber-JVM 7.x
- Upgrade to Cucumber-JVM 7.x from any previous version.
- org.openrewrite.java.testing.arquillian.ArquillianJUnit4ToArquillianJUnit5
- Use Arquillian JUnit 5 Extension
- Migrates Arquillian JUnit 4 to JUnit 5.
- org.openrewrite.java.testing.assertj.Assertj
- AssertJ best practices
- Migrates JUnit asserts to AssertJ and applies best practices to assertions.
- org.openrewrite.java.testing.assertj.FestToAssertj
- Migrate Fest 2.x to AssertJ
- AssertJ provides a rich set of assertions, truly helpful error messages, improves test code readability. Converts Fest 2.x imports to AssertJ imports.
- org.openrewrite.java.testing.assertj.JUnitToAssertj
- Migrate JUnit asserts to AssertJ
- AssertJ provides a rich set of assertions, truly helpful error messages, improves test code readability. Converts assertions from
org.junit.jupiter.api.Assertionstoorg.assertj.core.api.Assertions. Will convert JUnit 4 to JUnit Jupiter if necessary to match and modify assertions.
- org.openrewrite.java.testing.assertj.SimplifyAssertJAssertions
- Shorten AssertJ assertions
- Replace AssertJ assertions where a dedicated assertion is available for the same actual value.
- org.openrewrite.java.testing.assertj.SimplifyChainedAssertJAssertions
- Simplify AssertJ chained assertions
- Replace AssertJ assertions where a method is called on the actual value with a dedicated assertion.
- org.openrewrite.java.testing.assertj.StaticImports
- Statically import AssertJ's
assertThat - Consistently use a static import rather than inlining the
Assertionsclass name in tests.
- Statically import AssertJ's
- org.openrewrite.java.testing.byteman.BytemanJUnit4ToBytemanJUnit5
- Use Byteman JUnit 5 dependency
- Migrates Byteman JUnit 4 to JUnit 5.
- org.openrewrite.java.testing.cleanup.BestPractices
- Testing best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.dbrider.MigrateDbRiderSpringToDbRiderJUnit5
- Migrate rider-spring (JUnit4) to rider-junit5 (JUnit5)
- This recipe will migrate the necessary dependencies and annotations from DbRider with JUnit4 to JUnit5 in a Spring application.
- org.openrewrite.java.testing.easymock.EasyMockToMockito
- Migrate from EasyMock to Mockito
- This recipe will apply changes commonly needed when migrating from EasyMock to Mockito.
- org.openrewrite.java.testing.hamcrest.AddHamcrestIfUsed
- Add
org.hamcrest:hamcrestif it is used - JUnit Jupiter does not include hamcrest as a transitive dependency. If needed, add a direct dependency.
- Add
- org.openrewrite.java.testing.hamcrest.ConsistentHamcrestMatcherImports
- Use consistent Hamcrest matcher imports
- Use consistent imports for Hamcrest matchers, and remove wrapping
is(Matcher)calls ahead of further changes.
- org.openrewrite.java.testing.hamcrest.MigrateHamcrestToAssertJ
- Migrate Hamcrest assertions to AssertJ
- Migrate Hamcrest
assertThat(..)to AssertJAssertions.
- org.openrewrite.java.testing.hamcrest.MigrateHamcrestToJUnit5
- Migrate Hamcrest assertions to JUnit Jupiter
- Migrate Hamcrest
assertThat(..)to JUnit JupiterAssertions.
- org.openrewrite.java.testing.jmockit.JMockitToMockito
- Migrate from JMockit to Mockito
- This recipe will apply changes commonly needed when migrating from JMockit to Mockito.
- org.openrewrite.java.testing.junit.JUnit6BestPractices
- JUnit 6 best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.junit.JupiterBestPractices
- JUnit Jupiter best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.junit5.CleanupAssertions
- Clean Up Assertions
- Simplifies JUnit Jupiter assertions to their most-direct equivalents.
- org.openrewrite.java.testing.junit5.IgnoreToDisabled
- Use JUnit Jupiter
@Disabled - Migrates JUnit 4.x
@Ignoreto JUnit Jupiter@Disabled.
- Use JUnit Jupiter
- org.openrewrite.java.testing.junit5.JUnit4to5Migration
- JUnit Jupiter migration from JUnit 4.x
- Migrates JUnit 4.x tests to JUnit Jupiter.
- org.openrewrite.java.testing.junit5.JUnit5BestPractices
- JUnit 5 best practices
- Applies best practices to tests.
- org.openrewrite.java.testing.junit5.MigrateAssumptions
- Use
Assertions#assume*(..)and Hamcrest'sMatcherAssume#assume*(..) - Many of JUnit 4's
Assume#assume(..)methods have no direct counterpart in JUnit 5 and require Hamcrest JUnit'sMatcherAssume.
- Use
- org.openrewrite.java.testing.junit5.StaticImports
- Statically import JUnit Jupiter assertions
- Always use a static import for assertion methods.
- org.openrewrite.java.testing.junit5.ThrowingRunnableToExecutable
- Use JUnit Jupiter
Executable - Migrates JUnit 4.x
ThrowingRunnableto JUnit JupiterExecutable.
- Use JUnit Jupiter
- org.openrewrite.java.testing.junit5.UpgradeOkHttpMockWebServer
- Use OkHttp 3 MockWebServer for JUnit 5
- Migrates OkHttp 3
MockWebServerto enable JUnit Jupiter Extension support.
- org.openrewrite.java.testing.junit5.UpgradeToJUnit513
- Upgrade to JUnit 5.13
- Upgrades JUnit 5 to 5.13.x and migrates all deprecated APIs.
- org.openrewrite.java.testing.junit5.UpgradeToJUnit514
- Upgrade to JUnit 5.14
- Upgrades JUnit 5 to 5.14.x and migrates all deprecated APIs.
- org.openrewrite.java.testing.junit5.UseHamcrestAssertThat
- Use
MatcherAssert#assertThat(..) - JUnit 4's
Assert#assertThat(..)This method was deprecated in JUnit 4 and removed in JUnit Jupiter.
- Use
- org.openrewrite.java.testing.junit5.UseMockitoExtension
- Use Mockito JUnit Jupiter extension
- Migrate uses of
@RunWith(MockitoJUnitRunner.class)(and similar annotations) to@ExtendWith(MockitoExtension.class).
- org.openrewrite.java.testing.junit5.UseXMLUnitLegacy
- Use XMLUnit Legacy for JUnit 5
- Migrates XMLUnit 1.x to XMLUnit legacy 2.x.
- org.openrewrite.java.testing.junit5.VertxUnitToVertxJunit5
- Use Vert.x JUnit 5 Extension
- Migrates Vert.x
@RunWithVertxUnitRunnerto the JUnit Jupiter@ExtendWithVertxExtension.
- org.openrewrite.java.testing.junit6.JUnit5to6Migration
- JUnit 6 migration from JUnit 5.x
- Migrates JUnit 5.x tests to JUnit 6.x.
- org.openrewrite.java.testing.mockito.Mockito1to3Migration
- Mockito 3.x migration from 1.x
- Upgrade Mockito from 1.x to 3.x.
- org.openrewrite.java.testing.mockito.Mockito1to4Migration
- Mockito 4.x upgrade
- Upgrade Mockito from 1.x to 4.x.
- org.openrewrite.java.testing.mockito.Mockito1to5Migration
- Mockito 5.x upgrade
- Upgrade Mockito from 1.x to 5.x.
- org.openrewrite.java.testing.mockito.Mockito4to5Only
- Mockito 4 to 5.x upgrade only
- Upgrade Mockito from 4.x to 5.x. Does not include 1.x to 4.x migration.
- org.openrewrite.java.testing.mockito.MockitoBestPractices
- Mockito best practices
- Applies best practices for Mockito tests.
- org.openrewrite.java.testing.mockito.ReplacePowerMockito
- Replace PowerMock with raw Mockito
- PowerMockito with raw Mockito; best executed as part of a Mockito upgrade.
- org.openrewrite.java.testing.testng.TestNgToAssertj
- Migrate TestNG assertions to AssertJ
- Convert assertions from
org.testng.Asserttoorg.assertj.core.api.Assertions.
- org.openrewrite.java.testing.truth.MigrateTruthToAssertJ
- Migrate Google Truth to AssertJ
- Migrate Google Truth assertions to AssertJ assertions.
testng
1 recipe
- org.openrewrite.java.testing.testng.TestNgToAssertj
- Migrate TestNG assertions to AssertJ
- Convert assertions from
org.testng.Asserttoorg.assertj.core.api.Assertions.
testwebxml
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxTestWebXmlToJakartaTestWebXml5
- Migrate xmlns entries in
test-web.xmlfiles for Jakarta Server Faces 3 using test interfaces - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation for test interfaces like arquillian.
- Migrate xmlns entries in
thymeleaf
1 recipe
- org.openrewrite.java.spring.boot3.MigrateThymeleafDependencies
- Migrate thymeleaf dependencies to Spring Boot 3.x
- Migrate thymeleaf dependencies to the new artifactId, since these are changed with Spring Boot 3.
tld
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxWebJspTagLibraryTldsToJakarta9WebJspTagLibraryTlds
- Migrate xmlns entries in
*.tldfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
tracing
1 recipe
- org.openrewrite.java.spring.cloud2022.MigrateCloudSleuthToMicrometerTracing
- Migrate Spring Cloud Sleuth 3.1 to Micrometer Tracing 1.0
- Spring Cloud Sleuth has been discontinued and only compatible with Spring Boot 2.x.
transaction
2 recipes
- io.quarkus.updates.core.quarkus30.JavaxTransactionMigrationToJakartaTransaction
- Migrate deprecated
javax.transactionpackages tojakarta.transaction - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxTransactionMigrationToJakartaTransaction
- Migrate deprecated
javax.transactionpackages tojakarta.transaction - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
truth
1 recipe
- org.openrewrite.java.testing.truth.MigrateTruthToAssertJ
- Migrate Google Truth to AssertJ
- Migrate Google Truth assertions to AssertJ assertions.
typescript
1 recipe
- org.openrewrite.javascript.cleanup.async-callback-in-sync-array-method
- Detect async callbacks in synchronous array methods
- Detects async callbacks passed to array methods like .some(), .every(), .filter() which don't await promises. This is a common bug where Promise objects are always truthy.
unaffected
1 recipe
- com.oracle.weblogic.rewrite.jakarta.MitigateUnaffectedNonEEJakarta9Packages
- Mitigate Unaffected Non-EE Jakarta 9 Packages
- Mitigate Unaffected Non-EE Jakarta 9 Packages. Reference: https://github.com/jakartaee/platform/blob/main/namespace/unaffected-packages.adoc
underscore
4 recipes
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreArray
- Replace lodash and underscore array functions with native JavaScript
-
_.head(x)->x[0]-_.head(x, n)->x.slice(n)-_.first(alias for_.head) -_.tail(x)->x.slice(1)-_.tail(x, n)->x.slice(n)-_.rest(alias for_.tail) -_.last(x)->x[x.length - 1]-_.last(x, n)->x.slice(x.length - n).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreFunction
- Replace lodash and underscore function functions with native JavaScript
-
_.bind(fn, obj, ...x)->fn.bind(obj, ...x)-_.partial(fn, a, b);->(...args) => fn(a, b, ...args).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreObjects
- Replace lodash and underscore object functions with native JavaScript
-
_.clone(x)->{ ...x }-_.extend({}, x, y)->{ ...x, ...y }-_.extend(obj, x, y)->Object.assign(obj, x, y)-_.keys(x)->Object.keys(x)-_.pairs(x)->Object.entries(x)-_.values(x)->Object.values(x).
- org.openrewrite.codemods.migrate.lodash.LodashUnderscoreUtil
- Replace lodash and underscore utility functions with native JavaScript
-
_.isArray(x)->Array.isArray(x)-_.isBoolean(x)->typeof(x) === 'boolean'-_.isFinite(x)->Number.isFinite(x)-_.isFunction(x)->typeof(x) === 'function'-_.isNull(x)->x === null-_.isString(x)->typeof(x) === 'string'-_.isUndefined(x)->typeof(x) === 'undefined'.
validation
4 recipes
- com.oracle.weblogic.rewrite.jakarta.JavaxValidationMappingXmlsToJakarta9ValidationMappingXmls
- Migrate xmlns entries in
**/validation/*.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- io.quarkus.updates.core.quarkus30.JavaxValidationMigrationToJakartaValidation
- Migrate deprecated
javax.validationpackages tojakarta.validation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.java.migrate.jakarta.JavaxValidationMigrationToJakartaValidation
- Migrate deprecated
javax.validationpackages tojakarta.validation - Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
- Migrate deprecated
- org.openrewrite.quarkus.spring.SpringBootValidationToQuarkus
- Replace Spring Boot Validation with Quarkus Hibernate Validator
- Migrates
spring-boot-starter-validationtoquarkus-hibernate-validator.
var
1 recipe
- org.openrewrite.java.migrate.lang.UseVar
- Use local variable type inference
- Apply local variable type inference (
var) for primitives and objects. These recipes can cause unused imports, be advised to run `org.openrewrite.java.RemoveUnusedImports afterwards.
virtual
2 recipes
- org.openrewrite.java.migrate.lang.FindNonVirtualExecutors
- Find non-virtual
ExecutorServicecreation - Find all places where static
java.util.concurrent.Executorsmethod creates a non-virtualjava.util.concurrent.ExecutorService. This recipe can be used to search froExecutorServicethat can be replaced by Virtual Thread executor.
- Find non-virtual
- org.openrewrite.java.migrate.lang.FindVirtualThreadOpportunities
- Find Virtual Thread opportunities
- Find opportunities to convert existing code to use Virtual Threads.
vue
57 recipes
- org.openrewrite.codemods.cleanup.vue.ArrayBracketNewline
- Enforce linebreaks after opening and before closing array brackets in
<template> - Enforce linebreaks after opening and before closing array brackets in
<template>See rule details for vue/array-bracket-newline.
- Enforce linebreaks after opening and before closing array brackets in
- org.openrewrite.codemods.cleanup.vue.ArrayBracketSpacing
- Enforce consistent spacing inside array brackets in
<template> - Enforce consistent spacing inside array brackets in
<template>See rule details for vue/array-bracket-spacing.
- Enforce consistent spacing inside array brackets in
- org.openrewrite.codemods.cleanup.vue.ArrayElementNewline
- Enforce line breaks after each array element in
<template> - Enforce line breaks after each array element in
<template>See rule details for vue/array-element-newline.
- Enforce line breaks after each array element in
- org.openrewrite.codemods.cleanup.vue.ArrowSpacing
- Enforce consistent spacing before and after the arrow in arrow functions in
<template> - Enforce consistent spacing before and after the arrow in arrow functions in
<template>See rule details for vue/arrow-spacing.
- Enforce consistent spacing before and after the arrow in arrow functions in
- org.openrewrite.codemods.cleanup.vue.AttributesOrder
- Enforce order of attributes
- Enforce order of attributes See rule details for vue/attributes-order.
- org.openrewrite.codemods.cleanup.vue.BlockOrder
- Enforce order of component top-level elements
- Enforce order of component top-level elements See rule details for vue/block-order.
- org.openrewrite.codemods.cleanup.vue.BlockSpacing
- Disallow or enforce spaces inside of blocks after opening block and before closing block in
<template> - Disallow or enforce spaces inside of blocks after opening block and before closing block in
<template>See rule details for vue/block-spacing.
- Disallow or enforce spaces inside of blocks after opening block and before closing block in
- org.openrewrite.codemods.cleanup.vue.BlockTagNewline
- Enforce line breaks after opening and before closing block-level tags
- Enforce line breaks after opening and before closing block-level tags See rule details for vue/block-tag-newline.
- org.openrewrite.codemods.cleanup.vue.BraceStyle
- Enforce consistent brace style for blocks in
<template> - Enforce consistent brace style for blocks in
<template>See rule details for vue/brace-style.
- Enforce consistent brace style for blocks in
- org.openrewrite.codemods.cleanup.vue.CommaDangle
- Require or disallow trailing commas in
<template> - Require or disallow trailing commas in
<template>See rule details for vue/comma-dangle.
- Require or disallow trailing commas in
- org.openrewrite.codemods.cleanup.vue.CommaSpacing
- Enforce consistent spacing before and after commas in
<template> - Enforce consistent spacing before and after commas in
<template>See rule details for vue/comma-spacing.
- Enforce consistent spacing before and after commas in
- org.openrewrite.codemods.cleanup.vue.CommaStyle
- Enforce consistent comma style in
<template> - Enforce consistent comma style in
<template>See rule details for vue/comma-style.
- Enforce consistent comma style in
- org.openrewrite.codemods.cleanup.vue.ComponentNameInTemplateCasing
- Enforce specific casing for the component naming style in template
- Enforce specific casing for the component naming style in template See rule details for vue/component-name-in-template-casing.
- org.openrewrite.codemods.cleanup.vue.ComponentOptionsNameCasing
- Enforce the casing of component name in components options
- Enforce the casing of component name in components options See rule details for vue/component-options-name-casing.
- org.openrewrite.codemods.cleanup.vue.ComponentTagsOrder
- Enforce order of component top-level elements
- Enforce order of component top-level elements See rule details for vue/component-tags-order.
- org.openrewrite.codemods.cleanup.vue.DefineMacrosOrder
- Enforce order of defineEmits and defineProps compiler macros
- Enforce order of defineEmits and defineProps compiler macros See rule details for vue/define-macros-order.
- org.openrewrite.codemods.cleanup.vue.DotLocation
- Enforce consistent newlines before and after dots in
<template> - Enforce consistent newlines before and after dots in
<template>See rule details for vue/dot-location.
- Enforce consistent newlines before and after dots in
- org.openrewrite.codemods.cleanup.vue.DotNotation
- Enforce dot notation whenever possible in
<template> - Enforce dot notation whenever possible in
<template>See rule details for vue/dot-notation.
- Enforce dot notation whenever possible in
- org.openrewrite.codemods.cleanup.vue.Eqeqeq
- Require the use of === and !== in
<template> - Require the use of === and !== in
<template>See rule details for vue/eqeqeq.
- Require the use of === and !== in
- org.openrewrite.codemods.cleanup.vue.FuncCallSpacing
- Require or disallow spacing between function identifiers and their invocations in
<template> - Require or disallow spacing between function identifiers and their invocations in
<template>See rule details for vue/func-call-spacing.
- Require or disallow spacing between function identifiers and their invocations in
- org.openrewrite.codemods.cleanup.vue.HtmlCommentContentNewline
- Enforce unified line brake in HTML comments
- Enforce unified line brake in HTML comments See rule details for vue/html-comment-content-newline.
- org.openrewrite.codemods.cleanup.vue.HtmlCommentContentSpacing
- Enforce unified spacing in HTML comments
- Enforce unified spacing in HTML comments See rule details for vue/html-comment-content-spacing.
- org.openrewrite.codemods.cleanup.vue.HtmlCommentIndent
- Enforce consistent indentation in HTML comments
- Enforce consistent indentation in HTML comments See rule details for vue/html-comment-indent.
- org.openrewrite.codemods.cleanup.vue.KeySpacing
- Enforce consistent spacing between keys and values in object literal properties in
<template> - Enforce consistent spacing between keys and values in object literal properties in
<template>See rule details for vue/key-spacing.
- Enforce consistent spacing between keys and values in object literal properties in
- org.openrewrite.codemods.cleanup.vue.KeywordSpacing
- Enforce consistent spacing before and after keywords in
<template> - Enforce consistent spacing before and after keywords in
<template>See rule details for vue/keyword-spacing.
- Enforce consistent spacing before and after keywords in
- org.openrewrite.codemods.cleanup.vue.MultilineTernary
- Enforce newlines between operands of ternary expressions in
<template> - Enforce newlines between operands of ternary expressions in
<template>See rule details for vue/multiline-ternary.
- Enforce newlines between operands of ternary expressions in
- org.openrewrite.codemods.cleanup.vue.NewLineBetweenMultiLineProperty
- Enforce new lines between multi-line properties in Vue components
- Enforce new lines between multi-line properties in Vue components See rule details for vue/new-line-between-multi-line-property.
- org.openrewrite.codemods.cleanup.vue.NextTickStyle
- Enforce Promise or callback style in nextTick
- Enforce Promise or callback style in nextTick See rule details for vue/next-tick-style.
- org.openrewrite.codemods.cleanup.vue.NoExtraParens
- Disallow unnecessary parentheses in
<template> - Disallow unnecessary parentheses in
<template>See rule details for vue/no-extra-parens.
- Disallow unnecessary parentheses in
- org.openrewrite.codemods.cleanup.vue.NoRequiredPropWithDefault
- Enforce props with default values to be optional
- Enforce props with default values to be optional See rule details for vue/no-required-prop-with-default.
- org.openrewrite.codemods.cleanup.vue.NoUnsupportedFeatures
- Disallow unsupported Vue.js syntax on the specified version
- Disallow unsupported Vue.js syntax on the specified version See rule details for vue/no-unsupported-features.
- org.openrewrite.codemods.cleanup.vue.NoUselessMustaches
- Disallow unnecessary mustache interpolations
- Disallow unnecessary mustache interpolations See rule details for vue/no-useless-mustaches.
- org.openrewrite.codemods.cleanup.vue.NoUselessVBind
- Disallow unnecessary v-bind directives
- Disallow unnecessary v-bind directives See rule details for vue/no-useless-v-bind.
- org.openrewrite.codemods.cleanup.vue.ObjectCurlyNewline
- Enforce consistent line breaks after opening and before closing braces in
<template> - Enforce consistent line breaks after opening and before closing braces in
<template>See rule details for vue/object-curly-newline.
- Enforce consistent line breaks after opening and before closing braces in
- org.openrewrite.codemods.cleanup.vue.ObjectCurlySpacing
- Enforce consistent spacing inside braces in
<template> - Enforce consistent spacing inside braces in
<template>See rule details for vue/object-curly-spacing.
- Enforce consistent spacing inside braces in
- org.openrewrite.codemods.cleanup.vue.ObjectPropertyNewline
- Enforce placing object properties on separate lines in
<template> - Enforce placing object properties on separate lines in
<template>See rule details for vue/object-property-newline.
- Enforce placing object properties on separate lines in
- org.openrewrite.codemods.cleanup.vue.ObjectShorthand
- Require or disallow method and property shorthand syntax for object literals in
<template> - Require or disallow method and property shorthand syntax for object literals in
<template>See rule details for vue/object-shorthand.
- Require or disallow method and property shorthand syntax for object literals in
- org.openrewrite.codemods.cleanup.vue.OperatorLinebreak
- Enforce consistent linebreak style for operators in
<template> - Enforce consistent linebreak style for operators in
<template>See rule details for vue/operator-linebreak.
- Enforce consistent linebreak style for operators in
- org.openrewrite.codemods.cleanup.vue.OrderInComponents
- Enforce order of properties in components
- Enforce order of properties in components See rule details for vue/order-in-components.
- org.openrewrite.codemods.cleanup.vue.PaddingLineBetweenBlocks
- Require or disallow padding lines between blocks
- Require or disallow padding lines between blocks See rule details for vue/padding-line-between-blocks.
- org.openrewrite.codemods.cleanup.vue.PaddingLineBetweenTags
- Require or disallow newlines between sibling tags in template
- Require or disallow newlines between sibling tags in template See rule details for vue/padding-line-between-tags.
- org.openrewrite.codemods.cleanup.vue.PaddingLinesInComponentDefinition
- Require or disallow padding lines in component definition
- Require or disallow padding lines in component definition See rule details for vue/padding-lines-in-component-definition.
- org.openrewrite.codemods.cleanup.vue.PreferDefineOptions
- Enforce use of defineOptions instead of default export
- Enforce use of defineOptions instead of default export. See rule details for vue/prefer-define-options.
- org.openrewrite.codemods.cleanup.vue.PreferSeparateStaticClass
- Require static class names in template to be in a separate class attribute
- Require static class names in template to be in a separate class attribute See rule details for vue/prefer-separate-static-class.
- org.openrewrite.codemods.cleanup.vue.PreferTemplate
- Require template literals instead of string concatenation in
<template> - Require template literals instead of string concatenation in
<template>See rule details for vue/prefer-template.
- Require template literals instead of string concatenation in
- org.openrewrite.codemods.cleanup.vue.QuoteProps
- Require quotes around object literal property names in
<template> - Require quotes around object literal property names in
<template>See rule details for vue/quote-props.
- Require quotes around object literal property names in
- org.openrewrite.codemods.cleanup.vue.RecommendedVueCodeCleanup
- Recommended vue code cleanup
- Collection of cleanup ESLint rules from eslint-plugin-vue.
- org.openrewrite.codemods.cleanup.vue.ScriptIndent
- Enforce consistent indentation in
<script> - Enforce consistent indentation in
<script>See rule details for vue/script-indent.
- Enforce consistent indentation in
- org.openrewrite.codemods.cleanup.vue.SpaceInParens
- Enforce consistent spacing inside parentheses in
<template> - Enforce consistent spacing inside parentheses in
<template>See rule details for vue/space-in-parens.
- Enforce consistent spacing inside parentheses in
- org.openrewrite.codemods.cleanup.vue.SpaceInfixOps
- Require spacing around infix operators in
<template> - Require spacing around infix operators in
<template>See rule details for vue/space-infix-ops.
- Require spacing around infix operators in
- org.openrewrite.codemods.cleanup.vue.SpaceUnaryOps
- Enforce consistent spacing before or after unary operators in
<template> - Enforce consistent spacing before or after unary operators in
<template>See rule details for vue/space-unary-ops.
- Enforce consistent spacing before or after unary operators in
- org.openrewrite.codemods.cleanup.vue.StaticClassNamesOrder
- Enforce static class names order
- Enforce static class names order See rule details for vue/static-class-names-order.
- org.openrewrite.codemods.cleanup.vue.TemplateCurlySpacing
- Require or disallow spacing around embedded expressions of template strings in
<template> - Require or disallow spacing around embedded expressions of template strings in
<template>See rule details for vue/template-curly-spacing.
- Require or disallow spacing around embedded expressions of template strings in
- org.openrewrite.codemods.cleanup.vue.ThisInTemplate
- Disallow usage of this in template
- Disallow usage of this in template See rule details for vue/this-in-template.
- org.openrewrite.codemods.cleanup.vue.VForDelimiterStyle
- Enforce v-for directive's delimiter style
- Enforce v-for directive's delimiter style See rule details for vue/v-for-delimiter-style.
- org.openrewrite.codemods.cleanup.vue.VIfElseKey
- Require key attribute for conditionally rendered repeated components
- Require key attribute for conditionally rendered repeated components See rule details for vue/v-if-else-key.
- org.openrewrite.codemods.cleanup.vue.VOnHandlerStyle
- Enforce writing style for handlers in v-on directives
- Enforce writing style for handlers in v-on directives See rule details for vue/v-on-handler-style.
web
9 recipes
- com.oracle.weblogic.rewrite.WebLogicXmlCreateIfNotExists1511
- Create
weblogic.xmlif it does not exist - This recipe will create a
weblogic.xmlfile with the WebLogic 15.1.1 namespace if it does not already exist.
- Create
- com.oracle.weblogic.rewrite.WebLogicXmlPreferApplicationPackagesJPA
- Add
prefer-application-packagesfor JPA inweblogic.xml - This recipe will add a
prefer-application-packagesentry for Jakarta Persistence inweblogic.xmlif it does not already exist.
- Add
- com.oracle.weblogic.rewrite.WebLogicXmlPreferApplicationPackagesSlf4j
- Add
prefer-application-packagesfor SLF4J inweblogic.xml - This recipe will add a
prefer-application-packagesentry for SLF4J inweblogic.xmlif it does not already exist.
- Add
- com.oracle.weblogic.rewrite.WebLogicXmlWebAppNamespace1412
- Migrate xmlns entries in
weblogic.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicXmlWebAppNamespace1511
- Migrate xmlns entries in
weblogic.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebFragmentXmlToJakartaWebFragmentXml5
- Migrate xmlns entries in
web-fragment.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.MigrateJavaxWebToJakartaWeb9
- Migrate javax.javaee-web-api to jakarta.jakartaee-web-api (Jakarta EE 9)
- Update Java EE Web API dependency to Jakarta EE Web Profile API 9.1
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusClassic
- Replace Spring Boot Web with Quarkus RESTEasy Classic
- Migrates
spring-boot-starter-webtoquarkus-resteasy-jacksonwhen no reactor dependencies are present.
- org.openrewrite.quarkus.spring.SpringBootWebToQuarkusReactive
- Replace Spring Boot Web with Quarkus REST
- Migrates
spring-boot-starter-webtoquarkus-rest-jacksonwhen reactor dependencies are present.
webflux
1 recipe
- org.openrewrite.quarkus.spring.SpringBootWebFluxToQuarkusReactive
- Replace Spring Boot WebFlux with Quarkus REST Client
- Migrates
spring-boot-starter-webfluxtoquarkus-rest-client-jacksonwhen reactor dependencies are present.
weblogic
56 recipes
- com.oracle.weblogic.rewrite.ChangeJAXBBindAPIDependencyScope
- Change the jakarta.xml.bind-api dependency to scope provided when jakartaee-api 9.x is provided.
- This recipe will change the jakarta.xml.bind-api dependency scope to provided when jakarta.jakartaee-api version 9.x is provided in WebLogic 15.1.1. This prevents the jakarta.xml.bind-api jar from being deployed to WebLogic which can cause class conflicts.
- com.oracle.weblogic.rewrite.ChangeJakartaInjectAPIDependencyScope
- Change the jakarta.inject-api dependency to scope provided when jakartaee-api 9.x is provided.
- This recipe will change the jakarta.inject-api dependency scope to provided when jakarta.jakartaee-api version 9.x is provided in WebLogic 15.1.1. This prevents the jakarta.inject-api jar from being deployed to WebLogic which can cause class conflicts.
- com.oracle.weblogic.rewrite.ChangeJakartaWebServiceRSAPIDependencyScope
- Change the jakarta.ws.rs-api dependency to scope provided when jakartaee-api 9.x is provided.
- This recipe will change the jakarta.ws.rs-api dependency scope to provided when jakarta.jakartaee-api version 9.x is provided in WebLogic 15.1.1. This prevents the jakarta.ws.rs-api jar from being deployed to WebLogic which can cause class conflicts.
- com.oracle.weblogic.rewrite.JakartaEE9_1
- Migrate to Jakarta EE 9.1
- These recipes help with Migration to Jakarta EE 9.1, flagging and updating deprecated methods.
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1412
- Migrate WebLogic Schemas to 14.1.2
- This recipe will migrate WebLogic schemas to 14.1.2
- com.oracle.weblogic.rewrite.MigrateWebLogicSchemasTo1511
- Migrate WebLogic Schemas to 15.1.1
- This recipe will migrate WebLogic schemas to 15.1.1
- com.oracle.weblogic.rewrite.UpgradeTo1411
- Migrate to WebLogic 14.1.1
- This recipe will apply changes required for migrating to WebLogic 14.1.1
- com.oracle.weblogic.rewrite.UpgradeTo1412
- Migrate to WebLogic 14.1.2
- This recipe will apply changes required for migrating to WebLogic 14.1.2
- com.oracle.weblogic.rewrite.UpgradeTo1511
- Migrate to WebLogic 15.1.1
- This recipe will apply changes required for migrating to WebLogic 15.1.1 and Jakarta EE 9.1
- com.oracle.weblogic.rewrite.WebLogic1412JavaXmlBindMitigation
- Mitigation of Java XML Bind Deprecation in Java 11 vs WebLogic 14.1.2
- This recipe will mitigate the Javax XML Bind deprecation in Java 11 vs WebLogic 14.1.2
- com.oracle.weblogic.rewrite.WebLogicApplicationClientXmlNamespace1412
- Migrate xmlns entries in
application-client.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Application Client schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationClientXmlNamespace1511
- Migrate xmlns entries in
application-client.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inapplication-client.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationXmlNamespace1412
- Migrate xmlns entries in
weblogic-application.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Application schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicApplicationXmlNamespace1511
- Migrate xmlns entries in
weblogic-application.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-application.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicEjbJar32XmlNamespace1412
- Migrate xmlns entries in
weblogic-ejb-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicEjbJar32XmlNamespace1511
- Migrate xmlns entries in
weblogic-ejb-jar.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ejb-jar.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJdbcXmlNamespace1412
- Migrate xmlns entries in
*-jdbc.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic JDBC schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJdbcXmlNamespace1511
- Migrate xmlns entries in
*-jdbc.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries in*-jdbc.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJmsXmlNamespace1412
- Migrate xmlns entries in
*-jms.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic JMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicJmsXmlNamespace1511
- Migrate xmlns entries in
*-jms.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries in*-jms.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1412
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 Persistence Configuration schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPersistenceConfigurationXmlNamespace1511
- Migrate xmlns entries in
persistence-configuration.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inpersistence-configuration.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPlanXmlNamespace1412
- Migrate xmlns entries in
plan.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Plan schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPlanXmlNamespace1511
- Migrate xmlns entries in
plan.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inplan.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPubSubXmlNamespace1412
- Migrate xmlns entries in
weblogic-pubsub.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic PubSub schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicPubSubXmlNamespace1511
- Migrate xmlns entries in
weblogic-pubsub.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-pubsub.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1412
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Adapter schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRaXmlNamespace1511
- Migrate xmlns entries in
weblogic-ra.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-ra.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1412
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic EJB 3.2 RDBMS schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicRdbmsJarXmlNamespace1511
- Migrate xmlns entries in
weblogic-rdbms-jar.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-rdbms-jar.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicResourceDeploymentPlanXmlNamespace1412
- Migrate xmlns entries in
resource-deployment-plan.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Resource Deployment Plan schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicResourceDeploymentPlanXmlNamespace1511
- Migrate xmlns entries in
resource-deployment-plan.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inresource-deployment-plan.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebServicesXmlNamespace1412
- Migrate xmlns entries in
weblogic-webservices.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Web Services schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebServicesXmlNamespace1511
- Migrate xmlns entries in
weblogic-webservices.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-webservices.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebservicesPolicyRefXmlNamespace1412
- Migrate xmlns entries in
weblogic-webservices-policy.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Web Service Policy Reference schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebservicesPolicyRefXmlNamespace1511
- Migrate xmlns entries in
weblogic-webservices-policy.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-webservices-policy.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeClientHandlerChainXmlNamespace1412
- Migrate xmlns entries in
weblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic WSEE Client Handler Chains schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeClientHandlerChainXmlNamespace1511
- Migrate xmlns entries in
weblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeStandaloneClientXmlNamespace1412
- Migrate xmlns entries in
weblogic-wsee-standaloneclient.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic WSEE Standalone Client schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeStandaloneClientXmlNamespace1511
- Migrate xmlns entries in
weblogic-wsee-standaloneclient.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-wsee-standaloneclient.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicXmlCreateIfNotExists1511
- Create
weblogic.xmlif it does not exist - This recipe will create a
weblogic.xmlfile with the WebLogic 15.1.1 namespace if it does not already exist.
- Create
- com.oracle.weblogic.rewrite.WebLogicXmlPreferApplicationPackagesJPA
- Add
prefer-application-packagesfor JPA inweblogic.xml - This recipe will add a
prefer-application-packagesentry for Jakarta Persistence inweblogic.xmlif it does not already exist.
- Add
- com.oracle.weblogic.rewrite.WebLogicXmlPreferApplicationPackagesSlf4j
- Add
prefer-application-packagesfor SLF4J inweblogic.xml - This recipe will add a
prefer-application-packagesentry for SLF4J inweblogic.xmlif it does not already exist.
- Add
- com.oracle.weblogic.rewrite.WebLogicXmlWebAppNamespace1412
- Migrate xmlns entries in
weblogic.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicXmlWebAppNamespace1511
- Migrate xmlns entries in
weblogic.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.examples.AddImplicitTldFileWithTaglib2_1
- Add implicit TLD with taglib 2.1
- Add
implicit.tldfile with taglib 2.1 tosrc/main/webapp/WEB-INF/tags.
- com.oracle.weblogic.rewrite.examples.AddImplicitTldFileWithTaglib3_0
- Add implicit TLD with taglib 3.0
- Add
implicit.tldfile with taglib 3.0 tosrc/main/webapp/WEB-INF/tags.
- com.oracle.weblogic.rewrite.examples.spring.MigratedPetClinicExtrasFor1511
- Add WebLogic 15.1.1 PetClinic extras
- Run migration extras for migrated Spring Framework PetClinic example run on WebLogic 15.1.1.
- com.oracle.weblogic.rewrite.examples.spring.SetupSpringFrameworkPetClinicFor1412
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2
- Setup Spring Framework 5.3.x PetClinic for WebLogic 14.1.2.
- com.oracle.weblogic.rewrite.jakarta.JakartaEeNamespaces9_1
- Migrate from JavaX to Jakarta EE 9.1 Namespaces
- These recipes help with Migration From JavaX to Jakarta EE 9.1 Namespaces.
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPersistenceTo31
- Update Jakarta Persistence to 3.1
- Update Jakarta Persistence to 3.1.
- com.oracle.weblogic.rewrite.jakarta.UpdateJakartaPersistenceTo32
- Update Jakarta Persistence to 3.2
- Update Jakarta Persistence to 3.2.
- com.oracle.weblogic.rewrite.spring.framework.DefaultServletHandler
- Update Default Servlet Handler for Spring Framework if empty
- This recipe will update Spring Framework default servlet handler if empty, as noted in the Spring Framework 6.2 documentation.
- com.oracle.weblogic.rewrite.spring.framework.ReplaceWebLogicJtaTransactionManager
- Replace Removed WebLogicJtaTransactionManager from Spring Framework 5.3.x to 6.2.x
- Replace removed WebLogicJtaTransactionManager with JtaTransactionManager from Spring Framework 6.2.x.
- com.oracle.weblogic.rewrite.spring.framework.ReplaceWebLogicLoadTimeWeaver
- Replace Removed WebLogicLoadTimeWeaver from Spring Framework 5.3.x to 6.2.x
- Replace removed WebLogicLoadTimeWeaver with LoadTimeWeaver from Spring Framework 6.2.x.
- com.oracle.weblogic.rewrite.spring.framework.UpgradeToSpringFramework_6_2
- Migrate to Spring Framework 6.2 for WebLogic 15.1.1
- Migrate applications to the Spring Framework 6.2 release and compatibility with WebLogic 15.1.1.
webservices
5 recipes
- com.oracle.weblogic.rewrite.WebLogicWebServicesXmlNamespace1412
- Migrate xmlns entries in
weblogic-webservices.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Web Services schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebServicesXmlNamespace1511
- Migrate xmlns entries in
weblogic-webservices.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-webservices.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebservicesPolicyRefXmlNamespace1412
- Migrate xmlns entries in
weblogic-webservices-policy.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic Web Service Policy Reference schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWebservicesPolicyRefXmlNamespace1511
- Migrate xmlns entries in
weblogic-webservices-policy.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-webservices-policy.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.jakarta.JavaxWebServicesXmlToJakarta9WebServicesXml
- Migrate xmlns entries in
webservices.xmlfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
websocket
1 recipe
- org.openrewrite.quarkus.spring.SpringBootWebSocketToQuarkus
- Replace Spring Boot WebSocket with Quarkus WebSockets
- Migrates
spring-boot-starter-websockettoquarkus-websockets.
webxml
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxWebXmlToJakartaWebXml5
- Migrate xmlns entries in
web.xmlfiles for Jakarta Server Faces 3 - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
wsee
4 recipes
- com.oracle.weblogic.rewrite.WebLogicWseeClientHandlerChainXmlNamespace1412
- Migrate xmlns entries in
weblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic WSEE Client Handler Chains schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeClientHandlerChainXmlNamespace1511
- Migrate xmlns entries in
weblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-wsee-clientHandlerChain.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeStandaloneClientXmlNamespace1412
- Migrate xmlns entries in
weblogic-wsee-standaloneclient.xmlfiles to WebLogic 14.1.2 - Migrate xmlns entries in WebLogic WSEE Standalone Client schema files to WebLogic 14.1.2
- Migrate xmlns entries in
- com.oracle.weblogic.rewrite.WebLogicWseeStandaloneClientXmlNamespace1511
- Migrate xmlns entries in
weblogic-wsee-standaloneclient.xmlfiles to WebLogic 15.1.1 - This recipe will update the
xmlnsentries inweblogic-wsee-standaloneclient.xmlfiles to WebLogic 15.1.1
- Migrate xmlns entries in
xhtml
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JakartaFaces3Xhtml
- Faces XHTML migration for Jakarta EE 9
- Find and replace legacy JSF namespaces and javax references with Jakarta Faces values in XHTML files.
xjb
1 recipe
- com.oracle.weblogic.rewrite.jakarta.JavaxBindingsSchemaXjbsToJakarta9BindingsSchemaXjbs
- Migrate xmlns entries in
*.xjbfiles. - Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- Migrate xmlns entries in
xmlunit
1 recipe
- org.openrewrite.java.testing.junit5.UseXMLUnitLegacy
- Use XMLUnit Legacy for JUnit 5
- Migrates XMLUnit 1.x to XMLUnit legacy 2.x.
zipkin
2 recipes
- org.openrewrite.java.spring.opentelemetry.MigrateBraveToOpenTelemetry
- Migrate Brave API to OpenTelemetry API
- Migrate Java code using Brave (Zipkin) tracing API to OpenTelemetry API. This recipe handles the migration of Brave Tracer, Span, and related classes to OpenTelemetry equivalents.
- org.openrewrite.java.spring.opentelemetry.MigrateFromZipkinToOpenTelemetry
- Migrate from Zipkin to OpenTelemetry OTLP
- Migrate from Zipkin tracing to OpenTelemetry OTLP. This recipe replaces Zipkin dependencies with OpenTelemetry OTLP exporter and updates the related configuration properties.