@@ -154,4 +154,87 @@ public class TestApplication {
154
154
)
155
155
);
156
156
}
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
+ }
157
240
}
0 commit comments