This is an automated email from the ASF dual-hosted git repository. ebourg pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git
The following commit(s) were added to refs/heads/main by this push: new 040b951 Migrate SPI files in directories by renaming them to the jakartaee prefix (#45) 040b951 is described below commit 040b951aee19522fd7d58c231c1c30677539d973 Author: Felix Schumacher <felix.schumac...@internetallee.de> AuthorDate: Sat Mar 25 13:41:48 2023 +0100 Migrate SPI files in directories by renaming them to the jakartaee prefix (#45) --- CHANGES.md | 4 +++ .../org/apache/tomcat/jakartaee/Migration.java | 3 +- .../org/apache/tomcat/jakartaee/MigrationTest.java | 33 ++++++++++++++++++++++ .../javax.enterprise.inject.spi.Extension | 1 + 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 8b31d08..de8ff50 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Tomcat Migration Tool for Jakarta EE - Changelog +## 1.0.7 + +- When converting directories, rename files according to the chosen profile. (fschumacher) + ## 1.0.6 - Fix handling of javax.annotation package in 1.0.5. PR [#40](https://github.com/apache/tomcat-jakartaee-migration/pull/40) provided by Danny Thomas (remm) diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java b/src/main/java/org/apache/tomcat/jakartaee/Migration.java index 74d32a3..62660dd 100644 --- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java +++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java @@ -252,7 +252,7 @@ public class Migration { String[] files = src.list(); for (String file : files) { File srcFile = new File(src, file); - File destFile = new File(dest, file); + File destFile = new File(dest, profile.convert(file)); if (srcFile.isDirectory()) { if ((destFile.exists() && destFile.isDirectory()) || destFile.mkdir()) { migrateDirectory(srcFile, destFile); @@ -265,7 +265,6 @@ public class Migration { } } - private void migrateFile(File src, File dest) throws IOException { boolean inplace = src.equals(dest); if (!inplace) { diff --git a/src/test/java/org/apache/tomcat/jakartaee/MigrationTest.java b/src/test/java/org/apache/tomcat/jakartaee/MigrationTest.java index 34048bb..6fc6a9b 100644 --- a/src/test/java/org/apache/tomcat/jakartaee/MigrationTest.java +++ b/src/test/java/org/apache/tomcat/jakartaee/MigrationTest.java @@ -139,6 +139,39 @@ public class MigrationTest { String migratedSource = FileUtils.readFileToString(migratedFile, StandardCharsets.UTF_8); assertFalse("Imports not migrated", migratedSource.contains("import javax.servlet")); assertTrue("Migrated imports not found", migratedSource.contains("import jakarta.servlet")); + + File migratedSpiFile = new File("target/test-classes/migration/javax.enterprise.inject.spi.Extension"); + assertTrue("SPI file has not been migrated by renaming", migratedSpiFile.exists()); + + String migratedSpiSource = FileUtils.readFileToString(migratedSpiFile, StandardCharsets.UTF_8); + assertTrue("SPI file not copied with content", migratedSpiSource.contains("some.class.Reference")); + } + + @Test + public void testMigrateDirectoryWithEeProfile() throws Exception { + File sourceDirectory = new File("src/test/resources"); + File destinationDirectory = new File("target/test-classes/migration-ee"); + + Migration migration = new Migration(); + migration.setEESpecProfile(EESpecProfiles.EE); + migration.setSource(sourceDirectory); + migration.setDestination(destinationDirectory); + migration.execute(); + + assertTrue("Destination directory not found", destinationDirectory.exists()); + + File migratedFile = new File(destinationDirectory, "HelloServlet.java"); + assertTrue("Migrated file not found", migratedFile.exists()); + + String migratedSource = FileUtils.readFileToString(migratedFile, StandardCharsets.UTF_8); + assertFalse("Imports not migrated", migratedSource.contains("import javax.servlet")); + assertTrue("Migrated imports not found", migratedSource.contains("import jakarta.servlet")); + + File migratedSpiFile = new File(destinationDirectory, "jakarta.enterprise.inject.spi.Extension"); + assertTrue("SPI file not migrated by renaming", migratedSpiFile.exists()); + + String migratedSpiSource = FileUtils.readFileToString(migratedSpiFile, StandardCharsets.UTF_8); + assertTrue("SPI file not copied with content", migratedSpiSource.contains("some.class.Reference")); } @Test diff --git a/src/test/resources/javax.enterprise.inject.spi.Extension b/src/test/resources/javax.enterprise.inject.spi.Extension new file mode 100644 index 0000000..b1d51cf --- /dev/null +++ b/src/test/resources/javax.enterprise.inject.spi.Extension @@ -0,0 +1 @@ +some.class.Reference \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org