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