What's the new way to set DefaultModuleDescriptorFactory.settingsConverter.resolveSettings?


(Noel Yap) #1

After an upgrade, the following breaks:

def moduleDescriptorFactory = project.services.get(DependencyManagementServices.class).get(ModuleDescriptorFactory.class)

moduleDescriptorFactory.settingsConverter.resolveSettings = netflix.nebula.ivyimport.IvyHacker.createIvySettings()

with:

No such property: settingsConverter for class: org.gradle.api.internal.artifacts.ivyservice.moduleconverter.DefaultModuleDescriptorFactory

I notice http://code-review.gradle.org/changelog/Gradle?cs=46c3da66d2fd2c001f6277fc41ef662e03bf6774 removed DefaultModuleDescriptorFactory.settingsConverter.resolveSettings. What’s the new way to set this?


#2

As part of our gradual migration away from using Ivy under the hood, our use of IvySettings is getting less and less. At the same time we’re adding new features to Gradle to support most common use cases.

The code that you pasted was accessing a private field on an ‘internal’ (not public) class. As you see, this code has changed, and there is no longer any hack that I’m aware of where you can insert your own IvySettings instance for use by Gradle.

What are you trying to achieve with your custom IvySettings?


(Noel Yap) #3

I had initially put that there so I can access the Artifactory client API. It turns out that I no longer need that access so the code I posted can be deleted.