Repository: flex-falcon
Updated Branches:
  refs/heads/dual 2d547c519 -> 6dd4ede93


allow library-path to contain js swcs by adding swf-library-path for SWF SWCs


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

Branch: refs/heads/dual
Commit: 78bc6c043d927b0029cf8125b3858108ab87b409
Parents: a940299
Author: Alex Harui <[email protected]>
Authored: Sun Mar 5 23:33:59 2017 -0800
Committer: Alex Harui <[email protected]>
Committed: Sun Mar 5 23:33:59 2017 -0800

----------------------------------------------------------------------
 .../flex/compiler/config/Configuration.java     | 72 ++++++++++++++++++++
 .../compiler/internal/projects/FlexProject.java |  6 ++
 2 files changed, 78 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/78bc6c04/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
----------------------------------------------------------------------
diff --git 
a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java 
b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
index 6e77b97..fc356ec 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/config/Configuration.java
@@ -2041,6 +2041,37 @@ public class Configuration
     }
 
     //
+    // 'compiler.swf-external-library-path' option
+    //
+
+    private final List<String> swfExternalLibraryPath = new 
ArrayList<String>();
+
+    public List<String> getCompilerSwfExternalLibraryPath()
+    {
+        return swfExternalLibraryPath;
+    }
+
+    @Config(allowMultiple = true, isPath = true)
+    @Mapping({ "compiler", "swf-external-library-path" })
+    @Arguments(Arguments.PATH_ELEMENT)
+    @SoftPrerequisites({ "target-player", "exclude-native-js-libraries" })
+    @InfiniteArguments
+    public void setCompilerSwfExternalLibraryPath(ConfigurationValue cv, 
String[] pathlist) throws ConfigurationException
+    {
+        pathlist = removeNativeJSLibrariesIfNeeded(pathlist);
+
+        final ImmutableList<String> pathElements = 
ImmutableList.copyOf(pathlist);
+        final ImmutableList<String> resolvedPaths = expandTokens(pathElements, 
locales, cv,
+                !reportMissingCompilerLibraries);
+        swfExternalLibraryPath.addAll(resolvedPaths);
+
+        // TODO: Review usages of "compilingForAIR", because only looking at 
path elements
+        // on library path isn't enough. There might be a folder on the 
library path that
+        // contains AIR libraries.
+        compilingForAIR = containsAIRLibraries(pathElements);
+    }
+    
+    //
     // 'compiler.generated-directory' option
     // This can only be configured using getter and setter.
     //
@@ -2261,6 +2292,47 @@ public class Configuration
     }
 
     //
+    // 'compiler.swf-library-path' option
+    //
+
+    private final List<String> swfLibraryPath = new ArrayList<String>();
+    protected boolean reportMissingCompilerSwfLibraries = true;
+
+    /**
+     * Sets whether to report missing libraries in the configuration. If this 
is false any missing libraries will not be
+     * warned about, and the filename will also be added to list of libraries 
in the project when it doesn't exist. If
+     * reportMissingCompilerLibraries is true, any missing libraries will not 
be added to the project.
+     * 
+     * @param reportMissingCompilerLibraries true to report missing libraries
+     */
+    public void setReportMissingCompilerSwfLibraries(boolean 
reportMissingCompilerLibraries)
+    {
+        this.reportMissingCompilerLibraries = reportMissingCompilerLibraries;
+    }
+
+    public List<String> getCompilerSwfLibraryPath()
+    {
+        return swfLibraryPath;
+    }
+
+    /**
+     * Links SWC files to the resulting application SWF file. The compiler 
only links in those classes for the SWC file
+     * that are required. You can specify a directory or individual SWC files.
+     */
+    @Config(allowMultiple = true, isPath = true)
+    @Mapping({ "compiler", "swf-library-path" })
+    @Arguments(Arguments.PATH_ELEMENT)
+    @InfiniteArguments
+    @SoftPrerequisites({ "locale", "target-player", 
"exclude-native-js-libraries" })
+    public void setCompilerSwfLibraryPath(ConfigurationValue cv, String[] 
pathlist) throws CannotOpen
+    {
+        pathlist = removeNativeJSLibrariesIfNeeded(pathlist);
+        final ImmutableList<String> resolvedPaths = 
expandTokens(Arrays.asList(pathlist), locales, cv,
+                !reportMissingCompilerLibraries);
+        swfLibraryPath.addAll(resolvedPaths);
+    }
+
+    //
     // 'compiler.locale' option
     //
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/78bc6c04/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
----------------------------------------------------------------------
diff --git 
a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
 
b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
index 7a29c35..c2d58c4 100644
--- 
a/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
+++ 
b/compiler/src/main/java/org/apache/flex/compiler/internal/projects/FlexProject.java
@@ -2339,6 +2339,9 @@ public class FlexProject extends ASProject implements 
IFlexProject
      */
     public List<String> getCompilerExternalLibraryPath(Configuration config)
     {
+       List<String> list = config.getCompilerSwfExternalLibraryPath();
+       if (list != null && list.size() > 0)
+               return list;
        return config.getCompilerExternalLibraryPath();
     }
 
@@ -2347,6 +2350,9 @@ public class FlexProject extends ASProject implements 
IFlexProject
      */
     public List<String> getCompilerLibraryPath(Configuration config)
     {
+       List<String> list = config.getCompilerSwfLibraryPath();
+       if (list != null && list.size() > 0)
+               return list;
        return config.getCompilerLibraryPath();
     }
 

Reply via email to