Repository: ant-ivy Updated Branches: refs/heads/master f463013f3 -> 7217b9d27
Fix NullPointerException in dependencytree with no dependencies (IVY-1539) Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/7217b9d2 Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/7217b9d2 Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/7217b9d2 Branch: refs/heads/master Commit: 7217b9d270e31fe1e68803c8e25b0a03869f1556 Parents: f463013 Author: Maarten Coene <maart...@apache.org> Authored: Wed Nov 9 01:48:48 2016 +0100 Committer: Maarten Coene <maart...@apache.org> Committed: Wed Nov 9 01:48:48 2016 +0100 ---------------------------------------------------------------------- doc/release-notes.html | 1 + .../org/apache/ivy/ant/IvyDependencyTree.java | 5 +++- .../apache/ivy/ant/IvyDependencyTreeTest.java | 7 ++++++ test/java/org/apache/ivy/ant/ivy-empty.xml | 26 ++++++++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/7217b9d2/doc/release-notes.html ---------------------------------------------------------------------- diff --git a/doc/release-notes.html b/doc/release-notes.html index 265edba..bb8d3e8 100644 --- a/doc/release-notes.html +++ b/doc/release-notes.html @@ -58,6 +58,7 @@ http://issues.apache.org/jira/browse/ivy List of changes since Ivy 2.4.0: +- FIX: NullPointerException in dependencytree with no dependencies (IVY-1539) - FIX: checkIfChanged is not settable attribute for checkdepsupdate ant task (IVY-1549) - FIX: ArrayIndexOutOfBoundsException when using a p2 repository for dependencies (IVY-1504) - FIX: fixdeps remove transitive 'kept' dependencies http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/7217b9d2/src/java/org/apache/ivy/ant/IvyDependencyTree.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/ivy/ant/IvyDependencyTree.java b/src/java/org/apache/ivy/ant/IvyDependencyTree.java index f7c9fee..bb7c279 100644 --- a/src/java/org/apache/ivy/ant/IvyDependencyTree.java +++ b/src/java/org/apache/ivy/ant/IvyDependencyTree.java @@ -49,7 +49,10 @@ public class IvyDependencyTree extends IvyPostResolveTask { IvyNode dependency = (IvyNode) iterator.next(); populateDependencyTree(dependency, mrid, report); } - printDependencies((List) dependencies.get(mrid), 0); + List dependencyList = (List) dependencies.get(mrid); + if (dependencyList != null) { + printDependencies(dependencyList, 0); + } } private void printDependencies(List/* <IvyNode> */dependencyList, int indent) { http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/7217b9d2/test/java/org/apache/ivy/ant/IvyDependencyTreeTest.java ---------------------------------------------------------------------- diff --git a/test/java/org/apache/ivy/ant/IvyDependencyTreeTest.java b/test/java/org/apache/ivy/ant/IvyDependencyTreeTest.java index 0e85b2b..adfe37c 100644 --- a/test/java/org/apache/ivy/ant/IvyDependencyTreeTest.java +++ b/test/java/org/apache/ivy/ant/IvyDependencyTreeTest.java @@ -51,6 +51,13 @@ public class IvyDependencyTreeTest extends AntTaskTestCase { assertLogContaining("\\- org1#mod1.2;2.0"); } + public void testEmpty() throws Exception { + dependencyTree.setFile(new File("test/java/org/apache/ivy/ant/ivy-empty.xml")); + dependencyTree.execute(); + assertLogContaining("Dependency tree for apache-resolve-empty"); + assertLogNotContaining("\\-"); + } + public void testWithResolveId() throws Exception { IvyResolve resolve = new IvyResolve(); resolve.setProject(project); http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/7217b9d2/test/java/org/apache/ivy/ant/ivy-empty.xml ---------------------------------------------------------------------- diff --git a/test/java/org/apache/ivy/ant/ivy-empty.xml b/test/java/org/apache/ivy/ant/ivy-empty.xml new file mode 100644 index 0000000..48c8759 --- /dev/null +++ b/test/java/org/apache/ivy/ant/ivy-empty.xml @@ -0,0 +1,26 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<ivy-module version="1.0"> + <info organisation="apache" + module="resolve-empty" + revision="1.0" + status="release" + /> + <dependencies /> +</ivy-module>