Hello, We have Jenkins (formerly Hudson) set up for our continuous build system, and I would like to use the Ivy plugin for it. Right now we have half a dozen modules, each in their own directory with their own Ivy-managed dependencies. We have freestyle projects set up that build fine with our Ant build.xml files, but when I try to use the Jenkins Ivy plugin, I get an exception.
Parsing Ivy Descriptor Files Parsing error while reading the ivy file /home/thudson/.hudson/workspace/Sandbox-HTTPConversion/AuthServer/ivy.xml Parsing error while reading the ivy file /home/thudson/.hudson/workspace/Sandbox-HTTPConversion/CASRegistrationServer/ivy.xml Parsing error while reading the ivy file /home/thudson/.hudson/workspace/Sandbox-HTTPConversion/CarrierInterfaceServer/ivy.xml Parsing error while reading the ivy file /home/thudson/.hudson/workspace/Sandbox-HTTPConversion/ContentProxy/ivy.xml Parsing error while reading the ivy file /home/thudson/.hudson/workspace/Sandbox-HTTPConversion/DataLayer/ivy.xml Parsing error while reading the ivy file /home/thudson/.hudson/workspace/Sandbox-HTTPConversion/EcidCommon/ivy.xml ERROR: Failed to parse ivy.xml files java.io.IOException<http://stacktrace.hudson-labs.org/search?query=java.io.IOException>: Unable to parse ivy descriptors at hudson.ivy.IvyModuleSetBuild$RunnerImpl.parseIvyDescriptorFiles(IvyModuleSetBuild.java:530)<http://stacktrace.hudson-labs.org/search/?query=hudson.ivy.IvyModuleSetBuild$RunnerImpl.parseIvyDescriptorFiles&entity=method> at hudson.ivy.IvyModuleSetBuild$RunnerImpl.doRun(IvyModuleSetBuild.java:366)<http://stacktrace.hudson-labs.org/search/?query=hudson.ivy.IvyModuleSetBuild$RunnerImpl.doRun&entity=method> at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:420)<http://stacktrace.hudson-labs.org/search/?query=hudson.model.AbstractBuild$AbstractRunner.run&entity=method> at hudson.model.Run.run(Run.java:1362)<http://stacktrace.hudson-labs.org/search/?query=hudson.model.Run.run&entity=method> at hudson.ivy.IvyModuleSetBuild.run(IvyModuleSetBuild.java:282)<http://stacktrace.hudson-labs.org/search/?query=hudson.ivy.IvyModuleSetBuild.run&entity=method> at hudson.model.ResourceController.execute(ResourceController.java:88)<http://stacktrace.hudson-labs.org/search/?query=hudson.model.ResourceController.execute&entity=method> at hudson.model.Executor.run(Executor.java:145)<http://stacktrace.hudson-labs.org/search/?query=hudson.model.Executor.run&entity=method> Caused by: java.lang.NullPointerException<http://stacktrace.hudson-labs.org/search?query=java.lang.NullPointerException> at org.apache.ivy.core.sort.CollectionOfModulesToSort.addToModulesByModuleId(CollectionOfModulesToSort.java:71)<http://stacktrace.hudson-labs.org/search/?query=org.apache.ivy.core.sort.CollectionOfModulesToSort.addToModulesByModuleId&entity=method> at org.apache.ivy.core.sort.CollectionOfModulesToSort.<init>(CollectionOfModulesToSort.java:66)<http://stacktrace.hudson-labs.org/search/?query=org.apache.ivy.core.sort.CollectionOfModulesToSort.%3Cinit%3E&entity=method> at org.apache.ivy.core.sort.ModuleDescriptorSorter.<init>(ModuleDescriptorSorter.java:51)<http://stacktrace.hudson-labs.org/search/?query=org.apache.ivy.core.sort.ModuleDescriptorSorter.%3Cinit%3E&entity=method> at org.apache.ivy.core.sort.SortEngine.sortModuleDescriptors(SortEngine.java:99)<http://stacktrace.hudson-labs.org/search/?query=org.apache.ivy.core.sort.SortEngine.sortModuleDescriptors&entity=method> at org.apache.ivy.Ivy.sortModuleDescriptors(Ivy.java:639)<http://stacktrace.hudson-labs.org/search/?query=org.apache.ivy.Ivy.sortModuleDescriptors&entity=method> at hudson.ivy.IvyModuleSetBuild$IvyXmlParser.call(IvyModuleSetBuild.java:803)<http://stacktrace.hudson-labs.org/search/?query=hudson.ivy.IvyModuleSetBuild$IvyXmlParser.call&entity=method> at hudson.ivy.IvyModuleSetBuild$IvyXmlParser.call(IvyModuleSetBuild.java:742)<http://stacktrace.hudson-labs.org/search/?query=hudson.ivy.IvyModuleSetBuild$IvyXmlParser.call&entity=method> at hudson.remoting.UserRequest.perform(UserRequest.java:114)<http://stacktrace.hudson-labs.org/search/?query=hudson.remoting.UserRequest.perform&entity=method> at hudson.remoting.UserRequest.perform(UserRequest.java:48)<http://stacktrace.hudson-labs.org/search/?query=hudson.remoting.UserRequest.perform&entity=method> at hudson.remoting.Request$2.run(Request.java:270)<http://stacktrace.hudson-labs.org/search/?query=hudson.remoting.Request$2.run&entity=method> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)<http://stacktrace.hudson-labs.org/search/?query=java.util.concurrent.Executors$RunnableAdapter.call&entity=method> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)<http://stacktrace.hudson-labs.org/search/?query=java.util.concurrent.FutureTask$Sync.innerRun&entity=method> at java.util.concurrent.FutureTask.run(FutureTask.java:123)<http://stacktrace.hudson-labs.org/search/?query=java.util.concurrent.FutureTask.run&entity=method> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)<http://stacktrace.hudson-labs.org/search/?query=java.util.concurrent.ThreadPoolExecutor$Worker.runTask&entity=method> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)<http://stacktrace.hudson-labs.org/search/?query=java.util.concurrent.ThreadPoolExecutor$Worker.run&entity=method> at java.lang.Thread.run(Thread.java:595)<http://stacktrace.hudson-labs.org/search/?query=java.lang.Thread.run&entity=method> Finished: FAILURE Is this a bug in Jenkins/Hudson, a bug in Ivy, or simply a matter of our ivy.xml files not having required information in them? For reference, our ivy.xml files look like this: <?xml version="1.0" encoding="UTF-8"?> <ivy-module version="2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" xmlns:e="http://ant.apache.org/ivy/extra"> <info organisation="com.cequint" module="Foo" branch="platform" status="integration"> <ivyauthor name="Cequint" url="http://www.cequint.com/"/> </info> <configurations> <conf name="compile" transitive="false" visibility="private" description="Compiles the source into class files."/> <conf name="runtime" extends="compile" transitive="true" description="For running systems that depend on this library."/> <conf name="build" extends="runtime" description="For use in an IDE, includes source and JavaDoc."/> <conf name="test" extends="runtime" visibility="private" description="Build the unit tests."/> </configurations> <publications> <artifact type="jar" ext="jar"> <conf name="compile"/> </artifact> <artifact type="javadoc" ext="jar" e:classifier="javadoc"> <conf name="build"/> </artifact> <artifact type="source" ext="jar" e:classifier="sources"> <conf name="build"/> </artifact> </publications> <dependencies> <dependency org="log4j" name="log4j" rev="1.2.16"/> <dependency org="org.apache.httpcomponents" name="httpcore" rev="4.1" /> <dependency org="org.apache.httpcomponents" name="httpclient" rev="4.1" /> <dependency org="javax.servlet" name="servlet-api" rev="2.5"/> <dependency org="junit" name="junit" rev="4.8.2" conf="test->default"/> </dependencies> </ivy-module> This is straight out of our source repository, which is why the revision is not specified. All the Ivy files look like this, only some of them specify internal dependencies such as: <dependency name="Foo" rev="latest.integration" conf="build->build; *->runtime"/> I appreciate any insight that anybody can offer. It seems likely I simply have not configured everything properly, but so far nothing I have found online has given me a clue what could be the problem. -thank you, Kent Rosenkoetter | SW Engineering – Server Cequint Incorporated 1011 Western Avenue | Suite 800 Seattle | WA | 98104 p: 206.576.7258 f: 206.299.9127 www.cequint.com<http://www.cequint.com/> Confidential Information – this email and any and all attachments to it are Cequint's confidential information and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized disclosure or forwarding of this email or any files transmitted with it constitutes a breach of your confidentiality obligations to Cequint. If you have received this email in error, please notify the sender, delete this email from your system and do not disseminate, distribute or copy this email or the files attached to it. Please treat all documents shared from Cequint as confidential.