@@ -43,7 +43,7 @@ void addDependencyIfAnnotationJsr250Present() {
4343 java (
4444 """
4545 import javax.annotation.Generated;
46-
46+
4747 @Generated("Hello")
4848 class A {
4949 }
@@ -53,17 +53,70 @@ class A {
5353 //language=xml
5454 pomXml (
5555 """
56- <?xml version="1.0" encoding="UTF-8"?>
57- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
56+ <project>
5857 <modelVersion>4.0.0</modelVersion>
5958 <groupId>org.sample</groupId>
6059 <artifactId>sample</artifactId>
6160 <version>1.0.0</version>
6261 </project>
6362 """ ,
6463 """
65- <?xml version="1.0" encoding="UTF-8"?>
66- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
64+ <project>
65+ <modelVersion>4.0.0</modelVersion>
66+ <groupId>org.sample</groupId>
67+ <artifactId>sample</artifactId>
68+ <version>1.0.0</version>
69+ <dependencies>
70+ <dependency>
71+ <groupId>jakarta.annotation</groupId>
72+ <artifactId>jakarta.annotation-api</artifactId>
73+ <version>1.3.5</version>
74+ <scope>provided</scope>
75+ </dependency>
76+ </dependencies>
77+ </project>
78+ """
79+ )
80+ )
81+ );
82+ }
83+
84+ @ Test
85+ void changeAndUpgradeDependencyIfAnnotationJsr250Present () {
86+ rewriteRun (
87+ spec -> spec .parser (JavaParser .fromJavaVersion ().dependsOn ("package javax.annotation; public @interface Generated {}" )),
88+ mavenProject ("my-project" ,
89+ //language=java
90+ srcMainJava (
91+ java (
92+ """
93+ import javax.annotation.Generated;
94+
95+ @Generated("Hello")
96+ class A {
97+ }
98+ """
99+ )
100+ ),
101+ //language=xml
102+ pomXml (
103+ """
104+ <project>
105+ <modelVersion>4.0.0</modelVersion>
106+ <groupId>org.sample</groupId>
107+ <artifactId>sample</artifactId>
108+ <version>1.0.0</version>
109+ <dependencies>
110+ <dependency>
111+ <groupId>javax.annotation</groupId>
112+ <artifactId>javax.annotation-api</artifactId>
113+ <version>1.3.2</version>
114+ </dependency>
115+ </dependencies>
116+ </project>
117+ """ ,
118+ """
119+ <project>
67120 <modelVersion>4.0.0</modelVersion>
68121 <groupId>org.sample</groupId>
69122 <artifactId>sample</artifactId>
@@ -73,6 +126,7 @@ class A {
73126 <groupId>jakarta.annotation</groupId>
74127 <artifactId>jakarta.annotation-api</artifactId>
75128 <version>1.3.5</version>
129+ <scope>provided</scope>
76130 </dependency>
77131 </dependencies>
78132 </project>
0 commit comments