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

Reply via email to