Hi Leonard,

Am Do, 28.10.2010, 16:50, schrieb Leonard Axelsson:
> Thanks for the help!
>
>
> The xml modifications seems to be working for me. One thing though,
> CsvParser has a method called parseText that takes a String, so no need
> to down to the bytes and back.
>
> Now I'm trying to publish the final 0.2 version and it seems the Sonatype
> repo requires all jar-files to be GPG signed. I figured out how to sign
> the files form gradle by calling out to gpg but I'm unsure how I should
> go about adding the signature files (groovycsv-0.2.jar.asc ...) to the
> upload. I've been reading the documentation trying to figure out how to
> add files to artifacts (is that what I should do?) but can only find
> examples of adding jar- and zip-files.

there was a discussion on how to do handle/upload a custom produced file
(DLL in this example) with gradle and a maven repo on this mailinglist.
Have a look at http://markmail.org/message/niseybxbjynckr2c

If you need further support. don't hesitate to ask!

regards,
René


>
> Any hints would be appreciated.
>
>
> Kindly,
> /Leo
>
>
> ----------------------------------
> Leonard Axelsson
>
>
> Blog: http://xlson.com/
> Twitter: xlson
>
>
>
> On 8 okt 2010, at 02.35, Adam Murdoch wrote:
>
>
>
> On 07/10/2010, at 7:08 AM, Rene Groeschke wrote:
>
>
> Hi Leonard,
> I had a short look at your project on github and on the build.gradle file.
>
>
> Am 06.10.10 15:15, schrieb Leonard Axelsson:
> Hi,
>
>
> Has anyone here successfully used Gradle to do maven deploys to Sonatypes
> maven repo? This is my first external maven deploy so I guess I should
> have just gone the easy path and used maven but I'd rather use Gradle if
> it's possible. They have a set of fairly strict rules when it comes to
> what information needs to be available and I can't seem to be able to add
> it all. Reqs:
> https://docs.sonatype.org/display/Repository/Sonatype%20OSS%20Maven%20Rep
> ository%20Usage%20Guide#SonatypeOSSMavenRepositoryUsageGuide-6.CentralSyn
> cRequirement
>
> My main problem right now is that I can figure out how to add the
> packaging and developers information to the pom. I've tried adding
> packaging to the builder but nothing happens. The rest of the information
> seems to be added correctly.
>
> I've retested the build with "Sonatype Nexus™ Professional Edition,
> Version: 1.8.0" and the following uploadArchives configuration:
>
>
> ------------------
> uploadArchives { repositories.mavenDeployer { configuration =
> configurations.archives repository(url:
> "http://localhost:8081/nexus/content/repositories/test";) {
> authentication(userName: "admin", password: "admin123")
> }
> pom.project { name 'GroovyCSV' packaging 'jar' // not working description
> 'Library for parsing csv in Groovy'
> url 'http://github.com/xlson/groovycsv' inceptionYear '2010'
>
> scm { url 'http://github.com/xlson/groovycsv' connection
> 'http://github.com/xlson/groovycsv'
> }
>
>
> licenses { license { name 'The Apache Software License, Version 2.0' url
> 'http://www.apache.org/licenses/LICENSE-2.0.txt'
> distribution 'repo' }
> }
>
>
> developers { developer { id 'donald' name 'donald duck' email
> 'don...@duck.org<mailto:'don...@duck.org>'
> url 'http://www.donaldduck.org' organization 'acme' organizationUrl
> 'http://acme.org'
> roles{ role 'architect' }
> timezone '-6' }
> }
> }
> }
> }
> ------------------
> I've detected two problems with the setup above:
>
>
> 1. It seems that gradle (or Ivy?) has a problem with the packaging
> information. The model during the build is updated correctly, but it seems
> that the info is never written into the pom.xml.
>
> 2. Using the defined developer informations above, the resulting pom
> snippet is:
>
> -----
> <developers>
> <developer>
> <id>donald</id>
> <name>donald duck</name>
> <email>don...@duck.org</email>
> <url>http://duck.org</url>
> <organization>org.apache.maven.model.organizat...@4532b038</organization>
> <organizationUrl>http://acme.org</organizationUrl>
> <roles>
> <role>architect</role>
> </roles>
> <timezone>-6</timezone>
> </developer>
> </developers>
> -----
>
>
> As you can see the organization isn't displayed correctly. It seems the
> builder used to create that pom mixes up the organization model of project
> with the plain string "organization" property of developer.
>
> Maybe Adam or Hans know a workaround to get your upload running!?
>
>
> It looks like both those issues are problems in the maven code that
> Gradle uses to do the pom generation. Gradle passes the correct packaging
> to the maven code. When the packaging is 'jar', the maven code ignores
> the packaging as it generates the pom. For the organisation, there seems
> to be a problem in the maven polygot configuration code, so that the
> organisation is set to the string value of project.organization instead
> of 'acme'
>
> Here's what I ended up with, with some workaround for both those
> problems:
>
>
> configure(install.repositories.mavenInstaller) { pom.project { name
> 'GroovyCSV'
> //        packaging 'jar'
> description 'Library for parsing csv in Groovy' url
> 'http://github.com/xlson/groovycsv'
> inceptionYear '2010'
>
> scm { url 'http://github.com/xlson/groovycsv' connection
> 'http://github.com/xlson/groovycsv'
> }
>
>
> licenses { license { name 'The Apache Software License, Version 2.0' url
> 'http://www.apache.org/licenses/LICENSE-2.0.txt'
> distribution 'repo' }
> }
>
>
> developers { developer { id 'donald' name 'donald duck' email
> 'don...@duck.org<mailto:'don...@duck.org>'
> url 'http://www.donaldduck.org' organization = 'acme' // <-- note we use
> assignment here organizationUrl 'http://acme.org' roles { role
'architect' }
> timezone '-6' }
> }
> }
>
>
> // Mess with the generated xml to add the packaging back in
> // This could probably be cleaner, if I knew the Groovy xml classes better
>  pom.withXml { XmlProvider xmlProvider -> def xml = xmlProvider.asString()
>  def pomXml = new XmlParser().parse(new
> ByteArrayInputStream(xml.toString().bytes))
>
>
> pomXml.version[0] + { packaging('jar') }
>
> def newXml = new StringWriter() def printer = new XmlNodePrinter(new
> PrintWriter(newXml))
> printer.preserveWhitespace = true printer.print(pomXml) xml.setLength(0)
> xml.append(newXml.toString()) }
> }
>
>
> If you want, you could raise some JIRA issues for these problems.
>
>
>
> --
> Adam Murdoch
> Gradle Developer
> http://www.gradle.org<http://www.gradle.org/>
> CTO, Gradle Inc. - Gradle Training, Support, Consulting
> http://www.gradle.biz
>
>
>
>



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

    http://xircles.codehaus.org/manage_email


Reply via email to