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();
 

Reply via email to