blob: 7b1265edbf8584bdc219a2e83b4bcc44c06a602a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
group = 'org.apache.groovy'
project.ext.optionalDeps = []
project.ext.providedDeps = []
project.ext.optional = { project.ext.optionalDeps << it }
project.ext.provided = { project.ext.providedDeps << it }
project.ext.pomConfigureClosureWithoutTweaks = {
project {
name 'Apache Groovy'
description 'Groovy: A powerful multi-faceted language for the JVM'
url 'https://groovy-lang.org'
inceptionYear '2003'
organization {
name 'Apache Software Foundation'
url 'https://apache.org'
}
developers {
developer {
id 'glaforge'
name 'Guillaume Laforge'
organization 'SpringSource'
roles {
role 'Developer'
}
}
developer {
id 'bob'
name 'bob mcwhirter'
email 'bob@werken.com'
organization 'The Werken Company'
roles {
role 'Founder'
}
}
developer {
id 'jstrachan'
name 'James Strachan'
email 'james@coredevelopers.com'
organization 'Core Developers Network'
roles {
role 'Founder'
}
}
developer {
id 'joe'
name 'Joe Walnes'
organization 'ThoughtWorks'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'skizz'
name 'Chris Stevenson'
organization 'ThoughtWorks'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'jamiemc'
name 'Jamie McCrindle'
organization 'Three'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'mattf'
name 'Matt Foemmel'
organization 'ThoughtWorks'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'alextkachman'
name 'Alex Tkachman'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'roshandawrani'
name 'Roshan Dawrani'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'spullara'
name 'Sam Pullara'
email 'sam@sampullara.com'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'kasper'
name 'Kasper Nielsen'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'travis'
name 'Travis Kay'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'zohar'
name 'Zohar Melamed'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'jwilson'
name 'John Wilson'
email 'tug@wilson.co.uk'
organization 'The Wilson Partnership'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'cpoirier'
name 'Chris Poirier'
email 'cpoirier@dreaming.org'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'ckl'
name 'Christiaan ten Klooster'
email 'ckl@dacelo.nl'
organization 'Dacelo WebDevelopment'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'goetze'
name 'Steve Goetze'
email 'goetze@dovetail.com'
organization 'Dovetailed Technologies, LLC'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'bran'
name 'Bing Ran'
email 'b55r@sina.com'
organization 'Leadingcare'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'jez'
name 'Jeremy Rayner'
email 'jeremy.rayner@gmail.com'
organization 'javanicus'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'jstump'
name 'John Stump'
email 'johnstump2@yahoo.com'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'blackdrag'
name 'Jochen Theodorou'
email 'blackdrag@gmx.org'
roles {
role 'Developer'
}
}
developer {
id 'russel'
name 'Russel Winder'
email 'russel@winder.org.uk'
organization 'Concertant LLP & It\'z Interactive Ltd'
roles {
role 'Developer'
role 'Founder of Gant'
}
}
developer {
id 'phk'
name 'Pilho Kim'
email 'phkim@cluecom.co.kr'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'cstein'
name 'Christian Stein'
email 'sormuras@gmx.de'
organization 'CTSR.de'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'mittie'
name 'Dierk Koenig'
email 'dierk.koenig@canoo.com'
organization 'Canoo Engineering AG'
roles {
role 'Developer'
}
}
developer {
id 'paulk'
name 'Paul King'
email 'paulk@asert.com.au'
organization 'OCI, Australia'
roles {
role 'Project Manager'
role 'Developer'
}
}
developer {
id 'galleon'
name 'Guillaume Alleon'
email 'guillaume.alleon@gmail.com'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'user57'
name 'Jason Dillon'
email 'jason@planet57.com'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'shemnon'
name 'Danno Ferrin'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'jwill'
name 'James Williams'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'timyates'
name 'Tim Yates'
roles {
role 'Developer'
}
}
developer {
id 'aalmiray'
name 'Andres Almiray'
email 'aalmiray@users.sourceforge.net'
roles {
role 'Developer'
}
}
developer {
id 'mguillem'
name 'Marc Guillemot'
email 'mguillemot@yahoo.fr'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'jimwhite'
name 'Jim White'
email 'jim@pagesmiths.com'
organization 'IFCX.org'
roles {
role 'Developer'
}
}
developer {
id 'pniederw'
name 'Peter Niederwieser'
email 'pniederw@gmail.com'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'andresteingress'
name 'Andre Steingress'
roles {
role 'Developer'
}
}
developer {
id 'hamletdrc'
name 'Hamlet D\'Arcy'
email 'hamletdrc@gmail.com'
roles {
role 'Developer Emeritus'
}
}
developer {
id 'melix'
name 'Cedric Champeau'
email 'cedric.champeau@gmail.com'
roles {
role 'Developer'
}
}
developer {
id 'pascalschumacher'
name 'Pascal Schumacher'
roles {
role 'Developer'
}
}
developer {
id 'sunlan'
name 'Daniel Sun'
email 'realbluesun@hotmail.com'
roles {
role 'Developer'
}
}
developer {
id 'rpopma'
name 'Remko Popma'
roles {
role 'Developer'
}
}
developer {
id 'grocher'
name 'Graeme Rocher'
roles {
role 'Developer'
}
}
developer {
id 'emilles'
name 'Eric Milles'
organization 'Thomson Reuters'
roles {
role 'Developer'
}
}
}
contributors {
contributor {
name 'Joern Eyrich'
}
contributor {
name 'Robert Kuzelj'
}
contributor {
name 'Rod Cope'
}
contributor {
name 'Yuri Schimke'
}
contributor {
name 'James Birchfield'
}
contributor {
name 'Robert Fuller'
}
contributor {
name 'Sergey Udovenko'
}
contributor {
name 'Hallvard Traetteberg'
}
contributor {
name 'Peter Reilly'
}
contributor {
name 'Brian McCallister'
}
contributor {
name 'Richard Monson-Haefel'
}
contributor {
name 'Brian Larson'
}
contributor {
name 'Artur Biesiadowski'
email 'abies@pg.gda.pl'
}
contributor {
name 'Ivan Z. Ganza'
}
contributor {
name 'Larry Jacobson'
}
contributor {
name 'Jake Gage'
}
contributor {
name 'Arjun Nayyar'
}
contributor {
name 'Masato Nagai'
}
contributor {
name 'Mark Chu-Carroll'
}
contributor {
name 'Mark Turansky'
}
contributor {
name 'Jean-Louis Berliet'
}
contributor {
name 'Graham Miller'
}
contributor {
name 'Marc Palmer'
}
contributor {
name 'Tugdual Grall'
}
contributor {
name 'Edwin Tellman'
}
contributor {
name 'Evan "Hippy" Slatis'
}
contributor {
name 'Mike Dillon'
}
contributor {
name 'Bernhard Huber'
}
contributor {
name 'Yasuharu Nakano'
}
contributor {
name 'Marc DeXeT'
}
contributor {
name 'Dejan Bosanac'
email 'dejan@nighttale.net'
}
contributor {
name 'Denver Dino'
}
contributor {
name 'Ted Naleid'
}
contributor {
name 'Ted Leung'
}
contributor {
name 'Merrick Schincariol'
}
contributor {
name 'Chanwit Kaewkasi'
}
contributor {
name 'Stefan Matthias Aust'
}
contributor {
name 'Andy Dwelly'
}
contributor {
name 'Philip Milne'
}
contributor {
name 'Tiago Fernandez'
}
contributor {
name 'Steve Button'
}
contributor {
name 'Joachim Baumann'
}
contributor {
name 'Jochen Eddel+'
}
contributor {
name 'Ilinca V. Hallberg'
}
contributor {
name 'Björn Westlin'
}
contributor {
name 'Andrew Glover'
}
contributor {
name 'Brad Long'
}
contributor {
name 'John Bito'
}
contributor {
name 'Jim Jagielski'
}
contributor {
name 'Rodolfo Velasco'
}
contributor {
name 'John Hurst'
}
contributor {
name 'Merlyn Albery-Speyer'
}
contributor {
name 'jeremi Joslin'
}
contributor {
name 'UEHARA Junji'
}
contributor {
name 'NAKANO Yasuharu'
}
contributor {
name 'Dinko Srkoc'
}
contributor {
name 'Raffaele Cigni'
}
contributor {
name 'Alberto Vilches Raton'
}
contributor {
name 'Paulo Poiati'
}
contributor {
name 'Alexander Klein'
}
contributor {
name 'Adam Murdoch'
}
contributor {
name 'David Durham'
}
contributor {
name 'Daniel Henrique Alves Lima'
}
contributor {
name 'John Wagenleitner'
}
contributor {
name 'Colin Harrington'
}
contributor {
name 'Brian Alexander'
}
contributor {
name 'Jan Weitz'
}
contributor {
name 'Chris K Wensel'
}
contributor {
name 'David Sutherland'
}
contributor {
name 'Mattias Reichel'
}
contributor {
name 'David Lee'
}
contributor {
name 'Sergei Egorov'
}
contributor {
name 'Hein Meling'
}
contributor {
name 'Michael Baehr'
}
contributor {
name 'Craig Andrews'
}
contributor {
name 'Peter Ledbrook'
}
contributor {
name 'Scott Stirling'
}
contributor {
name 'Thibault Kruse'
}
contributor {
name 'Tim Tiemens'
}
contributor {
name 'Mike Spille'
}
contributor {
name 'Nikolay Chugunov'
}
contributor {
name 'Francesco Durbin'
}
contributor {
name 'Paolo Di Tommaso'
}
contributor {
name 'Rene Scheibe'
}
contributor {
name 'Matias Bjarland'
}
contributor {
name 'Tomasz Bujok'
}
contributor {
name 'Richard Hightower'
}
contributor {
name 'Andrey Bloschetsov'
}
contributor {
name 'Yu Kobayashi'
}
contributor {
name 'Nick Grealy'
}
contributor {
name 'Vaclav Pech'
}
contributor {
name 'Chuck Tassoni'
}
contributor {
name 'Steven Devijver'
}
contributor {
name 'Ben Manes'
}
contributor {
name 'Troy Heninger'
}
contributor {
name 'Andrew Eisenberg'
}
contributor {
name 'Eric Milles'
}
contributor {
name 'Kohsuke Kawaguchi'
}
contributor {
name 'Scott Vlaminck'
}
contributor {
name 'Hjalmar Ekengren'
}
contributor {
name 'Rafael Luque'
}
contributor {
name 'Joachim Heldmann'
}
contributor {
name 'dgouyette'
}
contributor {
name 'Marcin Grzejszczak'
}
contributor {
name 'Pap LÅ‘rinc'
}
contributor {
name 'Guillaume Balaine'
}
contributor {
name 'Santhosh Kumar T'
}
contributor {
name 'Alan Green'
}
contributor {
name 'Marty Saxton'
}
contributor {
name 'Marcel Overdijk'
}
contributor {
name 'Jonathan Carlson'
}
contributor {
name 'Thomas Heller'
}
contributor {
name 'John Stump'
}
contributor {
name 'Ivan Ganza'
}
contributor {
name 'Alex Popescu'
}
contributor {
name 'Martin Kempf'
}
contributor {
name 'Martin Ghados'
}
contributor {
name 'Martin Stockhammer'
}
contributor {
name 'Martin C. Martin'
}
contributor {
name 'Alexey Verkhovsky'
}
contributor {
name 'Alberto Mijares'
}
contributor {
name 'Matthias Cullmann'
}
contributor {
name 'Tomek Bujok'
}
contributor {
name 'Stephane Landelle'
}
contributor {
name 'Stephane Maldini'
}
contributor {
name 'Mark Volkmann'
}
contributor {
name 'Andrew Taylor'
}
contributor {
name 'Vladimir Vivien'
}
contributor {
name 'Vladimir Orany'
}
contributor {
name 'Joe Wolf'
}
contributor {
name 'Kent Inge Fagerland Simonsen'
}
contributor {
name 'Tom Nichols'
}
contributor {
name 'Ingo Hoffmann'
}
contributor {
name 'Sergii Bondarenko'
}
contributor {
name 'mgroovy'
}
contributor {
name 'Dominik Przybysz'
}
contributor {
name 'Jason Thomas'
}
contributor {
name 'Trygve Amundsens'
}
contributor {
name 'Morgan Hankins'
}
contributor {
name 'Shruti Gupta'
}
contributor {
name 'Ben Yu'
}
contributor {
name 'Dejan Bosanac'
}
contributor {
name 'Lidia Donajczyk-Lipinska'
}
contributor {
name 'Peter Gromov'
}
contributor {
name 'Johannes Link'
}
contributor {
name 'Chris Reeves'
}
contributor {
name 'Sean Timm'
}
contributor {
name 'Dmitry Vyazelenko'
}
}
mailingLists {
mailingList {
name 'Groovy Developer List'
archive 'https://mail-archives.apache.org/mod_mbox/groovy-dev/'
}
mailingList {
name 'Groovy User List'
archive 'https://mail-archives.apache.org/mod_mbox/groovy-users/'
}
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
issueManagement {
system 'jira'
url 'https://issues.apache.org/jira/browse/GROOVY'
}
scm {
connection 'scm:git:https://github.com/apache/groovy.git'
developerConnection 'scm:git:https://github.com/apache/groovy.git'
url 'https://github.com/apache/groovy.git'
}
}
}
project.ext.pomConfigureClosure = {
with pomConfigureClosureWithoutTweaks
whenConfigured { pom ->
project.ext.optionalDeps.each { dep ->
pom.dependencies.find { it.artifactId == dep.name }?.optional = true
}
project.ext.providedDeps.each { dep ->
pom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
}
// eliminate test-scoped dependencies (no need in maven central poms)
pom.dependencies.removeAll { dep ->
dep.scope == 'test'
}
if (project == rootProject) {
// make dependencies optional
pom.dependencies.each { dep -> dep.optional = true }
}
// add 'packaging' node
pom.withXml { xmlProvider ->
def xml = xmlProvider.asString()
def pomXml = new XmlParser().parse(new ByteArrayInputStream(xml.toString().getBytes("UTF-8")))
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())
}
}
}