diff --git a/Jenkinsfile b/Jenkinsfile index 46f25185d3..2be2f84eff 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -101,30 +101,22 @@ for (i = 0; i < buildTypes.size(); i++) { sourceCodeEncoding: 'UTF-8', skipBlames: true, trendChartType: 'TOOLS_ONLY', - qualityGates: [ - [threshold: 1, type: 'NEW', unstable: true], - ]]) + qualityGates: [[threshold: 1, type: 'NEW', unstable: true]]]) recordIssues([tool: checkStyle(pattern: '**/target/checkstyle-result.xml'), sourceCodeEncoding: 'UTF-8', skipBlames: true, trendChartType: 'TOOLS_ONLY', - qualityGates: [ - [threshold: 1, type: 'TOTAL', unstable: true], - ]]) + qualityGates: [[threshold: 1, type: 'TOTAL', unstable: true]]]) recordIssues([tool: esLint(pattern: '**/target/eslint-warnings.xml'), sourceCodeEncoding: 'UTF-8', skipBlames: true, trendChartType: 'TOOLS_ONLY', - qualityGates: [ - [threshold: 1, type: 'TOTAL', unstable: true], - ]]) + qualityGates: [[threshold: 1, type: 'TOTAL', unstable: true]]]) recordIssues([tool: styleLint(pattern: '**/target/stylelint-warnings.xml'), sourceCodeEncoding: 'UTF-8', skipBlames: true, trendChartType: 'TOOLS_ONLY', - qualityGates: [ - [threshold: 1, type: 'TOTAL', unstable: true], - ]]) + qualityGates: [[threshold: 1, type: 'TOTAL', unstable: true]]]) if (failFast && currentBuild.result == 'UNSTABLE') { error 'Static analysis quality gates not passed; halting early' } diff --git a/licenseCompleter.groovy b/licenseCompleter.groovy index 5f58a11def..cde513d5c0 100644 --- a/licenseCompleter.groovy +++ b/licenseCompleter.groovy @@ -1,84 +1,104 @@ /* - This script augments the missing license information in our dependencies. -*/ + * 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") + // 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")) - } + 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:*","commons-jelly:*","log4j:*","avalon-framework:*","logkit:logkit","oro:oro","commons-codec:*","commons-beanutils:*","commons-net:*","commons-cli:*","*:commons-jelly","org.jvnet.hudson:commons-jelly-tags-define","slide:slide-webdavlib"]) { - if (dependency.licenses.isEmpty()) - rewriteLicense([], apacheLicense) - } + // Apache components + // logkit is a part of Avalon + match([ + "org.apache.ant:*", + "commons-jelly:*", + "log4j:*", + "avalon-framework:*", + "logkit:logkit", + "oro:oro", + "commons-codec:*", + "commons-beanutils:*", + "commons-net:*", + "commons-cli:*", + "*:commons-jelly", + "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) - } -*/ + // 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] + } - match("org.jenkins-ci.dom4j:dom4j") { - rewriteLicense([],license("BSD License","http://dom4j.sourceforge.net/dom4j-1.6.1/license.html")) - } + /* 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.groovy:*"]) { - // see https://groovy-lang.org/faq.html - // see http://jmdns.sourceforge.net/license.html - rewriteLicense([],apacheLicense) - } + match("org.jenkins-ci.dom4j:dom4j") { + rewriteLicense([], license("BSD License", "http://dom4j.sourceforge.net/dom4j-1.6.1/license.html")) + } - match("relaxngDatatype:relaxngDatatype") { - // see http://sourceforge.net/projects/relaxng/ - rewriteLicense([],bsdLicense) - } + match(["org.jenkins-ci.groovy:*"]) { + // see https://groovy-lang.org/faq.html + // see http://jmdns.sourceforge.net/license.html + rewriteLicense([], apacheLicense) + } - 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")) - } + match("relaxngDatatype:relaxngDatatype") { + // see http://sourceforge.net/projects/relaxng/ + rewriteLicense([], bsdLicense) + } - // 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.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")) + } - match("org.codehaus.plexus:plexus-interactivity-api") { - rewriteLicense([],mitLicense) - } + // 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("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("org.codehaus.plexus:plexus-interactivity-api") { + rewriteLicense([], mitLicense) + } - 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) - } + 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) + } } diff --git a/pom.xml b/pom.xml index 9bd15ef0c4..8045fd7c54 100644 --- a/pom.xml +++ b/pom.xml @@ -354,6 +354,15 @@ THE SOFTWARE. + + + Jenkinsfile + licenseCompleter.groovy + + + config/greclipse.properties + + @@ -374,6 +383,13 @@ THE SOFTWARE. + + + io.jenkins.lib + shared-resources + 1.0 + +