I am afraid I have not yet saved the time to test this. Sorry :/
On Mon, Mar 1, 2010 at 4:23 PM, Shay Banon <[email protected]> wrote:
>
> Hi Hans,
>
> Any update on this feature? I also use gradle for an open source project
> and would like to get it into sonatype and in turn into central, and am
> missing the handles to further configure the pom. Is there a jira issue
> tracking this?
>
> Cheers,
> Shay
>
>
>
> Hans Dockter wrote:
>>
>> Hi Nacho,
>>
>> unfortunately I can't see any hooks for this. But I have started to work
>> on
>> that. What we will do is to use a MavenProject class under the hood. We
>> will
>> provide a couple of convenient methods to configure it. But you can always
>> access the native Maven class for configuration that is not exposed by the
>> Gradle class. We should even add a third layer that provides a hook into
>> the
>> generated XML. I should make progress on this pretty soon. I hope I can
>> commit something tomorrow.
>>
>> - Hans
>>
>> --
>> Hans Dockter
>> Founder, Gradle
>> http://www.gradle.org, http://twitter.com/gradleorg
>> CEO, Gradle Inc. - Gradle Training, Support, Consulting
>> http://www.gradle.biz
>>
>>
>> On Mon, Feb 22, 2010 at 12:42 PM, Nacho Coloma <[email protected]> wrote:
>>
>>> Thanks Hank. I was already working on my workaround, but I'm stuck.
>>>
>>> The following code seems to work, but I don't know how to plug it
>>> after the POM generation (I thought it was a separate task, but it's
>>> not). Any help?
>>>
>>> ===
>>>
>>> def parsedPom = new XmlSlurper().parse(new
>>> File('~/workspace/tldgen/build/poms/pom-default.xml'))
>>> parsedPom.appendNode({
>>> name('The TLDGen project')
>>> description('Generate TLD and HTML files from Java annotations')
>>> url('http://code.google.com/p/tldgen/')
>>> scm {
>>> url('http://code.google.com/p/tldgen/source/browse/')
>>> connection('scm:svn:http://tldgen.googlecode.com/svn/trunk/')
>>> }
>>> licenses {
>>> license {
>>> name('The Apache Software License, Version 2.0')
>>> url('http://www.apache.org/licenses/LICENSE-2.0.txt')
>>> }
>>> }
>>> developers {
>>> developer {
>>> id('icoloma')
>>> name('Ignacio Coloma')
>>> email('[email protected]')
>>> }
>>> }
>>>
>>> }
>>> )
>>>
>>> def output = new groovy.xml.StreamingMarkupBuilder().bind {
>>> mkp.xmlDeclaration()
>>> mkp.declareNamespace("":"http://maven.apache.org/POM/4.0.0")
>>> mkp.yield parsedPom
>>> }
>>> println groovy.xml.XmlUtil.serialize(output)
>>>
>>>
>>>
>>> On Mon, Feb 22, 2010 at 12:41 PM, Hans Dockter <[email protected]> wrote:
>>> > Hi,
>>> >
>>> > Gradle needs to improve here. And I will start to work on this
>>> immediately.
>>> >
>>> > First of all I will add the relevant missing properties to the pom
>>> object.
>>> >
>>> > Furthermore there should be always a backdoor to add any property to a
>>> Maven
>>> > pom (e.g. some Maven alpha version adds a new pom element which is not
>>> part
>>> > of the Gradle pom object).
>>> >
>>> > We also will make it more intuitive to customize the Maven pom
>>> generation
>>> by
>>> > using dynamic properties for the relevant domain objects (e.g.
>>> > dependencies).
>>> >
>>> > - Hans
>>> >
>>> > --
>>> > Hans Dockter
>>> > Founder, Gradle
>>> > http://www.gradle.org, http://twitter.com/gradleorg
>>> > CEO, Gradle Inc. - Gradle Training, Support, Consulting
>>> > http://www.gradle.biz
>>> >
>>> > On Mon, Feb 22, 2010 at 10:53 AM, Nacho Coloma <[email protected]>
>>> wrote:
>>> >>
>>> >> Just to make it clear: AFAIK, with the new way of uploading artifacts
>>> >> to maven central (which goes through sonatype) any POM generated by
>>> >> gradle will not be accepted.
>>> >>
>>> >> I am considering adding a task postprocessor that edits the generated
>>> >> POM using the technique proposed by Paul here. I will give it a try
>>> >> and post the conclusion if successful.
>>> >>
>>> >> Anyway, this is something that should be tacked by the maven plugin
>>> IMHO.
>>> >>
>>> >> On Mon, Feb 22, 2010 at 9:51 AM, Paul Speed
>>> >> <[email protected]> wrote:
>>> >> > I don't have much to offer but I'm also in this boat... though not
>>> as
>>> >> > far
>>> >> > along as you are, I have several projects on path to maven central
>>> when
>>> >> > all
>>> >> > of the issues are sorted out.
>>> >> >
>>> >> > I'm interested enough that I've even looked into the source to see
>>> if
>>> >> > there
>>> >> > is a way to somehow hack in a solution. I can see that there are
>>> >> > various
>>> >> > elements of a MavenPomWriter that have interfaces and
>>> implementations
>>> >> > but
>>> >> > I've found no way to inject a custom implementation. As a hack, it
>>> >> > would
>>> >> > seem that if one were to somehow override the
>>> DefaultPomModuleIdWriter
>>> >> > that
>>> >> > it could be hacked to also output this other project information.
>>> It's
>>> >> > not
>>> >> > it's job, but it's the only one placed at the right point in the
>>> chain
>>> >> > to do
>>> >> > it easily.
>>> >> >
>>> >> > Obviously, it would be nice of the gradle project supported at least
>>> >> > some of
>>> >> > these settings which might be more generally useful.
>>> >> >
>>> >> > In lieu of that, I wonder what it would take to add a sort of
>>> general
>>> >> > "projectDetails" Map where any sort of string or nested Map could be
>>> set
>>> >> > that would then be output in a generic way as XML to the generated
>>> POM.
>>> >> >
>>> >> > There wouldn't be any model checks, but at least then we could
>>> specify
>>> >> > things like:
>>> >> > projectDetails.description = "Foo"
>>> >> > projectDetails.licenses = [
>>> >> > license = [
>>> >> > name: 'FooBar'
>>> >> > url: 'http://..../'
>>> >> > ]
>>> >> > ]
>>> >> >
>>> >> > ...and so on, with minimal upfront changes required to gradle
>>> internals.
>>> >> >
>>> >> > Just my random $0.02,
>>> >> > -Paul
>>> >> >
>>> >> > Nacho Coloma wrote:
>>> >> >>
>>> >> >> Hi, we are trying to make a final release with a gradle-generated
>>> POM.
>>> >> >> SNAPSHOT releases were doing fine, but for a final release that
>>> would
>>> >> >> make it to maven central the new oss.sonatype.org upload process
>>> fails
>>> >> >> to validate the POM:
>>> >> >>
>>> >> >> Failed to validate
>>> '/org/extrema-sistemas/tldgen/1.0/tldgen-1.0.pom'
>>> >> >> on repository 'orgextrema-sistemas-142'.
>>> >> >>
>>> >> >> No project name found in POM.
>>> >> >> No project description found in POM.
>>> >> >> No project URL found in POM.
>>> >> >> No license found in POM.
>>> >> >> No SCM URL found in POM.
>>> >> >> No developers found in POM.
>>> >> >>
>>> >> >> I could not find any way to specify any of these in current Gradle
>>> >> >> sources (even MavenPom.setLicenseHeader would not work, since it is
>>> >> >> expecting a <license> XML entry). Is there anything I am missing?
>>> >> >>
>>> >> >> Best regards,
>>> >> >>
>>> >> >> Nacho.
>>> >> >>
>>> >> >>
>>> ---------------------------------------------------------------------
>>> >> >> To unsubscribe from this list, please visit:
>>> >> >>
>>> >> >> http://xircles.codehaus.org/manage_email
>>> >> >>
>>> >> >>
>>> >> >
>>> >> >
>>> >> >
>>> ---------------------------------------------------------------------
>>> >> > To unsubscribe from this list, please visit:
>>> >> >
>>> >> > http://xircles.codehaus.org/manage_email
>>> >> >
>>> >> >
>>> >> >
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe from this list, please visit:
>>> >>
>>> >> http://xircles.codehaus.org/manage_email
>>> >>
>>> >>
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list, please visit:
>>>
>>> http://xircles.codehaus.org/manage_email
>>>
>>>
>>>
>>
>>
>
> --
> View this message in context:
> http://old.nabble.com/Incomplete-POM-generation-tp27674778p27744940.html
> Sent from the gradle-user mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email