{"id":14987914,"url":"https://github.com/apache/camel-upgrade-recipes","last_synced_at":"2026-02-17T10:43:03.528Z","repository":{"id":247941916,"uuid":"823042916","full_name":"apache/camel-upgrade-recipes","owner":"apache","description":"Apache Camel Upgrade Recipes Repository","archived":false,"fork":false,"pushed_at":"2024-09-30T13:31:00.000Z","size":258,"stargazers_count":2,"open_issues_count":1,"forks_count":5,"subscribers_count":29,"default_branch":"main","last_synced_at":"2024-10-01T01:06:28.476Z","etag":null,"topics":["camel","integration","kamelet"],"latest_commit_sha":null,"homepage":"https://camel.apache.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-02T10:10:34.000Z","updated_at":"2024-09-30T15:11:42.000Z","dependencies_parsed_at":"2024-07-23T09:47:40.504Z","dependency_job_id":"e6e22173-36c0-4486-b4ca-dd73268e07b1","html_url":"https://github.com/apache/camel-upgrade-recipes","commit_stats":null,"previous_names":["apache/camel-upgrade-recipes"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcamel-upgrade-recipes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcamel-upgrade-recipes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcamel-upgrade-recipes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcamel-upgrade-recipes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/camel-upgrade-recipes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219869248,"owners_count":16555572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["camel","integration","kamelet"],"created_at":"2024-09-24T14:15:41.716Z","updated_at":"2025-10-19T12:30:21.545Z","avatar_url":"https://github.com/apache.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Apache Camel Update Recipes\n\nThis project contains recipes to assist in the migration of Camel projects.\n\nYou can find the recipes in the src/main/resources/META-INF/rewrite directory.\n\nThe names of the recipes correspond to the Camel version they support, formatted as [major].[minor].yaml. To migrate from version X.Y to version A.B, apply all recipes with versions greater than X.Y and less than A.B.\nFor example, to migrate from version 3.8 to 4.4, you need to apply the recipes `*4.0.yaml*` and `*4.4.yaml*`.\n\nSpecial recipes `latest.yaml` and `4.10LTS.yaml` (or other lts version in the future) can be used for migration to the latest version.\n\n== How to run from cmd\n\nTo upgrade to the latest version of Camel, you can execute the following script:\n\n```\n$ mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.apache.camel.upgrade:camel-upgrade-recipes:LATEST -Drewrite.activeRecipes=org.apache.camel.upgrade.CamelMigrationRecipe\n```\n\n\nTo upgrade to the latest version of Camel 4.10 (LTS), you can execute the following script:\n\n```\n$ mvn -U org.openrewrite.maven:rewrite-maven-plugin:run -Drewrite.recipeArtifactCoordinates=org.apache.camel.upgrade:camel-upgrade-recipes:LATEST -Drewrite.activeRecipes=org.apache.camel.upgrade.Camel410LTSMigrationRecipe\n```\n\n\nTo apply specific recipes you can use the following script:\n\n```\n\n$ mvn -U org.openrewrite.maven:rewrite-maven-plugin:6.0.4:run \\\n-Drewrite.recipeArtifactCoordinates=org.apache.camel.upgrade:camel-upgrade-recipes:4.8.0 \\\n-DactiveRecipes=org.apache.camel.upgrade.camel44.CamelMigrationRecipe,org.apache.camel.upgrade.camel45.CamelMigrationRecipe\n```\n\n[WARNING]\n====\nThis project is not meant for migration of an application based on Camel-Quarkus. Use https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.0[Quakus migration guide] instead.\n====\n\n== JUnit testing\n\nSeveral migration paths to different versions must be covered by the tests.\nTherefore, the project uses the maven-dependency-plugin to download various versions of certain libraries.\n\nLibraries are not packed into the installed jar.\n\n== Test jar\n\nProject installs also test classes into a `test-jar` artifact.\nThis allows other projects (like https://github.com/quarkusio/quarkus-updates/[quarkus-updates]) to ruse the tests.\n\n== Releasing\n\nThis project is released as standard Apache Camel module.\n\n⚠️ Check that release notes are up-to-date!\n\nCheck that everything is alright and run:\n\n```bash\n./mvnw release:prepare -Prelease \\\n  -DreleaseVersion=\u003cCAMEL_UPGRADE_RECIPES_RELEASE_VERSION\u003e \\\n  -DdevelopmentVersion=\u003cnext_snapshot\u003e \\\n  -Dtag=\u003cCAMEL_UPGRADE_RECIPES_RELEASE_VERSION\u003e\n  -Dusername=\u003casf_username\u003e\n  -Dpassword=\u003casf_password\u003e\n```\n\nThen perform the release:\n\n```bash\n./mvnw release:perform -Prelease\n```\n\nGo to https://repository.apache.org/ and close the staging repository.\n\nA URL will be generated for the repository, like: https://repository.apache.org/content/repositories/orgapachecamel-xxxx. The URL needs to be communicated during the voting process.\n\nNow run:\n\n```bash\ncd release-utils/scripts/\n./upload-source.sh $CAMEL_UPGRADE_RECIPES_VERSION $CAMEL_UPGRADE_RECIPES_VERSION\n```\n\nYou'll be requested to insert the password to unlock the secret key to sign the artifacts and after uploading to nexus dev repository.\n\nYou could verify the result at the following URL:\n\nhttps://dist.apache.org/repos/dist/dev/camel/camel-upgrade-recipes/\u003c$CAMEL_UPGRADE_RECIPES_VERSION\u003e \n\nSend an email to dev mailing list to start the vote.\n\n## Post Release\n\nOnce the vote for the release has been completed, you need to send the Vote Result mail to mailing list.\n\nNow, you'll need to release the artifacts from Apache staging repositories to Apache releases repository.\n\nTo do this you'll need to access the Apache Nexus Server.\n\nYou'll need then to promote the release from dist/dev location to dist/release location.\n\nThere is an handy script for this:\n\nNow run:\n\n```bash\ncd release-utils/scripts/\n./promote-release.sh $CAMEL_UPGRADE_RECIPES_VERSION \n```\n\nWhen done, release the staging repository.\n\nTo do this you'll need to access https://repository.apache.org/#stagingRepositories.\nSelect proper staging repository and click release.\n\n\n## Applying OpenRewrite best practices\n\nOn pull requests, a GitHub Action is run to apply OpenRewrite best practices to the codebase.\nTo minimize changes, you can run the following command locally to apply the same best practices:\n\n```\nmvn -Popenrewrite rewrite:run\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcamel-upgrade-recipes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fcamel-upgrade-recipes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcamel-upgrade-recipes/lists"}