Repository: flex-utilities
Updated Branches:
  refs/heads/develop 868e68ee2 -> eb90937ca


- Added generation of the templates artifacts for flex and air
- Added generation of an "adl" zip-artifact containing the adl executables for 
the air-runtime package


Project: http://git-wip-us.apache.org/repos/asf/flex-utilities/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-utilities/commit/eb90937c
Tree: http://git-wip-us.apache.org/repos/asf/flex-utilities/tree/eb90937c
Diff: http://git-wip-us.apache.org/repos/asf/flex-utilities/diff/eb90937c

Branch: refs/heads/develop
Commit: eb90937ca07738d1c80ba747284ec7d1357f918d
Parents: 868e68e
Author: Christofer Dutz <[email protected]>
Authored: Sat Jul 23 15:07:11 2016 +0200
Committer: Christofer Dutz <[email protected]>
Committed: Sat Jul 23 15:07:23 2016 +0200

----------------------------------------------------------------------
 .../utilities/converter/air/AirConverter.java   | 53 ++++++++++++++++----
 .../utilities/converter/flex/FlexConverter.java | 26 ++++++++++
 2 files changed, 70 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/eb90937c/flex-maven-tools/flex-sdk-converter/converters/air/src/main/java/org/apache/flex/utilities/converter/air/AirConverter.java
----------------------------------------------------------------------
diff --git 
a/flex-maven-tools/flex-sdk-converter/converters/air/src/main/java/org/apache/flex/utilities/converter/air/AirConverter.java
 
