Nieuwste versies van alle OpenRewrite-modules

Houd Maven Central geconfigureerd naast deze repository, aangezien de transitieve afhankelijkheden van OpenRewrite nog steeds daarvandaan worden opgehaald.

Bij elke release wordt er ook een bill of materials (BOM) artifact gepubliceerd om de versies van alle gepubliceerde artifacts correct af te stemmen en te beheren. Ook de Gradle-plugin wordt daar gepubliceerd in plaats van in de Gradle Plugin Portal; raadpleeg de Gradle-pluginconfiguratie voor de resolutie hiervan.

Het wordt sterk aanbevolen dat ontwikkelaars de rewrite-recipe-bom gebruiken om de versies van de Rewrite-modules af te stemmen en compatibiliteit te garanderen. Door het gebruik van de BOM hoeft een ontwikkelaar alleen de expliciete versies van de BOM en de build-plugins op te geven.

Overzicht van modules, versies en licenties

ModuleVersieLicentie
org.openrewrite:rewrite-bom8.93.8Apache License Version 2.0
org.openrewrite:rewrite-maven-plugin6.50.0Apache License Version 2.0
org.openrewrite:rewrite-gradle-plugin7.44.1Apache License Version 2.0
org.openrewrite.recipe:rewrite-recipe-bom3.41.0Apache License Version 2.0
org.openrewrite:rewrite-android8.93.8Moderne Source Available License
org.openrewrite:rewrite-core8.93.8Apache License Version 2.0
org.openrewrite:rewrite-docker8.93.8Apache License Version 2.0
org.openrewrite:rewrite-gradle8.93.8Apache License Version 2.0
org.openrewrite:rewrite-groovy8.93.8Apache License Version 2.0
org.openrewrite:rewrite-hcl8.93.8Apache License Version 2.0
org.openrewrite:rewrite-java8.93.8Apache License Version 2.0
org.openrewrite:rewrite-javascript8.93.8Moderne Source Available License
org.openrewrite:rewrite-json8.93.8Apache License Version 2.0
org.openrewrite:rewrite-kotlin8.93.8Apache License Version 2.0
org.openrewrite:rewrite-mainframe3.2.1Moderne Source Available License
org.openrewrite:rewrite-maven8.93.8Apache License Version 2.0
org.openrewrite:rewrite-polyglot2.13.0Apache License Version 2.0
org.openrewrite:rewrite-properties8.93.8Apache License Version 2.0
org.openrewrite:rewrite-protobuf8.93.8Apache License Version 2.0
org.openrewrite:rewrite-python8.93.8Moderne Source Available License
org.openrewrite:rewrite-ruby8.93.8Moderne Source Available License
org.openrewrite:rewrite-scala8.93.8Moderne Source Available License
org.openrewrite:rewrite-templating1.46.0Apache License Version 2.0
org.openrewrite:rewrite-toml8.93.8Apache License Version 2.0
org.openrewrite:rewrite-xml8.93.8Apache License Version 2.0
org.openrewrite:rewrite-yaml8.93.8Apache License Version 2.0
org.openrewrite.meta:rewrite-analysis2.39.0Apache License Version 2.0
org.openrewrite.recipe:rewrite-all1.30.2Apache License Version 2.0
org.openrewrite.recipe:rewrite-apache2.34.0Moderne Source Available License
org.openrewrite.recipe:rewrite-cucumber-jvm2.20.0Moderne Source Available License
org.openrewrite.recipe:rewrite-feature-flags1.24.2Moderne Source Available License
org.openrewrite.recipe:rewrite-github-actions3.33.0Moderne Source Available License
org.openrewrite.recipe:rewrite-gitlab0.25.2Moderne Source Available License
org.openrewrite.recipe:rewrite-hibernate2.27.0Moderne Source Available License
org.openrewrite.recipe:rewrite-jackson1.31.0Apache License Version 2.0
org.openrewrite.recipe:rewrite-java-dependencies1.64.0Apache License Version 2.0
org.openrewrite.recipe:rewrite-jenkins0.38.2Moderne Source Available License
org.openrewrite.recipe:rewrite-joda0.12.0Moderne Source Available License
org.openrewrite.recipe:rewrite-liberty1.28.2Apache License Version 2.0
org.openrewrite.recipe:rewrite-logging-frameworks3.34.1Moderne Source Available License
org.openrewrite.recipe:rewrite-micrometer0.31.2Moderne Source Available License
org.openrewrite.recipe:rewrite-micronaut2.39.0Apache License Version 2.0
org.openrewrite.recipe:rewrite-migrate-java3.46.0Moderne Source Available License
org.openrewrite.recipe:rewrite-netty0.13.2Apache License Version 2.0
org.openrewrite.recipe:rewrite-okhttp0.25.2Moderne Source Available License
org.openrewrite.recipe:rewrite-openapi0.35.0Apache License Version 2.0
org.openrewrite.recipe:rewrite-pmd0.1.4Moderne Source Available License
org.openrewrite.recipe:rewrite-prethink1.6.0Moderne Source Available License
org.openrewrite.recipe:rewrite-quarkus2.36.2Apache License Version 2.0
org.openrewrite.recipe:rewrite-rewrite0.34.0Moderne Source Available License
org.openrewrite.recipe:rewrite-spring6.41.0Moderne Source Available License
org.openrewrite.recipe:rewrite-spring-to-quarkus0.13.2Moderne Source Available License
org.openrewrite.recipe:rewrite-static-analysis2.45.0Moderne Source Available License
org.openrewrite.recipe:rewrite-testing-frameworks3.49.0Moderne Source Available License
org.openrewrite.recipe:rewrite-third-party0.49.0Apache License Version 2.0

