/* * This script augments the missing license information in our dependencies. */ complete { // license constants def apacheLicense = license("The Apache Software License, Version 2.0", "http://www.apache.org/licenses/LICENSE-2.0.txt") def cddl = license("CDDL", "http://www.sun.com/cddl/") def lgpl = license("LGPL 2.1", "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html") def mitLicense = license("MIT License", "http://www.opensource.org/licenses/mit-license.php") def bsdLicense = license("BSD License", "http://opensource.org/licenses/BSD-2-Clause") def jenkinsLicense = license("MIT License", "https://www.jenkins.io/mit-license") def ccby = license("Creative Commons Attribution License", "http://creativecommons.org/licenses/by/2.5") match("asm:*") { if (dependency.licenses.isEmpty()) rewriteLicense([], license("BSD License", "http://asm.ow2.org/license.html")) } // Apache components // logkit is a part of Avalon match([ "org.apache.ant:*", "log4j:*", "avalon-framework:*", "logkit:logkit", "oro:oro", "commons-codec:*", "commons-beanutils:*", "commons-net:*", "commons-cli:*", "org.jenkins-ci:commons-jelly", "org.jenkins-ci:commons-jelly-tags-fmt", "org.jenkins-ci:commons-jelly-tags-xml", "org.jvnet.hudson:commons-jelly-tags-define", "slide:slide-webdavlib" ]) { if (dependency.licenses.isEmpty()) rewriteLicense([], apacheLicense) } // GlassFish components are dual-licensed between CDDL and GPL+Classpath Exception // we elect to take them under CDDL. // note that central has a different POM from m.g.o-public (http://repo2.maven.org/maven2/javax/mail/mail/1.4/mail-1.4.pom // vs http://maven.glassfish.org/content/groups/public/javax/mail/mail/1.4/mail-1.4.pom), so we aren't using rewriteLicense here match([ "javax.mail:*", "org.jvnet.hudson:activation", "org.jvnet:tiger-types", "javax.servlet:jstl", "javax.xml.stream:stax-api" ]) { if (dependency.licenses.isEmpty()) dependency.licenses=[cddl] } /* TODO // according to JSR-250 1.0-20050927.133100 POM, it came from JAX-WS, which is under CDDL. match("javax.annotation:jsr250-api") { rewriteLicense([], cddl) } */ match("org.jenkins-ci.dom4j:dom4j") { rewriteLicense([], license("BSD License", "http://dom4j.sourceforge.net/dom4j-1.6.1/license.html")) } match(["org.jenkins-ci.groovy:*"]) { // see https://groovy-lang.org/faq.html // see http://jmdns.sourceforge.net/license.html rewriteLicense([], apacheLicense) } match("relaxngDatatype:relaxngDatatype") { // see http://sourceforge.net/projects/relaxng/ rewriteLicense([], bsdLicense) } match(["org.kohsuke.jinterop:j-interop", "org.kohsuke.jinterop:j-interopdeps"]) { rewriteLicense([license("MIT license", "http://www.opensource.org/licenses/mit-license.php")], license("LGPL v3", "http://www.j-interop.org/license.html")) } // these are our own modules that have license in the trunk but not in these released versions // as we upgrade them, we should just pick up the license info from POM match(["*:maven2.1-interceptor", "*:lib-jenkins-maven-embedder"]) { rewriteLicense([], jenkinsLicense) } match("org.codehaus.plexus:plexus-interactivity-api") { rewriteLicense([], mitLicense) } match("de.zeigermann.xml:xml-im-exporter:1.1") { rewriteLicense([], license("BSD License", "http://xml-im-exporter.cvs.sourceforge.net/viewvc/xml-im-exporter/xml-im-exporter/Copying.txt?revision=1.3&view=markup")) } match("*:sezpoz") { // GPL-phobia people react to "GPL" strongly, so accept sezpoz under CDDL rewriteLicense([license("CDDL or GPL 2 with Classpath Exception", null)], cddl) } match("net.jcip:jcip-annotations") { rewriteLicense([], ccby) } }