You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bu...@apache.org on 2001/09/06 14:17:53 UTC

[DO NOT REPLY: Bug 3457] New: Task Depend throws NullPointerException

PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3457

*** shadow/3457	Thu Sep  6 05:17:52 2001
--- shadow/3457.tmp.21331	Thu Sep  6 05:17:52 2001
***************
*** 0 ****
--- 1,80 ----
+ +============================================================================+
+ | Task Depend throws NullPointerException                                    |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 3457                        Product: Ant                     |
+ |       Status: NEW                         Version: 1.4                     |
+ |   Resolution:                            Platform: PC                      |
+ |     Severity: Critical                 OS/Version: Windows NT/2K           |
+ |     Priority: Other                     Component: Optional Tasks          |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: ant-dev@jakarta.apache.org                                   |
+ |  Reported By: chs@logas.de                                                 |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ The call of "<depend srcdir="${src}" destdir="${build}" closure="yes"/>"
+ (variables are correctly filled) results in the following exception:
+ 
+ Build.xml:128: java.lang.NullPointerException
+ 	at org.apache.tools.ant.taskdefs.optional.depend.Depend.execute
+ (Depend.java:534)
+ 	at org.apache.tools.ant.Task.perform(Task.java:217)
+ 	at org.apache.tools.ant.Target.execute(Target.java:164)
+ 	at org.apache.tools.ant.Target.performTasks(Target.java:182)
+ 	at org.apache.tools.ant.Project.executeTarget(Project.java:601)
+ 	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:256)
+ 	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:120)
+ 	at org.apache.tools.ant.Task.perform(Task.java:217)
+ 	at org.apache.tools.ant.Target.execute(Target.java:164)
+ 	at org.apache.tools.ant.Target.performTasks(Target.java:182)
+ 	at org.apache.tools.ant.Project.executeTarget(Project.java:601)
+ 	at org.apache.tools.ant.Project.executeTargets(Project.java:560)
+ 	at org.apache.tools.ant.Main.runBuild(Main.java:454)
+ 	at org.apache.tools.ant.Main.start(Main.java:153)
+ 	at org.apache.tools.ant.Main.main(Main.java:176)
+ --- Nested Exception ---
+ java.lang.NullPointerException
+ 	at 
+ org.apache.tools.ant.taskdefs.optional.depend.Depend.determineDependencies
+ (Depend.java:299)
+ 	at org.apache.tools.ant.taskdefs.optional.depend.Depend.execute
+ (Depend.java:464)
+ 	at org.apache.tools.ant.Task.perform(Task.java:217)
+ 	at org.apache.tools.ant.Target.execute(Target.java:164)
+ 	at org.apache.tools.ant.Target.performTasks(Target.java:182)
+ 	at org.apache.tools.ant.Project.executeTarget(Project.java:601)
+ 	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:256)
+ 	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:120)
+ 	at org.apache.tools.ant.Task.perform(Task.java:217)
+ 	at org.apache.tools.ant.Target.execute(Target.java:164)
+ 	at org.apache.tools.ant.Target.performTasks(Target.java:182)
+ 	at org.apache.tools.ant.Project.executeTarget(Project.java:601)
+ 	at org.apache.tools.ant.Project.executeTargets(Project.java:560)
+ 	at org.apache.tools.ant.Main.runBuild(Main.java:454)
+ 	at org.apache.tools.ant.Main.start(Main.java:153)
+ 	at org.apache.tools.ant.Main.main(Main.java:176)
+ 
+ I solved the problem the following way, maybe there is a better one:
+ 
+ (from row 288)
+             if (dependencyList == null) {
+                 /***************INSERTED***********************/
+                 dependencyMap = new Hashtable();
+                 /***************END****************************/
+ 
+                 // not cached - so need to read directly from the class file
+                 FileInputStream inFileStream = null;
+                 try {
+                     inFileStream = new FileInputStream(info.absoluteFile);
+                     ClassFile classFile = new ClassFile();
+                     classFile.read(inFileStream);
+                     
+                     dependencyList = classFile.getClassRefs();
+                     if (dependencyList != null) {
+                         cacheDirty = true;
+                         dependencyMap.put(info.className, dependencyList);
+                     }
+                     
+                 }