Configureer de Code Genome Project-repository

Elke download van het Code Genome Project vereist authenticatie. Gebruik het token als wachtwoord in uw build, en het e-mailadres of de gebruikersnaam waarmee u bent ingelogd als gebruikersnaam.

Als uw organisatie het Code Genome Project spiegelt in een interne artifact-repository (zoals Artifactory of Nexus), richt uw build dan op die mirror en sla de onderstaande inloggegevens over.

Maven

Declareer de repository in uw pom.xml:

<repositories>
  <repository>
    <id>codegenome</id>
    <url>https://artifacts.codegenomeproject.org/maven</url>
  </repository>
</repositories>

Houd de inloggegevens uit de POM door ze in uw settings.xml te plaatsen, gekoppeld aan de repository via het id:

<settings>
  <servers>
    <server>
      <id>codegenome</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

Houd Maven Central ernaast behouden. Het Code Genome Project host alleen org/openrewrite en io/moderne, dus transitieve afhankelijkheden van OpenRewrite worden nog steeds via Maven Central opgelost.

Gradle

Voor build.gradle.kts:

repositories {
    mavenCentral()
    maven {
        url = uri("https://artifacts.codegenomeproject.org/maven")
        credentials {
            username = "USERNAME"
            password = "TOKEN"
        }
    }
}

Voor build.gradle:

repositories {
    mavenCentral()
    maven {
        url = 'https://artifacts.codegenomeproject.org/maven'
        credentials {
            username = 'USERNAME'
            password = 'TOKEN'
        }
    }
}

CLI-installatie

Richt de CLI op het Code Genome Project zodat deze recipe-artifacts kan oplossen. Sla dit over als u via een interne artifact-repository werkt die dit al spiegelt.

mod config recipes artifacts maven add https://artifacts.codegenomeproject.org/maven --user USERNAME --password TOKEN

Installeer vervolgens de nieuwste versies van alle OpenRewrite recipe-modules in de Moderne CLI.

Let op: Modules met "Source-available" licentie verschijnen in de bovenstaande tabel, maar zijn weggelaten uit het jar-commando hieronder, omdat het Code Genome Project deze alleen beschikbaar stelt aan Moderne-klanten. De pip- en npm-pakketten zijn niet beïnvloed.

Vastgepinde versies

mod config recipes jar install org.openrewrite:rewrite-core:8.93.8 org.openrewrite:rewrite-docker:8.93.8 org.openrewrite:rewrite-gradle:8.93.8 org.openrewrite:rewrite-groovy:8.93.8 org.openrewrite:rewrite-hcl:8.93.8 org.openrewrite:rewrite-java:8.93.8 org.openrewrite:rewrite-json:8.93.8 org.openrewrite:rewrite-kotlin:8.93.8 org.openrewrite:rewrite-maven:8.93.8 org.openrewrite:rewrite-properties:8.93.8 org.openrewrite:rewrite-protobuf:8.93.8 org.openrewrite:rewrite-toml:8.93.8 org.openrewrite:rewrite-xml:8.93.8 org.openrewrite:rewrite-yaml:8.93.8 org.openrewrite.recipe:rewrite-all:1.30.2 org.openrewrite.recipe:rewrite-jackson:1.31.0 org.openrewrite.recipe:rewrite-java-dependencies:1.64.0 org.openrewrite.recipe:rewrite-liberty:1.28.2 org.openrewrite.recipe:rewrite-micronaut:2.39.0 org.openrewrite.recipe:rewrite-netty:0.13.2 org.openrewrite.recipe:rewrite-openapi:0.35.0 org.openrewrite.recipe:rewrite-quarkus:2.36.2 org.openrewrite.recipe:rewrite-third-party:0.49.0
mod config recipes pip install openrewrite==8.93.8
mod config recipes npm install @openrewrite/rewrite@8.93.8

Nieuwste versies

Installeer zonder een vastgepinde versie, zodat u later mod config recipes upgrade kunt uitvoeren om de nieuwste versies op te halen zonder dit commando aan te passen.

