You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ft...@apache.org on 2015/09/01 22:19:31 UTC
[3/6] git commit: [flex-falcon] [refs/heads/JsToAs] - Added
--exclude-native-js-libraries
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e96ef0b7/compiler/src/org/apache/flex/compiler/config/Configurator.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/config/Configurator.java b/compiler/src/org/apache/flex/compiler/config/Configurator.java
index 30543e7..55d23ff 100644
--- a/compiler/src/org/apache/flex/compiler/config/Configurator.java
+++ b/compiler/src/org/apache/flex/compiler/config/Configurator.java
@@ -20,17 +20,7 @@
package org.apache.flex.compiler.config;
import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
+import java.util.*;
import org.apache.flex.compiler.clients.MXMLC;
import org.apache.flex.compiler.common.IPathResolver;
@@ -906,7 +896,7 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
*
* @return true if successful, false otherwise.
*/
- protected boolean processConfiguration(String[] argsArray)
+ protected boolean processConfiguration(String[] argsArray)
{
initializeConfiguration();
@@ -1956,12 +1946,34 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
@Override
public void setExternalLibraryPath(Collection<File> paths)
{
+ removeNativeJSLibrariesIfNeeded(paths);
+
args.put(COMPILER_EXTERNAL_LIBRARY_PATH, paths);
more.remove(COMPILER_EXTERNAL_LIBRARY_PATH);
isConfigurationDirty = true;
}
+ private void removeNativeJSLibrariesIfNeeded(Collection<File> paths) {
+ Iterator<File> fileIterator = paths.iterator();
+
+ while (fileIterator.hasNext()) {
+ final File file = fileIterator.next();
+ final boolean isNativeJS = file.getAbsolutePath().contains("js/libs");
+ boolean excludeNativeJS = false;
+
+ try {
+ excludeNativeJS = cfgbuf.peekSimpleConfigurationVar("exclude-native-js-libraries").equals(Boolean.TRUE.toString());
+ } catch (ConfigurationException e) {
+ e.printStackTrace();
+ }
+
+ if (isNativeJS && excludeNativeJS) {
+ fileIterator.remove();
+ }
+ }
+ }
+
/**
* Adds to the existing list of SWC files.
*
@@ -1971,6 +1983,8 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
@Override
public void addExternalLibraryPath(Collection<File> paths)
{
+ removeNativeJSLibrariesIfNeeded(paths);
+
addFiles(COMPILER_EXTERNAL_LIBRARY_PATH, paths);
isConfigurationDirty = true;
@@ -2151,6 +2165,8 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
@Override
public void setLibraryPath(Collection<File> paths)
{
+ removeNativeJSLibrariesIfNeeded(paths);
+
args.put(COMPILER_LIBRARY_PATH, paths);
more.remove(COMPILER_LIBRARY_PATH);
@@ -2165,6 +2181,8 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
*/
public void addLibraryPath(Collection<File> paths)
{
+ removeNativeJSLibrariesIfNeeded(paths);
+
addFiles(COMPILER_LIBRARY_PATH, paths);
isConfigurationDirty = true;
@@ -3424,6 +3442,12 @@ public class Configurator implements ICompilerSettings, IConfigurator, ICompiler
isConfigurationDirty = true;
}
+ @Override
+ public void setExcludeNativeJSLibraries(boolean value)
+ {
+ args.put(EXCLUDE_NATIVE_JS_LIBRARIES, value ? Boolean.TRUE : Boolean.TRUE);
+ }
+
//
// End of Configuration settings.
//
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e96ef0b7/compiler/src/org/apache/flex/compiler/config/ICompilerSettingsConstants.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/config/ICompilerSettingsConstants.java b/compiler/src/org/apache/flex/compiler/config/ICompilerSettingsConstants.java
index 92c4168..c9fe803 100644
--- a/compiler/src/org/apache/flex/compiler/config/ICompilerSettingsConstants.java
+++ b/compiler/src/org/apache/flex/compiler/config/ICompilerSettingsConstants.java
@@ -141,7 +141,8 @@ public interface ICompilerSettingsConstants
static final String INCLUDE_NAMESPACES = "--include-namespaces";
static final String INCLUDE_SOURCES = "--include-sources";
static final String INCLUDE_STYLESHEET = "--include-stylesheet";
-
+ static final String EXCLUDE_NATIVE_JS_LIBRARIES = "--exclude-native-js-libraries";
+
// Setting options without the "--" separator.
// These are used to set and get vars from the ConfigurationBuffer.
static final String DUMP_CONFIG_VAR = "dump-config";
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e96ef0b7/compiler/src/org/apache/flex/compiler/internal/config/IWriteOnlyProjectSettings.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/config/IWriteOnlyProjectSettings.java b/compiler/src/org/apache/flex/compiler/internal/config/IWriteOnlyProjectSettings.java
index a5319fc..9a9d7f6 100644
--- a/compiler/src/org/apache/flex/compiler/internal/config/IWriteOnlyProjectSettings.java
+++ b/compiler/src/org/apache/flex/compiler/internal/config/IWriteOnlyProjectSettings.java
@@ -133,4 +133,12 @@ public interface IWriteOnlyProjectSettings
* @param value true to turn on Flex behaviors, false otherwise.
*/
void setFlex(boolean value);
+
+ /**
+ * Option to remove the Native JS libraries from external-library-path
+ * and library-path as they shouldn't be any when compiling SWFs / SWCs.
+ *
+ * @param value true to turn on the behaviors, false otherwise.
+ */
+ void setExcludeNativeJSLibraries(boolean value);
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e96ef0b7/compiler/src/org/apache/flex/compiler/internal/projects/FlexProject.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/projects/FlexProject.java b/compiler/src/org/apache/flex/compiler/internal/projects/FlexProject.java
index a6b5761..7e37de9 100644
--- a/compiler/src/org/apache/flex/compiler/internal/projects/FlexProject.java
+++ b/compiler/src/org/apache/flex/compiler/internal/projects/FlexProject.java
@@ -2072,4 +2072,9 @@ public class FlexProject extends ASProject implements IFlexProject
{
this.isFlex = value;
}
+
+ @Override
+ public void setExcludeNativeJSLibraries(final boolean value) {
+
+ }
}