This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch release_practice in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
commit e53d2c5585ad776bf1cb5b82f6f05119cbf2f295 Author: Alex Harui <[email protected]> AuthorDate: Mon May 13 11:31:14 2019 -0700 add -swf-debugfile-alias option so we can set the debugfile paths in the SWCs so they will match between build machines. It also has the advantage of removing any personally identifying paths in the builds like /users/aharui --- .../apache/royale/compiler/config/Configuration.java | 18 ++++++++++++++++++ .../compiler/internal/projects/RoyaleProject.java | 11 +++++++++++ .../internal/projects/RoyaleProjectConfigurator.java | 2 ++ .../compiler/internal/units/CompilationUnitBase.java | 7 +++++++ 4 files changed, 38 insertions(+) diff --git a/compiler-common/src/main/java/org/apache/royale/compiler/config/Configuration.java b/compiler-common/src/main/java/org/apache/royale/compiler/config/Configuration.java index 9b8d0de..7373ada 100644 --- a/compiler-common/src/main/java/org/apache/royale/compiler/config/Configuration.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/config/Configuration.java @@ -5572,6 +5572,24 @@ public class Configuration } // + // 'swf-debugfile-alias' option + // + + private String swfDebugfileAlias; + + public String getSwfDebugfileAlias() + { + return swfDebugfileAlias; + } + + @Config + @Arguments("filename") + public void setSwfDebugfileAlias(ConfigurationValue val, String output) throws ConfigurationException + { + this.swfDebugfileAlias = output; + } + + // // 'dump-config-file' option from ToolsConfiguration // diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProject.java b/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProject.java index c99f5bb..fe06103 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProject.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProject.java @@ -380,6 +380,7 @@ public class RoyaleProject extends ASProject implements IRoyaleProject, ICompile private String objectProxyClass; private String xmlWatcherClass; private Name xmlWatcherClassName; + private String swfDebugfileAlias; /** * The fully-qualified name of the runtime class @@ -2555,4 +2556,14 @@ public class RoyaleProject extends ASProject implements IRoyaleProject, ICompile return config.getLinkReport(); } + public String getSwfDebugfileAlias() + { + return swfDebugfileAlias; + } + + public void setSwfDebugfileAlias(String swfDebugfileAlias) + { + this.swfDebugfileAlias = swfDebugfileAlias; + } + } diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProjectConfigurator.java b/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProjectConfigurator.java index cb3a35b..2ad763a 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProjectConfigurator.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/projects/RoyaleProjectConfigurator.java @@ -266,6 +266,8 @@ public class RoyaleProjectConfigurator extends Configurator project.setAllowImportAliases(configuration.getCompilerAllowImportAliases()); project.setAllowAbstractClasses(configuration.getCompilerAllowAbstractClasses()); + project.setSwfDebugfileAlias(configuration.getSwfDebugfileAlias()); + DataTranscoder.embedClassName = configuration.getByteArrayEmbedClass(); } } diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java b/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java index 0da5cb2..01ca6ac 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/units/CompilationUnitBase.java @@ -58,6 +58,7 @@ import org.apache.royale.compiler.internal.projects.ASProject; import org.apache.royale.compiler.internal.projects.CompilerProject; import org.apache.royale.compiler.internal.projects.DefinitionPriority; import org.apache.royale.compiler.internal.projects.DependencyGraph; +import org.apache.royale.compiler.internal.projects.RoyaleProject; import org.apache.royale.compiler.internal.scopes.ASFileScope; import org.apache.royale.compiler.internal.scopes.ASProjectScope; import org.apache.royale.compiler.internal.scopes.ASProjectScope.DefinitionPromise; @@ -1168,6 +1169,12 @@ public abstract class CompilationUnitBase implements ICompilationUnit rootPath = getAbsoluteFilename().replace(File.separatorChar + filenameNoPath, ""); else rootPath = getAbsoluteFilename().replace(File.separatorChar + packagePath + File.separatorChar + filenameNoPath, ""); + if (asProject instanceof RoyaleProject) + { + String swfDebugfileAlias = ((RoyaleProject)asProject).getSwfDebugfileAlias(); + if (swfDebugfileAlias != null) + rootPath = swfDebugfileAlias; + } String encodedPath = rootPath + ';' + packagePath + ';' + getFilenameNoPath();
