I tried to figure how to raise an enhancement request but I could not. I would like to propose updating ivy to 2.3.0 in the next gradle release. The 2.3.0 release has some eclipse/osgi resolvers that are new and would help with some eclipse plugin builds. This would not replacing maven tycho but its a step to help make it easier to build eclipse-based products using gradle. There may have been some api changes though:
//
// test ivy and eclipse update site resolution
//
apply plugin: "java"
repositories {
add(new org.apache.ivy.osgi.updatesite.UpdateSiteResolver(url: 'http://download.eclipse.org/releases/kepler'))
}
dependencies {
compile "org.eclipse.pde:3.8.100"
}
task doit << {
println "Compile dependencies:"
configurations.compile.each { println it}
}
// Dependency resolution forced when its iterated on
defaultTasks ":doit"
I did a straight jar replacement of the 2.2.0 ivy to 2.3.0 to see if would mysteriously work
Caused by: java.lang.AbstractMethodError: org.gradle.api.internal.artifacts.repositories.cachemanager.DownloadingRepositoryCacheManager.downloadRepositoryResource(Lorg/apache/ivy/plugins/repository/Resource;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/apache/ivy/core/cache/CacheResourceOptions;Lorg/apache/ivy/plugins/repository/Repository;)Lorg/apache/ivy/core/report/ArtifactDownloadReport;
at org.apache.ivy.osgi.updatesite.UpdateSiteLoader.readJarOrXml(UpdateSiteLoader.java:149)
at org.apache.ivy.osgi.updatesite.UpdateSiteLoader.readComposite(UpdateSiteLoader.java:127)
at org.apache.ivy.osgi.updatesite.UpdateSiteLoader.populateP2Descriptor(UpdateSiteLoader.java:110)
at org.apache.ivy.osgi.updatesite.UpdateSiteLoader.loadP2(UpdateSiteLoader.java:100)
at org.apache.ivy.osgi.updatesite.UpdateSiteLoader.load(UpdateSiteLoader.java:80)
at org.apache.ivy.osgi.updatesite.UpdateSiteResolver.init(UpdateSiteResolver.java:63)
at org.apache.ivy.osgi.repo.AbstractOSGiResolver.ensureInit(AbstractOSGiResolver.java:108)
at org.apache.ivy.osgi.repo.AbstractOSGiResolver.getRepoDescriptor(AbstractOSGiResolver.java:115)
at org.apache.ivy.osgi.repo.AbstractOSGiResolver.findIvyFileRef(AbstractOSGiResolver.java:132)
at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:228)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.IvyDependencyResolverAdapter.getDependency(IvyDependencyResolverAdapter.java:48)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockingModuleVersionRepository$1.run(CacheLockingModuleVersionRepository.java:45)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142)
at org.gradle.api.internal.artifacts.ivyservice.DefaultCacheLockingManager.longRunningOperation(DefaultCacheLockingManager.java:49)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CacheLockingModuleVersionRepository.getDependency(CacheLockingModuleVersionRepository.java:43)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleVersionRepository.getDependency(CachingModuleVersionRepository.java:83)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.IvyContextualiser$1.invoke(IvyContextualiser.java:44)
at com.sun.proxy.$Proxy39.getDependency(Unknown Source)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.UserResolverChain$RepositoryResolveState.resolve(UserResolverChain.java:180)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.UserResolverChain.findLatestModule(UserResolverChain.java:92)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.UserResolverChain.findLatestModule(UserResolverChain.java:75)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.UserResolverChain.resolve(UserResolverChain.java:50)
... 90 more
BUILD FAILED