b/flex-maven-tools/flex-sdk-converter/converters/air/src/main/java/org/apache/flex/utilities/converter/air/AirConverter.java
index 5ea1231..5360b83 100644
--- 
a/flex-maven-tools/flex-sdk-converter/converters/air/src/main/java/org/apache/flex/utilities/converter/air/AirConverter.java
+++ 
b/flex-maven-tools/flex-sdk-converter/converters/air/src/main/java/org/apache/flex/utilities/converter/air/AirConverter.java
@@ -61,6 +61,7 @@ public class AirConverter extends BaseConverter implements 
Converter {
         generateCompilerArtifacts();
         generateRuntimeArtifacts();
         generateFrameworkArtifacts();
+        generateTemplatesArtifact();
     }
 
     /**
@@ -271,19 +272,25 @@ public class AirConverter extends BaseConverter 
implements Converter {
         runtime.setVersion(airSdkVersion);
         runtime.setPackaging("pom");
 
-        // Create a list of all libs that should belong to the AIR SDK runtime.
+        // Generate artifacts from the adl/adl.exe files
+        MavenArtifact adl = new MavenArtifact();
+        adl.setGroupId("com.adobe.air.runtime");
+        adl.setArtifactId("adl");
+        adl.setVersion(airSdkVersion);
+        adl.setPackaging("zip");
         final File directory = new File(rootSourceDirectory, "bin");
         if (!directory.exists() || !directory.isDirectory()) {
             throw new ConverterException("Runtime directory does not exist.");
         }
-        final List<File> files = new ArrayList<File>();
-        files.addAll(Arrays.asList(directory.listFiles(new 
AirRuntimeFilter())));
-
-        // Generate artifacts for every jar in the input directories (Actually 
this is only one file).
-        for (final File sourceFile : files) {
-            final MavenArtifact artifact = resolveArtifact(sourceFile, 
"com.adobe.air.runtime", airSdkVersion);
-            runtime.addDependency(artifact);
+        try {
+            File adlZip = File.createTempFile("adl-" + airSdkVersion, "zip");
+            generateZip(directory.listFiles(new AirRuntimeFilter()), adlZip);
+            adl.addDefaultBinaryArtifact(adlZip);
+        } catch (IOException e) {
+            throw new ConverterException("Error creating adl zip.", e);
         }
+        runtime.addDependency(adl);
+        writeArtifact(adl);
 
         // Zip up the AIR runtime directory.
         final MavenArtifact airRuntimeArtifact = 
generateAirRuntimeArtifact(rootSourceDirectory);
@@ -327,6 +334,34 @@ public class AirConverter extends BaseConverter implements 
Converter {
         writeArtifact(framework);
     }
 
+    protected void generateTemplatesArtifact() throws ConverterException {
+        // Create the root artifact.
+        final MavenArtifact templates = new MavenArtifact();
+        templates.setGroupId("com.adobe.air");
+        templates.setArtifactId("templates");
+        templates.setVersion(airSdkVersion);
+        templates.setPackaging("jar");
+
+        final File templatesDir = new File(rootSourceDirectory, "templates");
+        final File[] directories = templatesDir.listFiles(new FileFilter() {
+            public boolean accept(File pathname) {
+                return pathname.isDirectory() && 
("air".equals(pathname.getName()) ||
+                        "extensions".equals(pathname.getName()) || 
"sdk".equals(pathname.getName()));
+            }
+        });
+
+        try {
+            final File jar = File.createTempFile("air-templates-" + 
airSdkVersion, "jar");
+            generateZip(directories, jar);
+            templates.addDefaultBinaryArtifact(jar);
+        } catch (IOException e) {
+            throw new ConverterException("Error creating runtime zip.", e);
+        }
+
+        // Write this artifact to file.
+        writeArtifact(templates);
+    }
+
     
///////////////////////////////////////////////////////////////////////////////////////////////////
     //
     //   Utility methods
@@ -411,7 +446,7 @@ public class AirConverter extends BaseConverter implements 
Converter {
 
     public static class AirRuntimeFilter implements FilenameFilter {
         public boolean accept(File dir, String name) {
-            return name.equalsIgnoreCase("adl.exe");
+            return name.equalsIgnoreCase("adl.exe") || 
name.equalsIgnoreCase("adl");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/eb90937c/flex-maven-tools/flex-sdk-converter/converters/flex/src/main/java/org/apache/flex/utilities/converter/flex/FlexConverter.java
----------------------------------------------------------------------
diff --git 
a/flex-maven-tools/flex-sdk-converter/converters/flex/src/main/java/org/apache/flex/utilities/converter/flex/FlexConverter.java
 
b/flex-maven-tools/flex-sdk-converter/converters/flex/src/main/java/org/apache/flex/utilities/converter/flex/FlexConverter.java
index e5a178a..cbe7e87 100644
--- 
a/flex-maven-tools/flex-sdk-converter/converters/flex/src/main/java/org/apache/flex/utilities/converter/flex/FlexConverter.java
+++ 
b/flex-maven-tools/flex-sdk-converter/converters/flex/src/main/java/org/apache/flex/utilities/converter/flex/FlexConverter.java
@@ -69,6 +69,7 @@ public class FlexConverter extends BaseConverter implements 
Converter {
 
         generateCompilerArtifacts();
         generateFrameworkArtifacts();
+        generateTemplatesArtifact();
     }
 
     /**
@@ -195,6 +196,31 @@ public class FlexConverter extends BaseConverter 
implements Converter {
         }
     }
 
+    protected void generateTemplatesArtifact() throws ConverterException {
+        // Create the root artifact.
+        final MavenArtifact templates = new MavenArtifact();
+        templates.setGroupId("org.apache.flex");
+        templates.setArtifactId("templates");
+        templates.setVersion(flexSdkVersion);
+        templates.setPackaging("jar");
+
+        final File templatesDir = new File(rootSourceDirectory, "templates");
+        final File[] directories = templatesDir.listFiles(new FileFilter() {
+            public boolean accept(File pathname) {
+                return pathname.isDirectory() && 
"automation-runtimeloading-files".equals(pathname.getName());
+            }
+        });
+
+        try {
+            final File jar = File.createTempFile("flex-templates-" + 
flexSdkVersion, "jar");
+            generateZip(directories, jar);
+            templates.addDefaultBinaryArtifact(jar);
+        } catch (IOException e) {
+            throw new ConverterException("Error creating runtime zip.", e);
+        }
+
+    }
+
     
///////////////////////////////////////////////////////////////////////////////////////////////////
     //
     //   Utility methods

Reply via email to