META-INF.rewrite.rewrite.yml Maven / Gradle / Ivy
Show all versions of rewrite-jenkins Show documentation
#
# Copyright 2024 the original author or authors.
#
# Licensed under the Moderne Source Available License (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://docs.moderne.io/licensing/moderne-source-available-license
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.jenkins.ModernizePlugin
displayName: Modernize a Jenkins plugin to the latest recommended versions
description: >-
This recipe is intended to change over time to reflect the most recent tooling and
[recommended Jenkins baseline](https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/).
recipeList:
- org.openrewrite.maven.ChangeParentPom:
oldGroupId: org.jenkins-ci.plugins
oldArtifactId: plugin
newVersion: latest.release
allowVersionDowngrades: false
- org.openrewrite.java.RemoveAnnotation:
# https://github.com/jenkinsci/plugin-pom/releases/tag/plugin-4.52 removed Animal Sniffer
annotationPattern: "@org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement"
- org.openrewrite.java.testing.htmlunit.UpgradeHtmlUnit_3
# https://github.com/jenkinsci/plugin-pom/releases/tag/plugin-4.66 bumped htmlunit to 3.3.0
- org.openrewrite.java.dependencies.ChangeDependency:
# https://github.com/jenkinsci/plugin-pom/releases/tag/plugin-4.68 bumped mockito-bom to 5.4.0,
# which dropped mockito-inline
oldGroupId: org.mockito
oldArtifactId: mockito-inline
newGroupId: org.mockito
newArtifactId: mockito-core
newVersion: 5.0.0
overrideManagedVersion: false
- org.openrewrite.jenkins.UpgradeVersionProperty:
key: jenkins.version
minimumVersion: 2.440.3
- org.openrewrite.java.dependencies.RemoveDependency:
# Provided by core as of 2.349
groupId: org.jenkins-ci
artifactId: symbol-annotation
- org.openrewrite.jenkins.AddPluginsBom
- org.openrewrite.java.ChangePackage:
# 2.401.2 started providing Guice 6.x, which supports the `jakarta.inject` namespace
oldPackageName: javax.inject
newPackageName: jakarta.inject
recursive: true
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.jenkins.ModernizeJenkinsfile
displayName: Modernize Jenkinsfile
description: Updates `Jenkinsfile` to build with recommended Java versions, platforms, and settings.
recipeList:
- org.openrewrite.text.CreateTextFile:
relativeFileName: Jenkinsfile
overwriteExisting: true
fileContents: >
/*
See the documentation for more options:
https://github.com/jenkins-infra/pipeline-library/
*/
buildPlugin(
useContainerAgent: true, // Set to `false` if you need to use Docker for containerized tests
configurations: [
[platform: 'linux', jdk: 21],
[platform: 'windows', jdk: 17],
])
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.jenkins.CommonsLang3ToApiPlugin
displayName: Use commons-lang3 API Plugin
description: Updates `pom.xml` to depend on `commons-lang3-api` and exclude `commons-lang3` where it is brought in transitively.
recipeList:
- org.openrewrite.jenkins.ReplaceLibrariesWithApiPlugin:
pluginGroupId: io.jenkins.plugins
pluginArtifactId: commons-lang3-api
pluginVersion: 3.12.0-36.vd97de6465d5b_
replaces:
- groupId: org.apache.commons
artifactId: commons-lang3