Hello,

for the gradle plugin wuff there exists one issue to support p2 repositories (https://github.com/akhikhl/wuff/issues/9). But I am not sure if this can be implemented in a plugin -- at least if one wants to have a dsl like

    repositories {
        p2 { url 'http://download.eclipse.org/releases/luna/' }
    }

IMHO the only way to get the above from a plugin would be to use meta-programming. Sure, I could create an extension named p2 on project.repositories with a method url, but I might want to support

    repositories {
        p2 {
            url 'http://download.eclipse.org/releases/luna'
            unit id: 'org.eclipse.foo', version: '1.5'
            unit id: 'org.eclipse.bar', version: '2.3'
        }
    }

to restrict the repository to some installable units, or define a name

    repositories {
        p2 {
            name 'luna'
            url 'http://download.eclipse.org/releases/luna'
        }
    }

From my understanding of the current implementation of repositories.maven and repositories.ivy, if I wanted to implement a p2 repository access in gradle-core, I would start by adding a new method p2 to DefaultRepositoryHandler, implementing it like the maven and ivy support, maybe even delegating to a pattern based ivy repository to download the artifacts and only implement some logic to read the artifacts.jar, content.jar, compositeContent.jar and compositeArtifacts.jar. Is this the way to go?

Or will https://github.com/gradle/gradle/blob/master/design-docs/repository-extensibility.md allow to implement this with less problems?

What do you think?

Regards,

Tobias



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to