Updated Branches:
  refs/heads/develop 8966eda94 -> b5a06269f

guarantee that target-player gets processed before library-path otherwise wrong 
player gets checked


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

Branch: refs/heads/develop
Commit: b5a06269f51aa1843cc6da79dd3a6eb0f4848345
Parents: 8966eda
Author: Alex Harui <aha...@apache.org>
Authored: Wed Jan 22 16:42:40 2014 +0000
Committer: Alex Harui <aha...@apache.org>
Committed: Wed Jan 22 16:42:40 2014 +0000

----------------------------------------------------------------------
 .../compiler/config/ConfigurationBuffer.java    | 23 ++++++++++++++++++++
 1 file changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b5a06269/compiler/src/org/apache/flex/compiler/config/ConfigurationBuffer.java
----------------------------------------------------------------------
diff --git 
a/compiler/src/org/apache/flex/compiler/config/ConfigurationBuffer.java 
b/compiler/src/org/apache/flex/compiler/config/ConfigurationBuffer.java
index b6484fd..f76bf17 100644
--- a/compiler/src/org/apache/flex/compiler/config/ConfigurationBuffer.java
+++ b/compiler/src/org/apache/flex/compiler/config/ConfigurationBuffer.java
@@ -102,6 +102,8 @@ import com.google.common.collect.ImmutableList;
  */
 public final class ConfigurationBuffer
 {
+    private static final String TARGET_PLAYER = "target-player";
+    
     public ConfigurationBuffer(Class<? extends Configuration> configClass)
     {
         this(configClass, new HashMap<String, String>());
@@ -714,6 +716,27 @@ public final class ConfigurationBuffer
         Set<String> done = new HashSet<String>();
         boolean success = true;
         
+        // get target-player first because its setting affect expansion of some
+        // tokens later.  The varList is populated by getMethods() which 
returns
+        // the methods in random order and can result in compiler.library-path 
being
+        // evaluated before target-player and then we end up looking up the 
wrong
+        // version of playerglobal.
+        if (varList.contains(TARGET_PLAYER))
+        {
+            varList.remove(TARGET_PLAYER);
+            if (varMap.containsKey(TARGET_PLAYER))
+            {
+                try
+                {
+                    commitVariable(config, TARGET_PLAYER, done);
+                }
+                catch (ConfigurationException e)
+                {
+                    problems.add(new ConfigurationProblem(e));
+                    success = false;
+                }
+            }            
+        }
         for (Iterator<String> vars = varList.iterator(); vars.hasNext();)
         {
             String var = vars.next();

Reply via email to