mod config recipes jar install org.openrewrite:rewrite-core:LATEST org.openrewrite:rewrite-docker:LATEST org.openrewrite:rewrite-gradle:LATEST org.openrewrite:rewrite-groovy:LATEST org.openrewrite:rewrite-hcl:LATEST org.openrewrite:rewrite-java:LATEST org.openrewrite:rewrite-json:LATEST org.openrewrite:rewrite-kotlin:LATEST org.openrewrite:rewrite-maven:LATEST org.openrewrite:rewrite-properties:LATEST org.openrewrite:rewrite-protobuf:LATEST org.openrewrite:rewrite-toml:LATEST org.openrewrite:rewrite-xml:LATEST org.openrewrite:rewrite-yaml:LATEST org.openrewrite.recipe:rewrite-all:LATEST org.openrewrite.recipe:rewrite-jackson:LATEST org.openrewrite.recipe:rewrite-java-dependencies:LATEST org.openrewrite.recipe:rewrite-liberty:LATEST org.openrewrite.recipe:rewrite-micronaut:LATEST org.openrewrite.recipe:rewrite-netty:LATEST org.openrewrite.recipe:rewrite-openapi:LATEST org.openrewrite.recipe:rewrite-quarkus:LATEST org.openrewrite.recipe:rewrite-third-party:LATEST
mod config recipes pip install openrewrite
mod config recipes npm install @openrewrite/rewrite

Moderne-installatie

Installeer de nieuwste versies van alle OpenRewrite recipe-modules in Moderne via het GraphQL-endpoint. De onderstaande mutatie gebruikt installRecipesUniversal, wat installeert in de universele marketplace (zichtbaar voor iedereen) en de admin-rol vereist.

mutation seedOpenRewriteArtifacts {
  load_org_openrewrite_rewrite_core: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-core", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_docker: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-docker", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_gradle: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-gradle", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_groovy: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-groovy", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_hcl: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-hcl", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_java: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-java", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_json: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-json", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_kotlin: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-kotlin", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_maven: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-maven", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_properties: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-properties", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_protobuf: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-protobuf", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_toml: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-toml", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_xml: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-xml", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_rewrite_yaml: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite", artifactId: "rewrite-yaml", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_all: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-all", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_jackson: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-jackson", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_java_dependencies: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-java-dependencies", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_liberty: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-liberty", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_micronaut: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-micronaut", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_netty: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-netty", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_openapi: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-openapi", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_quarkus: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-quarkus", version: "LATEST" } }
  ) { id }
  load_org_openrewrite_recipe_rewrite_third_party: installRecipesUniversal(
    bundle: { maven: { groupId: "org.openrewrite.recipe", artifactId: "rewrite-third-party", version: "LATEST" } }
  ) { id }
}

Marketplace Sync

Als alternatief voor het één voor één installeren van modules, kan de Moderne CLI een volledige recipe marketplace spiegelen in uw lokale CLI.

Optie 1: Synchroniseren via app.moderne.io

De standaard tenant is de gratis publieke Moderne-instantie op app.moderne.io, die al elk OpenRewrite recipe-artifact publiceert dat in de bovenstaande tabel staat. Richt de CLI erop (of op een andere Moderne-tenant waar u toegang toe heeft), log in en synchroniseer:

mod config moderne edit https://app.moderne.io
mod config moderne login
mod config recipes moderne sync

Optie 2: Importeer een zelfgehoste CSV

Als u geen toegang heeft tot een Moderne-tenant — bijvoorbeeld in een air-gapped omgeving — kunt u uw eigen CSV aanleveren in hetzelfde recipes-v5.csv formaat en deze direct importeren:

mod config recipes import csv path/to/recipes.csv

Recipes met dezelfde naam worden vervangen door de geïmporteerde versie, dus dit kan opnieuw worden uitgevoerd om de marketplace te verversen. Combineer dit met de bijbehorende JAR/pip/npm/NuGet-installaties uit de sectie "CLI-installatie", zodat de recipes worden opgelost wanneer ze worden uitgevoerd.

Aanvullende details over synchronisatie

Achter de schermen kiest mod config recipes moderne sync een van de twee paden tegen de geconfigureerde Moderne-tenant:

  1. Voorkeur — REST CSV (SaaS v2): De CLI probeert eerst GET <apiHost>/api/recipes. Als het endpoint reageert, wordt de body geschreven naar ~/.moderne/cli/recipes-v5.csv en is de synchronisatie voltooid. De CSV bevat één rij per recipe met kolommen voor: ecosystem, packageName, requestedVersion, version, name, displayName, description, recipeCount, category1–category6, category1Description–category6Description, options, en dataTables. De CLI gebruikt deze catalogus voor zoeken, tab-aanvulling en MCP-tooling. Deze CSV is een goed startpunt voor Optie 2.
  2. Fallback — GraphQL + per-artifact install (SaaS v1): Als het REST-endpoint niet beschikbaar is, voert de CLI een GraphQL-query uit voor elke voltooide recipe-deployment en installeert elk artifact vanuit Maven, op dezelfde manier als mod config recipes jar install:
query {
  recipeDeployments(state: FINISHED) {
    artifact {
      groupId
      artifactId
      version
      requestedVersion
      datedSnapshotVersion
    }
  }
}