don't put external library dependencies in the requires
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/faec4e06 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/faec4e06 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/faec4e06 Branch: refs/heads/master Commit: faec4e06a1390d709e5255826f2f4ba1a1e0769a Parents: 8511fac Author: Alex Harui <[email protected]> Authored: Wed May 3 21:45:38 2017 -0700 Committer: Alex Harui <[email protected]> Committed: Wed May 3 21:45:38 2017 -0700 ---------------------------------------------------------------------- .../internal/codegen/js/flexjs/JSFlexJSEmitter.java | 13 ++++++++++++- .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/faec4e06/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java index 897408f..2d7b257 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java @@ -101,6 +101,7 @@ import org.apache.flex.compiler.tree.as.ISetterNode; import org.apache.flex.compiler.tree.as.ITypedExpressionNode; import org.apache.flex.compiler.tree.as.IUnaryOperatorNode; import org.apache.flex.compiler.tree.as.IVariableNode; +import org.apache.flex.compiler.units.ICompilationUnit; import org.apache.flex.compiler.utils.ASNodeUtils; import com.google.common.base.Joiner; @@ -551,7 +552,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter if (!staticUsedNames.contains(name) && !NativeUtils.isJSNative(name)) staticUsedNames.add(name); - if (!usedNames.contains(name)) + if (!usedNames.contains(name) && !isExternal(name)) usedNames.add(name); } return name; @@ -1286,4 +1287,14 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter { write(JSFlexJSEmitterTokens.VECTOR); } + + boolean isExternal(String className) + { + ICompilerProject project = getWalker().getProject(); + ICompilationUnit cu = project.resolveQNameToCompilationUnit(className); + if (cu == null) return false; // unit testing + + return ((FlexJSProject)project).isExternalLinkage(cu); + } + } http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/faec4e06/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java index 573e0ff..0fbf7ac 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java @@ -278,6 +278,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements boolean firstOne = true; for (String mixin : mixins) { + if (isExternal(mixin)) + continue; if (!firstOne) mixinInject += ", "; mixinInject += mixin; @@ -2695,7 +2697,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements if (subDocumentNames.contains(name)) return documentDefinition.getQualifiedName() + "." + name; if (NativeUtils.isJSNative(name)) return name; - if (useName && !usedNames.contains(name)) + if (useName && !usedNames.contains(name) && !isExternal(name)) usedNames.add(name); return name; } @@ -2791,4 +2793,13 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements interfaceList = list.toString(); } + boolean isExternal(String className) + { + ICompilerProject project = getMXMLWalker().getProject(); + ICompilationUnit cu = project.resolveQNameToCompilationUnit(className); + if (cu == null) return false; // unit testing + + return ((FlexJSProject)project).isExternalLinkage(cu); + } + }
