@@ -154,4 +154,87 @@ public class TestApplication {
154154 )
155155 );
156156 }
157+
158+ @ Test
159+ void addsJakartaMailDependencyIfExistingInTransitive () {
160+ rewriteRun (
161+ mavenProject (
162+ "Sample" ,
163+ srcMainJava (
164+ //language=java
165+ java (
166+ """
167+ import javax.mail.Session;
168+ public class TestApplication {
169+ }
170+ """ ,
171+ """
172+ import jakarta.mail.Session;
173+ public class TestApplication {
174+ }
175+ """
176+ )
177+ ),
178+ //language=xml
179+ pomXml (
180+ """
181+ <?xml version="1.0" encoding="UTF-8"?>
182+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
183+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
184+ <modelVersion>4.0.0</modelVersion>
185+ <groupId>com.example</groupId>
186+ <artifactId>demo</artifactId>
187+ <version>0.0.1-SNAPSHOT</version>
188+ </project>
189+ """ ,
190+ """
191+ <?xml version="1.0" encoding="UTF-8"?>
192+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
193+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
194+ <modelVersion>4.0.0</modelVersion>
195+ <groupId>com.example</groupId>
196+ <artifactId>demo</artifactId>
197+ <version>0.0.1-SNAPSHOT</version>
198+ <dependencies>
199+ <dependency>
200+ <groupId>jakarta.mail</groupId>
201+ <artifactId>jakarta.mail-api</artifactId>
202+ <version>2.0.1</version>
203+ </dependency>
204+ </dependencies>
205+ </project>
206+ """
207+ )
208+ )
209+ );
210+ }
211+
212+ @ Test
213+ void ignoresJakartaMailDependencyIfAlreadyExisting () {
214+ rewriteRun (
215+ mavenProject (
216+ "Sample" ,
217+ //language=xml
218+ pomXml (
219+ """
220+ <?xml version="1.0" encoding="UTF-8"?>
221+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
222+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
223+ <modelVersion>4.0.0</modelVersion>
224+ <groupId>com.example</groupId>
225+ <artifactId>demo</artifactId>
226+ <version>0.0.1-SNAPSHOT</version>
227+ <dependencies>
228+ <dependency>
229+ <groupId>jakarta.mail</groupId>
230+ <artifactId>jakarta.mail-api</artifactId>
231+ <version>2.0.1</version>
232+ </dependency>
233+ </dependencies>
234+ </project>
235+ """
236+ )
237+ )
238+ );
239+ }
157240}
0 commit comments