Community
Participate
Working Groups
Build Identifier: 20100917-0705 My build script fails to build / generate the buildscript when it trips upon a binary cycle from transitive dependencies: Here i am generating a build script for a test plugin that depends on a ui plugin. that ui plugin is dependent on a help plugin that grabs in many transitive dependencies intoduced by org.eclipse.help.webapp. the build script fails on the Linux build machine because it sees a cycle in the transitive dependency of the help plugin (but runs fine on my Mac, and not seeing or failing b/c of cycles...) the log for the failed build looks like this: A cycle was detected when generating the classpath com.mycompany.testplugin_1.0.0.201103111930, com.mycompany.uiplugin_0.7.0.201103111926, com.mycompany.help.plugin_0.7.0.201103111926, org.eclipse.help.webapp_3.5.2.r36_r20100816, org.eclipse.help.base_3.5.2.v201009090800, org.eclipse.equinox.http.jetty_2.0.0.v20100503, org.mortbay.jetty.util_6.1.23.v201004211559, org.slf4j.api_1.5.11.v20100519-1910, ch.qos.logback.classic_0.9.19.v20100519-1505, ch.qos.logback.core_0.9.19.v20100419-1216, org.slf4j.api_1.5.11.v20100519-1910. as we can see there is indeed a cycle: org.slf4j.api_1.5.11.v20100519-1910, ch.qos.logback.classic_0.9.19.v20100519-1505, ch.qos.logback.core_0.9.19.v20100419-1216, org.slf4j.api_1.5.11.v20100519-1910. so: Feature request: it would be nice to have an attribute allowBinaryCycles implemented in the ant task "eclipse.buildScript" as i can't resolve circular dependencies among bundles that I transitively depending on... right now I am refactoring code so that cuts of dependency among the our ui and our help plugins, this way the cycle is left of the build. Reproducible: Always Steps to Reproduce: 1. write an ant target that uses the pde exposed ant task <eclipse.buildScript .... 2. make this taks to build a build script for a plugin that depends transitively on org.eclipse.help.webapp 3. there is a cycle in the binary, transitive dependency 3. running the script causes the build to fail.
There is an existing property "allowBinaryCycles". The <eclipse.buildScript/> task does not take it directly as an attribute, but the task does check the ant project to see if the property is defined. You should be able to do something like: <property name="allowBinaryCycles" value="true"/> <eclipse.buildScript ....../> Please reopen if this does not work for you.
Thanks Andrew, it works just as you said. Endre (In reply to comment #1) > There is an existing property "allowBinaryCycles". > > The <eclipse.buildScript/> task does not take it directly as an attribute, but > the task does check the ant project to see if the property is defined. > > You should be able to do something like: > > <property name="allowBinaryCycles" value="true"/> > <eclipse.buildScript ....../> > > Please reopen if this does not work for you.