This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git


The following commit(s) were added to refs/heads/develop by this push:
     new aab19a624 compiler-jx: fix exception when 
projectConfigurator.getTargetSettings() returns null
aab19a624 is described below

commit aab19a624d46085475dcbd3f9a8b9f534985e1bc
Author: Josh Tynjala <[email protected]>
AuthorDate: Tue Jun 11 14:05:30 2024 -0700

    compiler-jx: fix exception when projectConfigurator.getTargetSettings() 
returns null
    
    Also ensures that configuration problems are reported in this case
---
 .../main/java/org/apache/royale/compiler/clients/MXMLJSC.java  | 10 ++++++++++
 .../java/org/apache/royale/compiler/clients/MXMLJSCNative.java | 10 ++++++++++
 .../java/org/apache/royale/compiler/clients/MXMLJSCNode.java   | 10 ++++++++++
 .../java/org/apache/royale/compiler/clients/MXMLJSCRoyale.java | 10 ++++++++++
 .../apache/royale/compiler/clients/MXMLJSCRoyaleCordova.java   | 10 ++++++++++
 5 files changed, 50 insertions(+)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSC.java 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSC.java
index 7934e5850..18931a466 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSC.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSC.java
@@ -505,7 +505,17 @@ public class MXMLJSC implements JSCompilerEntryPoint, 
ProblemQueryProvider,
 
         ITargetSettings settings = getTargetSettings();
         if (settings != null)
+        {
             project.setTargetSettings(settings);
+        }
+        else
+        {
+            // if getTargetSettings() returned null, then there will definitely
+            // be new config problems that weren't there after applyToProject()
+            // succeeded
+            problems.addAll(projectConfigurator.getConfigurationProblems());
+            return false;
+        }
 
         target = project.getBackend().createTarget(project,
                 getTargetSettings(), null);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNative.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNative.java
index 8e1cc6628..c8b799631 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNative.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNative.java
@@ -685,7 +685,17 @@ public class MXMLJSCNative implements 
JSCompilerEntryPoint, ProblemQueryProvider
 
         ITargetSettings settings = getTargetSettings();
         if (settings != null)
+        {
             project.setTargetSettings(settings);
+        }
+        else
+        {
+            // if getTargetSettings() returned null, then there will definitely
+            // be new config problems that weren't there after applyToProject()
+            // succeeded
+            problems.addAll(projectConfigurator.getConfigurationProblems());
+            return false;
+        }
 
         target = project.getBackend().createTarget(project,
                 getTargetSettings(), null);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNode.java 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNode.java
index 417ae4bd4..e801a8ee6 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNode.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCNode.java
@@ -688,7 +688,17 @@ public class MXMLJSCNode implements JSCompilerEntryPoint, 
ProblemQueryProvider,
 
         ITargetSettings settings = getTargetSettings();
         if (settings != null)
+        {
             project.setTargetSettings(settings);
+        }
+        else
+        {
+            // if getTargetSettings() returned null, then there will definitely
+            // be new config problems that weren't there after applyToProject()
+            // succeeded
+            problems.addAll(projectConfigurator.getConfigurationProblems());
+            return false;
+        }
 
         target = project.getBackend().createTarget(project,
                 getTargetSettings(), null);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyale.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyale.java
index a9de155f4..cfb428077 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyale.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyale.java
@@ -1122,7 +1122,17 @@ public class MXMLJSCRoyale implements 
JSCompilerEntryPoint, ProblemQueryProvider
 
         ITargetSettings settings = getTargetSettings();
         if (settings != null)
+        {
             project.setTargetSettings(settings);
+        }
+        else
+        {
+            // if getTargetSettings() returned null, then there will definitely
+            // be new config problems that weren't there after applyToProject()
+            // succeeded
+            problems.addAll(projectConfigurator.getConfigurationProblems());
+            return false;
+        }
 
         target = project.getBackend().createTarget(project,
                 getTargetSettings(), null);
diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyaleCordova.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyaleCordova.java
index f6075ee16..1e94890b6 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyaleCordova.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/clients/MXMLJSCRoyaleCordova.java
@@ -688,7 +688,17 @@ public class MXMLJSCRoyaleCordova implements 
JSCompilerEntryPoint, ProblemQueryP
 
         ITargetSettings settings = getTargetSettings();
         if (settings != null)
+        {
             project.setTargetSettings(settings);
+        }
+        else
+        {
+            // if getTargetSettings() returned null, then there will definitely
+            // be new config problems that weren't there after applyToProject()
+            // succeeded
+            problems.addAll(projectConfigurator.getConfigurationProblems());
+            return false;
+        }
 
         target = project.getBackend().createTarget(project,
                 getTargetSettings(), null);

Reply via email to