You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2018/09/10 17:37:11 UTC

[royale-compiler] branch develop updated: GoogDepsWriter: prevent NullReferenceException caused by missing dependency, and add a compiler problem instead

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 0b28687  GoogDepsWriter: prevent NullReferenceException caused by missing dependency, and add a compiler problem instead
0b28687 is described below

commit 0b28687e40304eaba3185331a170225c16307b2e
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Mon Sep 10 10:37:03 2018 -0700

    GoogDepsWriter: prevent NullReferenceException caused by missing dependency, and add a compiler problem instead
---
 compiler-jx/.classpath                             | 55 ++++++++++++++++++++--
 compiler-jx/.project                               | 10 ++--
 .../compiler/internal/graph/GoogDepsWriter.java    |  7 +++
 3 files changed, 64 insertions(+), 8 deletions(-)

diff --git a/compiler-jx/.classpath b/compiler-jx/.classpath
index 31d0100..a66643a 100644
--- a/compiler-jx/.classpath
+++ b/compiler-jx/.classpath
@@ -1,9 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry kind="src" path="src/main/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry combineaccessrules="false" kind="src" path="/compiler"/>
 	<classpathentry kind="lib" path="lib/google/closure-compiler/compiler.jar"/>
 	<classpathentry kind="lib" path="lib/commons-io.jar"/>
@@ -17,5 +36,33 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/compiler-common"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/compiler-externc"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/compiler-test-utils"/>
+	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="target/generated-sources/annotations">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="ignore_optional_problems" value="true"/>
+			<attribute name="m2e-apt" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="ignore_optional_problems" value="true"/>
+			<attribute name="m2e-apt" value="true"/>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/compiler-jx/.project b/compiler-jx/.project
index ce368b3..e0b0be8 100644
--- a/compiler-jx/.project
+++ b/compiler-jx/.project
@@ -10,12 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
-	<linkedResources>
-	</linkedResources>
-	<variableList>
-	</variableList>
 </projectDescription>
diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
index 23d6568..950e46b 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/graph/GoogDepsWriter.java
@@ -211,6 +211,13 @@ public class GoogDepsWriter {
 			for (String dep : restOfDeps)
 			{
 				GoogDep gd = depMap.get(dep);
+				if (gd == null)
+				{
+					//added this to prevent a NullPointerException when the
+					//GoogDep is null. -JT
+					problems.add(new FileNotFoundProblem(dep));
+					continue;
+				}
 				sb.append("goog.addDependency('").append(relativePath(gd.filePath)).append("', ['")
 				.append(gd.className).append("'], [")
 				.append((gd.fileInfo.impls != null) ? getDependencies(gd.fileInfo.impls) : "")