Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 9B342200C04 for ; Tue, 24 Jan 2017 22:49:22 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 999BA160B3E; Tue, 24 Jan 2017 21:49:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 58423160B38 for ; Tue, 24 Jan 2017 22:49:20 +0100 (CET) Received: (qmail 74953 invoked by uid 500); 24 Jan 2017 21:49:19 -0000 Mailing-List: contact commits-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list commits@asterixdb.apache.org Received: (qmail 74944 invoked by uid 99); 24 Jan 2017 21:49:19 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 24 Jan 2017 21:49:19 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 7020BDFBAD; Tue, 24 Jan 2017 21:49:19 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: mblow@apache.org To: commits@asterixdb.apache.org Message-Id: <56f6d2f761504af5b753ee20714d2bc8@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: asterixdb git commit: ASTERIXDB-1320, ASTERIXDB-1323: License Fixes Date: Tue, 24 Jan 2017 21:49:19 +0000 (UTC) archived-at: Tue, 24 Jan 2017 21:49:22 -0000 Repository: asterixdb Updated Branches: refs/heads/master f1bd7840d -> 622496642 ASTERIXDB-1320, ASTERIXDB-1323: License Fixes ASTERIXDB-1320: - LICENSE lists a large number of CDDL licensed bits of software CDDL is Category B we should provide a link to the source code (see 3.1. Availability of Source Code in (1)). Previous advice on legal-discuss was this goes in NOTICE but recent discussions have left this a bit more muddled. ASTERIXDB-1323: - Missing normalize.css (MIT) ./asterix-examples/src/main/resources/admaql101-demo /static/css/bootstrap.min.css - Missing license for second bottle file (MIT) ./asterix-examples/src/main/ resources/tweetbook-demo/bottle.py - Bootstrap version bundled is Apache licensed not MIT licensed ./asterix-app/src/ main/resources/webui/static/js/bootstrap.min.js - It’s also not mentioned for all licenses what each license is (MIT/BSD etc) that can be helpful. The version of the bundled software is also helpful. - Should include text of RainbowVis-JS license (or better still a pointer to a copy of the license file) [5] not a pointer to a URL on github Also, misc cleanup. Change-Id: Ie9fe9c18f63624896ccda420e1bf83ae0127021e Reviewed-on: https://asterix-gerrit.ics.uci.edu/1463 Sonar-Qube: Jenkins Tested-by: Jenkins BAD: Jenkins Reviewed-by: Ian Maxon Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/62249664 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/62249664 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/62249664 Branch: refs/heads/master Commit: 622496642caca7a61b2d411cb1608b93c9fa4d03 Parents: f1bd784 Author: Michael Blow Authored: Tue Jan 24 14:22:47 2017 -0500 Committer: Michael Blow Committed: Tue Jan 24 13:47:45 2017 -0800 ---------------------------------------------------------------------- asterixdb/LICENSE | 108 +++++++- asterixdb/asterix-app/pom.xml | 1 - .../main/appended-resources/META-INF/LICENSE | 167 +++++++++++- asterixdb/asterix-installer/pom.xml | 3 +- asterixdb/asterix-metadata/pom.xml | 1 - asterixdb/asterix-server/pom.xml | 27 +- asterixdb/asterix-yarn/pom.xml | 9 +- asterixdb/pom.xml | 5 + .../appended-resources/supplemental-models.xml | 27 +- .../licenses/content/paranamer-2.3_LICENSE.txt | 28 ++ .../licenses/content/protobuf_2.5.0_LICENSE.txt | 5 +- ...om_codehaus_paranamer-git_master_LICENSE.txt | 28 -- .../main/licenses/templates/asterix-license.ftl | 2 +- .../main/licenses/templates/asterix-notice.ftl | 6 +- .../main/licenses/templates/source_licenses.ftl | 2 +- .../licenses/templates/source_only_licenses.ftl | 69 ++++- hyracks-fullstack/NOTICE | 2 +- .../hyracks-fullstack-license/pom.xml | 5 +- .../main/licenses/templates/asterix-notice.ftl | 47 ---- .../main/licenses/templates/hyracks-notice.ftl | 44 +++ .../license-automation-plugin/pom.xml | 5 + .../hyracks/maven/license/GenerateFileMojo.java | 269 +++++++++++++++++-- .../hyracks/maven/license/LicenseMojo.java | 10 + .../hyracks/maven/license/project/Project.java | 21 +- 24 files changed, 743 insertions(+), 148 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/LICENSE ---------------------------------------------------------------------- diff --git a/asterixdb/LICENSE b/asterixdb/LICENSE index e7b3a06..2d57e6e 100644 --- a/asterixdb/LICENSE +++ b/asterixdb/LICENSE @@ -268,7 +268,7 @@ and asterix-app/src/main/resources/feed/smoothie.js - are available under the following license: + are available under The MIT License: --- Copyright (c) 2010-2013, Joe Walnes @@ -458,7 +458,9 @@ --- Portions of the AsterixDB API examples located at: - asterix-examples/src/main/resources/admaql101-demo/bottle.py + asterix-examples/src/main/resources/admaql101-demo/bottle.py, + and + asterix-examples/src/main/resources/tweetbook-demo/bottle.py are available under The MIT License: --- @@ -513,5 +515,105 @@ are available under The MIT License: --- - See https://opensource.org/licenses/mit-license.php + RainbowVis-JS + Released under MIT License + + (text of The MIT License follows for convenience) + + Copyright + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--- + Portions of the AsterixDB API examples + located at: + asterix-examples/src/main/resources/admaql101-demo/static/js/jquery.min.js + + are available under The MIT License: +--- + (https://github.com/jquery/jquery/blob/2.0.3/MIT-LICENSE.txt) + Copyright 2013 jQuery Foundation and other contributors + http://jquery.com/ + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--- + Portions of the AsterixDB API examples + located at: + asterix-examples/src/main/resources/admaql101-demo/static/js/bootstrap.min.js + + are available under The Apache Software License, Version 2.0: +--- + bootstrap.js v3.0.0 by @fat and @mdo + + Copyright 2013 Twitter Inc. + + http://www.apache.org/licenses/LICENSE-2.0 +--- + Portions of the AsterixDB API examples + located at: + asterix-examples/src/main/resources/admaql101-demo/static/css/bootstrap.min.css + + are available under The Apache Software License, Version 2.0: +--- + Bootstrap v3.0.0 + + Copyright 2013 Twitter, Inc + + Licensed under the Apache License v2.0 + http://www.apache.org/licenses/LICENSE-2.0 + + Designed and built with all the love in the world by @mdo and @fat. + + also contains normalize.css v2.1.0, under the following license: + (https://github.com/necolas/normalize.css/blob/v2.1.0/LICENSE.md) + + Copyright (c) Nicolas Gallagher and Jonathan Neal + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/asterix-app/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml index f5cd6d9..f4667d0 100644 --- a/asterixdb/asterix-app/pom.xml +++ b/asterixdb/asterix-app/pom.xml @@ -352,7 +352,6 @@ javax.xml.bind jaxb-api - 2.2.2 test http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/asterix-examples/src/main/appended-resources/META-INF/LICENSE ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-examples/src/main/appended-resources/META-INF/LICENSE b/asterixdb/asterix-examples/src/main/appended-resources/META-INF/LICENSE index 811623a..f694cb5 100644 --- a/asterixdb/asterix-examples/src/main/appended-resources/META-INF/LICENSE +++ b/asterixdb/asterix-examples/src/main/appended-resources/META-INF/LICENSE @@ -7,25 +7,164 @@ notices and license terms. Your use of the source code for these subcomponents is subject to the terms and condition of the following licenses. +--- + Portions of the AsterixDB API examples + located at: + src/main/resources/admaql101-demo/bottle.py, + and + src/main/resources/tweetbook-demo/bottle.py ------------------------------------------------------------------------ - The MIT License ------------------------------------------------------------------------ + are available under The MIT License: +--- + Copyright (c) 2014, Marcel Hellkamp. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +--- + Portions of the AsterixDB API examples + located at: + src/main/resources/tweetbook-demo/static/js/geostats.js + + are available under The MIT License: +--- + Copyright (c) 2011 Simon Georget + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Portions of the AsterixDB API examples + located at: + src/main/resources/tweetbook-demo/static/js/rainbowvis.js + + are available under The MIT License: +--- + RainbowVis-JS + Released under MIT License + + (text of The MIT License follows for convenience) + + Copyright + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--- + Portions of the AsterixDB API examples + located at: + src/main/resources/admaql101-demo/static/js/jquery.min.js + + are available under The MIT License: +--- + (https://github.com/jquery/jquery/blob/2.0.3/MIT-LICENSE.txt) + Copyright 2013 jQuery Foundation and other contributors + http://jquery.com/ + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--- + Portions of the AsterixDB API examples + located at: + src/main/resources/admaql101-demo/static/js/bootstrap.min.js + + are available under The Apache Software License, Version 2.0: +--- + bootstrap.js v3.0.0 by @fat and @mdo + + Copyright 2013 Twitter Inc. + + http://www.apache.org/licenses/LICENSE-2.0 +--- + Portions of the AsterixDB API examples + located at: + src/main/resources/admaql101-demo/static/css/bootstrap.min.css + + are available under The Apache Software License, Version 2.0: +--- + Bootstrap v3.0.0 + + Copyright 2013 Twitter, Inc - - jQuery (src/main/resources/admaql101-demo/static/js) - - Bootstrap (src/main/resources/admaql101-demo/static/js/bootstrap.min.js), - (src/main/resources/tweetbook-demo/static/js/bootstrap.min.js) - - Bottle (src/main/resources/tweetbook-demo/bottle.py, src/main/resources/admaql101-demo/bottle.py) - - geostats (src/main/resources/tweetbook-demo/static/js/geostats.js) + Licensed under the Apache License v2.0 + http://www.apache.org/licenses/LICENSE-2.0 -The text of The MIT License is below for convenience. Refer to the website of each project for exact details. + Designed and built with all the love in the world by @mdo and @fat. -The MIT License (MIT) + also contains normalize.css v2.1.0, under the following license: + (https://github.com/necolas/normalize.css/blob/v2.1.0/LICENSE.md) -Copyright (c) + Copyright (c) Nicolas Gallagher and Jonathan Neal -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/asterix-installer/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-installer/pom.xml b/asterixdb/asterix-installer/pom.xml index efd1106..df36c80 100644 --- a/asterixdb/asterix-installer/pom.xml +++ b/asterixdb/asterix-installer/pom.xml @@ -129,7 +129,7 @@ - Managix Install + Apache AsterixDB Managix Install repo/asterix-app-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip repo/hyracks-control-cc-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip repo/asterix-hivecompat-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip @@ -459,7 +459,6 @@ javax.xml.bind jaxb-api - 2.2.2 org.apache.hyracks http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/asterix-metadata/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-metadata/pom.xml b/asterixdb/asterix-metadata/pom.xml index 418bfbe..c73b1a4 100644 --- a/asterixdb/asterix-metadata/pom.xml +++ b/asterixdb/asterix-metadata/pom.xml @@ -119,7 +119,6 @@ javax.xml.bind jaxb-api - 2.2.2 org.apache.commons http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/asterix-server/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-server/pom.xml b/asterixdb/asterix-server/pom.xml index bf04282..3454428 100644 --- a/asterixdb/asterix-server/pom.xml +++ b/asterixdb/asterix-server/pom.xml @@ -94,7 +94,7 @@ com.thoughtworks.paranamer:paranamer:2.3 - https://raw.githubusercontent.com/codehaus/paranamer-git/master/LICENSE.txt + https://github.com/codehaus/paranamer-git/blob/paranamer-2.3/LICENSE.txt org.codehaus.jettison:jettison:1.1 @@ -118,25 +118,32 @@ com.google.protobuf:protobuf-java:2.5.0 - https://raw.githubusercontent.com/google/protobuf/master/LICENSE + https://github.com/google/protobuf/blob/v2.5.0/COPYING.txt xmlenc:xmlenc:0.52 - xmlenc_0.52_LICENSE + https://cytranet.dl.sourceforge.net/project/xmlenc/xmlenc/0.52/xmlenc-0.52.tgz?xmlenc-0.52/COPYRIGHT - https://raw.githubusercontent.com/google/protobuf/master/LICENSE + a BSD 3-clause license + http://asm.objectweb.org/license.html + + + a BSD 3-clause license + https://github.com/google/protobuf/blob/v2.5.0/COPYING.txt protobuf_2.5.0_LICENSE.txt - xmlenc_0.52_LICENSE - xmlenc_0.52_LICENSE.txt + a BSD 3-clause license + https://github.com/codehaus/paranamer-git/blob/paranamer-2.3/LICENSE.txt + paranamer-2.3_LICENSE.txt - https://raw.githubusercontent.com/hamcrest/JavaHamcrest/1260407ae3d2786cb54b8be52ebe041e54ccd6ac/LICENSE.txt - hamcrest_1.3_LICENSE.txt + a BSD 3-clause license + https://cytranet.dl.sourceforge.net/project/xmlenc/xmlenc/0.52/xmlenc-0.52.tgz?xmlenc-0.52/COPYRIGHT + xmlenc_0.52_LICENSE.txt The Apache Software License, Version 2.0 @@ -151,7 +158,7 @@ https://java.net/projects/stax-utils/sources/svn/content/trunk/LICENSE stax-utils_LICENSE.txt - a BSD-style License + a BSD 3-clause license https://stax-utils.dev.java.net/source/browse/*checkout*/stax-utils/LICENSE @@ -207,7 +214,7 @@ - Server Install + Apache AsterixDB Server Install repo/asterix-app-${project.version}.jar, within this assembly repo/hyracks-control-cc-${project.version}.jar, within this assembly repo/asterix-hivecompat-${project.version}.jar, within this assembly http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/asterix-yarn/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-yarn/pom.xml b/asterixdb/asterix-yarn/pom.xml index 120f665..5491f9f 100644 --- a/asterixdb/asterix-yarn/pom.xml +++ b/asterixdb/asterix-yarn/pom.xml @@ -169,7 +169,7 @@ com.google.protobuf:protobuf-java:2.5.0 - https://raw.githubusercontent.com/google/protobuf/master/LICENSE + https://github.com/google/protobuf/blob/v2.5.0/COPYING.txt @@ -177,13 +177,9 @@ http://www.apache.org/licenses/LICENSE-2.0.txt http://www.apache.org/licenses/LICENSE-2.0 - - https://opensource.org/licenses/mit-license.php - http://www.opensource.org/li]censes/mit-license.php - - YARN Install + Apache AsterixDB YARN Install repo/asterix-app-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip repo/hyracks-control-cc-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip repo/asterix-hivecompat-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip @@ -431,7 +427,6 @@ javax.xml.bind jaxb-api - 2.2.2 org.apache.hadoop http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml index 93e2598..ea80127 100644 --- a/asterixdb/pom.xml +++ b/asterixdb/pom.xml @@ -1058,6 +1058,11 @@ + + javax.xml.bind + jaxb-api + 2.2.12 + http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/appended-resources/supplemental-models.xml ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/appended-resources/supplemental-models.xml b/asterixdb/src/main/appended-resources/supplemental-models.xml index f87a1a7..aa57859 100644 --- a/asterixdb/src/main/appended-resources/supplemental-models.xml +++ b/asterixdb/src/main/appended-resources/supplemental-models.xml @@ -73,7 +73,7 @@ - The BSD License + a BSD 3-clause license http://jline.sourceforge.net/license.html @@ -81,6 +81,18 @@ + com.jcraft + jsch + + + a BSD 3-clause license + http://www.jcraft.com/jsch/LICENSE.txt + + + + + + aopalliance aopalliance XML Pull Parsing API @@ -100,6 +112,7 @@ javax.servlet servlet-api Java Servlet API + https://jcp.org/aboutJava/communityprocess/mrel/jsr154/index.html Oracle Corporation http://www.oracle.com/ @@ -114,6 +127,18 @@ + jdom + jdom + + + an ASL v1.1-style license + licenses/jdom.txt + + + + + + rome rome ROME http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/content/paranamer-2.3_LICENSE.txt ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/content/paranamer-2.3_LICENSE.txt b/asterixdb/src/main/licenses/content/paranamer-2.3_LICENSE.txt new file mode 100644 index 0000000..522176f --- /dev/null +++ b/asterixdb/src/main/licenses/content/paranamer-2.3_LICENSE.txt @@ -0,0 +1,28 @@ +[ ParaNamer used to be 'Pubic Domain', but since it includes a small piece of ASM it is now the same license as that: BSD ] + + Copyright (c) 2006 Paul Hammant & ThoughtWorks Inc + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/content/protobuf_2.5.0_LICENSE.txt ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/content/protobuf_2.5.0_LICENSE.txt b/asterixdb/src/main/licenses/content/protobuf_2.5.0_LICENSE.txt index 2dcab42..fb69007 100644 --- a/asterixdb/src/main/licenses/content/protobuf_2.5.0_LICENSE.txt +++ b/asterixdb/src/main/licenses/content/protobuf_2.5.0_LICENSE.txt @@ -1,4 +1,5 @@ -Copyright 2014, Google Inc. All rights reserved. +Copyright 2008, Google Inc. +All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -29,4 +30,4 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Code generated by the Protocol Buffer compiler is owned by the owner of the input file used when generating it. This code is not standalone and requires a support library to be linked with it. This -support library is itself covered by the above license. +support library is itself covered by the above license. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/content/raw.githubusercontent.com_codehaus_paranamer-git_master_LICENSE.txt ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_codehaus_paranamer-git_master_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_codehaus_paranamer-git_master_LICENSE.txt deleted file mode 100644 index 522176f..0000000 --- a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_codehaus_paranamer-git_master_LICENSE.txt +++ /dev/null @@ -1,28 +0,0 @@ -[ ParaNamer used to be 'Pubic Domain', but since it includes a small piece of ASM it is now the same license as that: BSD ] - - Copyright (c) 2006 Paul Hammant & ThoughtWorks Inc - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - THE POSSIBILITY OF SUCH DAMAGE. http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/templates/asterix-license.ftl ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/templates/asterix-license.ftl b/asterixdb/src/main/licenses/templates/asterix-license.ftl index 31c94c4..a4152ac 100644 --- a/asterixdb/src/main/licenses/templates/asterix-license.ftl +++ b/asterixdb/src/main/licenses/templates/asterix-license.ftl @@ -45,7 +45,7 @@ ${license.content} <#list projects as p> * ${p.name} (${p.groupId}:${p.artifactId}:${p.version}) - <#list p.locations as loc> + <#list p.locations as loc> - ${loc}${p.artifactId}-${p.version}.jar http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/templates/asterix-notice.ftl ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/templates/asterix-notice.ftl b/asterixdb/src/main/licenses/templates/asterix-notice.ftl index 6c96c88..030da26 100644 --- a/asterixdb/src/main/licenses/templates/asterix-notice.ftl +++ b/asterixdb/src/main/licenses/templates/asterix-notice.ftl @@ -18,7 +18,7 @@ --> <#-- TODO(mblow): share notice file template with hyracks via maven artifact --> <#if packageName?has_content> -Apache AsterixDB ${packageName!} +${packageName!} <#else> Apache AsterixDB @@ -29,11 +29,12 @@ The Apache Software Foundation (http://www.apache.org/). <#list noticeMap> AsterixDB utilizes many libraries, which come with the following applicable NOTICE(s): - <#items as e> <#assign noticeText = e.getKey()/> <#assign projects = e.getValue()/> + <#list projects as p> +${p.name} (${p.groupId}:${p.artifactId}:${p.version}) <#list p.locations as loc> - ${loc}${p.artifactId}-${p.version}.jar @@ -42,6 +43,5 @@ AsterixDB utilizes many libraries, which come with the following applicable NOTI <@indent spaces=6> ${noticeText} - http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/templates/source_licenses.ftl ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/templates/source_licenses.ftl b/asterixdb/src/main/licenses/templates/source_licenses.ftl index e13183c..191d953 100644 --- a/asterixdb/src/main/licenses/templates/source_licenses.ftl +++ b/asterixdb/src/main/licenses/templates/source_licenses.ftl @@ -87,7 +87,7 @@ Copyright 2012 Twitter, Inc. http://www.apache.org/licenses/LICENSE-2.0.txt -<@license files=["webui/static/js/smoothie.js", "feed/smoothie.js"]> +<@license files=["webui/static/js/smoothie.js", "feed/smoothie.js"] licenseName="The MIT License"> Copyright (c) 2010-2013, Joe Walnes Permission is hereby granted, free of charge, to any person obtaining a copy http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/asterixdb/src/main/licenses/templates/source_only_licenses.ftl ---------------------------------------------------------------------- diff --git a/asterixdb/src/main/licenses/templates/source_only_licenses.ftl b/asterixdb/src/main/licenses/templates/source_only_licenses.ftl index 376b1bf..8bf0c56 100644 --- a/asterixdb/src/main/licenses/templates/source_only_licenses.ftl +++ b/asterixdb/src/main/licenses/templates/source_only_licenses.ftl @@ -40,7 +40,8 @@ --- -<@license files="asterix-examples/src/main/resources/admaql101-demo/bottle.py" +<@license files=["asterix-examples/src/main/resources/admaql101-demo/bottle.py", + "asterix-examples/src/main/resources/tweetbook-demo/bottle.py"] component="AsterixDB API examples" licenseName="The MIT License"> Copyright (c) 2014, Marcel Hellkamp. @@ -74,7 +75,71 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI <@license files="asterix-examples/src/main/resources/tweetbook-demo/static/js/rainbowvis.js" component="AsterixDB API examples" licenseName="The MIT License"> +RainbowVis-JS +Released under MIT License -See https://opensource.org/licenses/mit-license.php +(text of The MIT License follows for convenience) +Copyright + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +<@license files="asterix-examples/src/main/resources/admaql101-demo/static/js/jquery.min.js" + component="AsterixDB API examples" licenseName="The MIT License"> +(https://github.com/jquery/jquery/blob/2.0.3/MIT-LICENSE.txt) +Copyright 2013 jQuery Foundation and other contributors +http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +<@license files="asterix-examples/src/main/resources/admaql101-demo/static/js/bootstrap.min.js" + component="AsterixDB API examples" licenseName="The Apache Software License, Version 2.0"> +bootstrap.js v3.0.0 by @fat and @mdo + +Copyright 2013 Twitter Inc. + +http://www.apache.org/licenses/LICENSE-2.0 + +<@license files="asterix-examples/src/main/resources/admaql101-demo/static/css/bootstrap.min.css" + component="AsterixDB API examples" licenseName="The Apache Software License, Version 2.0"> +Bootstrap v3.0.0 + +Copyright 2013 Twitter, Inc + +Licensed under the Apache License v2.0 +http://www.apache.org/licenses/LICENSE-2.0 + +Designed and built with all the love in the world by @mdo and @fat. + +also contains normalize.css v2.1.0, under the following license: +(https://github.com/necolas/normalize.css/blob/v2.1.0/LICENSE.md) + +Copyright (c) Nicolas Gallagher and Jonathan Neal + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/NOTICE ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/NOTICE b/hyracks-fullstack/NOTICE index 4888468..d44f7a0 100644 --- a/hyracks-fullstack/NOTICE +++ b/hyracks-fullstack/NOTICE @@ -1,4 +1,4 @@ -Apache AsterixDB Hyracks and Algebricks +Apache Hyracks and Algebricks Copyright 2015-2017 The Apache Software Foundation This product includes software developed at http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks-fullstack-license/pom.xml ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks-fullstack-license/pom.xml b/hyracks-fullstack/hyracks-fullstack-license/pom.xml index 201a628..7326284 100644 --- a/hyracks-fullstack/hyracks-fullstack-license/pom.xml +++ b/hyracks-fullstack/hyracks-fullstack-license/pom.xml @@ -59,8 +59,7 @@ LICENSE - - + NOTICE @@ -83,7 +82,7 @@ hyracks/hyracks-control/hyracks-control-cc/src/main/resources/ - Hyracks and Algebricks + Apache Hyracks and Algebricks http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl deleted file mode 100644 index 6b0570c..0000000 --- a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl +++ /dev/null @@ -1,47 +0,0 @@ -<#-- - ! 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. ---> -<#-- TODO(mblow): share notice file template with asterixdb via maven artifact --> -<#if packageName?has_content> -Apache AsterixDB ${packageName!} -<#else> -Apache AsterixDB - -Copyright 2015-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). -<#list noticeMap> - -AsterixDB utilizes many libraries, which come with the following applicable NOTICE(s): - -<#items as e> - <#assign noticeText = e.getKey()/> - <#assign projects = e.getValue()/> - <#list projects as p> - <#list p.locations as loc> -- ${loc}${p.artifactId}-${p.version}.jar - - - -<@indent spaces=6> -${noticeText} - - - - http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/hyracks-notice.ftl ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/hyracks-notice.ftl b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/hyracks-notice.ftl new file mode 100644 index 0000000..c59e80a --- /dev/null +++ b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/hyracks-notice.ftl @@ -0,0 +1,44 @@ +<#-- + ! 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. +--> +<#-- TODO(mblow): share notice file template with asterixdb via maven artifact --> +Apache Hyracks and Algebricks +Copyright 2015-2017 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). +<#list noticeMap> + +Hyracks and Algebricks utilize many libraries, which come with the following applicable NOTICE(s): + +<#items as e> + <#assign noticeText = e.getKey()/> + <#assign projects = e.getValue()/> + <#list projects as p> +${p.name} (${p.groupId}:${p.artifactId}:${p.version}) + <#list p.locations as loc> +- ${loc}${p.artifactId}-${p.version}.jar + + + +<@indent spaces=6> +${noticeText} + + + + http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/pom.xml b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/pom.xml index 36c4edf..193f9e8 100644 --- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/pom.xml +++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/pom.xml @@ -85,6 +85,11 @@ maven-artifact 3.0 + + org.apache.maven + maven-compat + 3.3.9 + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java index fa5429a..b604f18 100644 --- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java +++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/GenerateFileMojo.java @@ -22,8 +22,11 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; +import java.lang.Override; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.Enumeration; import java.util.HashMap; @@ -31,6 +34,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Random; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; @@ -49,17 +53,31 @@ import freemarker.cache.FileTemplateLoader; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; import org.apache.hyracks.maven.license.freemarker.IndentDirective; import org.apache.hyracks.maven.license.freemarker.LoadFileDirective; import org.apache.hyracks.maven.license.project.LicensedProjects; import org.apache.hyracks.maven.license.project.Project; -import org.apache.commons.io.IOUtils; +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.DefaultArtifact; +import org.apache.maven.artifact.metadata.ArtifactMetadata; +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; +import org.apache.maven.artifact.repository.Authentication; +import org.apache.maven.artifact.repository.DefaultRepositoryRequest; +import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; +import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; +import org.apache.maven.artifact.resolver.ArtifactResolutionRequest; +import org.apache.maven.artifact.resolver.ArtifactResolutionResult; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuildingException; +import org.apache.maven.repository.Proxy; @Mojo(name = "generate", requiresProject = true, @@ -109,15 +127,68 @@ public class GenerateFileMojo extends LicenseMojo { resolveNoticeFiles(); resolveLicenseFiles(); rebuildLicenseContentProjectMap(); - buildNoticeProjectMap(); - persistLicenseMap(); combineCommonGavs(); + collectSourceAssemblies(); + persistLicenseMap(); + buildNoticeProjectMap(); generateFiles(); } catch (IOException | TemplateException | ProjectBuildingException e) { throw new MojoExecutionException("Unexpected exception: " + e, e); } } + private void collectSourceAssemblies() throws ProjectBuildingException, IOException { + try (StubArtifactRepository stubRepo = new StubArtifactRepository()) { + DefaultRepositoryRequest rr = new DefaultRepositoryRequest(); + rr.setLocalRepository(stubRepo); + ArtifactRepository central = getCentralRepository(); + rr.setRemoteRepositories(Collections.singletonList(central)); + ArtifactResolutionRequest request = new ArtifactResolutionRequest(rr); + for (LicensedProjects lp : licenseMap.values()) { + if (lp.getLicense().getDisplayName() != null + && lp.getLicense().getDisplayName().toLowerCase().contains("cddl")) { + ensureCDDLSourcesPointer(lp.getProjects(), central, request); + } + } + } + } + + private void ensureCDDLSourcesPointer(Collection projects, ArtifactRepository central, + ArtifactResolutionRequest request) throws ProjectBuildingException { + for (Project p : projects) { + if (p.getSourcePointer() != null) { + continue; + } + getLog().debug("finding sources for artifact: " + p); + Artifact sourcesArtifact = new DefaultArtifact(p.getGroupId(), p.getArtifactId(), + p.getVersion(), Artifact.SCOPE_COMPILE, "jar", "sources", null); + MavenProject mavenProject = resolveDependency(sourcesArtifact); + sourcesArtifact.setArtifactHandler(mavenProject.getArtifact().getArtifactHandler()); + + request.setArtifact(sourcesArtifact); + ArtifactResolutionResult result = artifactResolver.resolve(request); + getLog().debug("result: " + result); + StringBuilder noticeBuilder = new StringBuilder("You may obtain "); + noticeBuilder.append(p.getName()).append(" in Source Code form code here:\n"); + if (result.isSuccess()) { + noticeBuilder.append(central.getUrl()).append("/").append(central.pathOf(sourcesArtifact)); + } else { + getLog().warn("Unable to find sources in 'central' for " + p + ", falling back to project url: " + + p.getUrl()); + noticeBuilder.append(p.getUrl() != null ? p.getUrl() : "MISSING SOURCE POINTER"); + } + p.setSourcePointer(noticeBuilder.toString()); + } + } + + private ArtifactRepository getCentralRepository() { + for (ArtifactRepository repo : session.getRequest().getRemoteRepositories()) { + if ("central".equals(repo.getId())) { + return repo; + } + } + throw new IllegalStateException("Unable to find 'central' remote repository!"); + } private void resolveLicenseContent() throws IOException { Set licenseSpecs = new HashSet<>(); @@ -220,9 +291,9 @@ public class GenerateFileMojo extends LicenseMojo { spec.setDisplayName(projects.getLicense().getDisplayName()); } } - for (Project project : projects.getProjects()) { - project.setLocation(extraLicenseFile.getLocation()); - addProject(project, projects.getLicense(), extraLicenseFile.isAdditive()); + for (Project p : projects.getProjects()) { + p.setLocation(extraLicenseFile.getLocation()); + addProject(p, projects.getLicense(), extraLicenseFile.isAdditive()); } } } @@ -244,10 +315,10 @@ public class GenerateFileMojo extends LicenseMojo { int counter = 0; Map licenseMap2 = new TreeMap<>(WHITESPACE_NORMALIZED_COMPARATOR); for (LicensedProjects lps : licenseMap.values()) { - for (Project project : lps.getProjects()) { - String licenseText = project.getLicenseText(); + for (Project p : lps.getProjects()) { + String licenseText = p.getLicenseText(); if (licenseText == null) { - getLog().warn("Using license other than from within artifact: " + project.gav()); + getLog().warn("Using license other than from within artifact: " + p.gav()); licenseText = resolveLicenseContent(lps.getLicense(), false); } LicenseSpec spec = lps.getLicense(); @@ -268,7 +339,7 @@ public class GenerateFileMojo extends LicenseMojo { if (lp2.getLicense().getDisplayName() == null) { lp2.getLicense().setDisplayName(lps.getLicense().getDisplayName()); } - lp2.addProject(project); + lp2.addProject(p); } } licenseMap = licenseMap2; @@ -282,15 +353,26 @@ public class GenerateFileMojo extends LicenseMojo { private void buildNoticeProjectMap() { noticeMap = new TreeMap<>(WHITESPACE_NORMALIZED_COMPARATOR); - for (Project project : getProjects()) { - final String noticeText = project.getNoticeText(); + for (Project p : getProjects()) { + prependSourcePointerToNotice(p); + final String noticeText = p.getNoticeText(); if (noticeText == null) { continue; } if (!noticeMap.containsKey(noticeText)) { noticeMap.put(noticeText, new TreeSet<>(Project.PROJECT_COMPARATOR)); } - noticeMap.get(noticeText).add(project); + noticeMap.get(noticeText).add(p); + } + } + + private void prependSourcePointerToNotice(Project project) { + if (project.getSourcePointer() != null) { + String notice = project.getSourcePointer().replace("\n", "\n "); + if (project.getNoticeText() != null) { + notice += "\n\n" + project.getNoticeText(); + } + project.setNoticeText(notice); } } @@ -308,8 +390,8 @@ public class GenerateFileMojo extends LicenseMojo { private void resolveArtifactFiles(final String name, Predicate filter, BiConsumer consumer, UnaryOperator contentTransformer) throws MojoExecutionException, IOException { - for (Project project : getProjects()) { - File artifactFile = new File(project.getArtifactPath()); + for (Project p : getProjects()) { + File artifactFile = new File(p.getArtifactPath()); if (!artifactFile.exists()) { throw new MojoExecutionException("Artifact file " + artifactFile + " does not exist!"); } else if (!artifactFile.getName().endsWith(".jar")) { @@ -320,15 +402,15 @@ public class GenerateFileMojo extends LicenseMojo { SortedMap matches = gatherMatchingEntries(jarFile, filter); if (matches.isEmpty()) { - getLog().warn("No " + name + " file found for " + project.gav()); + getLog().warn("No " + name + " file found for " + p.gav()); } else { if (matches.size() > 1) { - getLog().warn("Multiple " + name + " files found for " + project.gav() + ": " + matches.keySet() + getLog().warn("Multiple " + name + " files found for " + p.gav() + ": " + matches.keySet() + "; taking first"); } else { - getLog().info(project.gav() + " has " + name + " file: " + matches.keySet()); + getLog().info(p.gav() + " has " + name + " file: " + matches.keySet()); } - resolveContent(project, jarFile, matches.values().iterator().next(), + resolveContent(p, jarFile, matches.values().iterator().next(), contentTransformer, consumer, name); } } @@ -359,5 +441,154 @@ public class GenerateFileMojo extends LicenseMojo { } return matches; } + + private static class StubArtifactRepository implements ArtifactRepository, AutoCloseable { + private static final Random random = new Random(); + private final File tempDir; + private final ArtifactRepositoryLayout layout; + + public StubArtifactRepository() { + String tmpDir = System.getProperty("java.io.tmpdir", "/tmp"); + this.tempDir = new File(tmpDir, "repo" + random.nextInt()); + this.layout = new DefaultRepositoryLayout(); + } + + @Override + public ArtifactRepositoryLayout getLayout() { + return layout; + } + + @Override + public String pathOf(Artifact artifact) { + return this.layout.pathOf(artifact); + } + + @Override + public String getBasedir() { + return tempDir.toString(); + } + + @Override + public void close() throws IOException { + FileUtils.deleteDirectory(tempDir); + + } + + @Override + public String pathOfRemoteRepositoryMetadata(ArtifactMetadata artifactMetadata) { + return null; + } + + @Override + public String pathOfLocalRepositoryMetadata(ArtifactMetadata artifactMetadata, + ArtifactRepository artifactRepository) { + return null; + } + + @Override + public String getUrl() { + return null; + } + + @Override + public void setUrl(String s) { + // unused + } + + @Override + public String getProtocol() { + return null; + } + + @Override + public String getId() { + return "stub"; + } + + @Override + public void setId(String s) { + // unused + } + + @Override + public ArtifactRepositoryPolicy getSnapshots() { + return null; + } + + @Override + public void setSnapshotUpdatePolicy(ArtifactRepositoryPolicy artifactRepositoryPolicy) { + // unused + } + + @Override + public ArtifactRepositoryPolicy getReleases() { + return null; + } + + @Override + public void setReleaseUpdatePolicy(ArtifactRepositoryPolicy artifactRepositoryPolicy) { + // unused + } + + @Override + public void setLayout(ArtifactRepositoryLayout artifactRepositoryLayout) { + // unused + } + + @Override + public String getKey() { + return null; + } + + @Override + public boolean isUniqueVersion() { + return false; + } + + @Override + public boolean isBlacklisted() { + return false; + } + + @Override + public void setBlacklisted(boolean b) { + // unused + } + + @Override + public Artifact find(Artifact artifact) { + return null; + } + + @Override + public List findVersions(Artifact artifact) { + return Collections.emptyList(); + } + + @Override + public boolean isProjectAware() { + return false; + } + + @Override + public void setAuthentication(Authentication authentication) { + // unused + } + + @Override + public Authentication getAuthentication() { + return null; + } + + @Override + public void setProxy(Proxy proxy) { + // unused + } + + @Override + public Proxy getProxy() { + return null; + } + } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java index 4363170..929b7d7 100644 --- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java +++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/LicenseMojo.java @@ -40,6 +40,7 @@ import org.apache.hyracks.maven.license.project.LicensedProjects; import org.apache.hyracks.maven.license.project.Project; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.execution.MavenSession; import org.apache.maven.model.License; import org.apache.maven.model.Model; import org.apache.maven.plugin.AbstractMojo; @@ -86,6 +87,12 @@ public abstract class LicenseMojo extends AbstractMojo { @Component private ModelInheritanceAssembler assembler; + @Parameter( defaultValue = "${session}", required = true, readonly = true ) + protected MavenSession session; + + @Component + protected org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver; + @Parameter ( required = true ) private String location; @@ -192,6 +199,9 @@ public abstract class LicenseMojo extends AbstractMojo { urlToLicenseMap.put(alias ,license); } } + } else if (license.getDisplayName() == null && spec.getDisplayName() != null) { + getLog().info("Propagating license name from " + project.gav() + ": " + spec.getDisplayName()); + license.setDisplayName(spec.getDisplayName()); } licenseUrl = license.getUrl(); LicensedProjects entry = licenseMap.get(licenseUrl); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/62249664/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/project/Project.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/project/Project.java b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/project/Project.java index e5e57ad..80d4548 100644 --- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/project/Project.java +++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/project/Project.java @@ -19,7 +19,9 @@ package org.apache.hyracks.maven.license.project; import java.io.File; +import java.util.Arrays; import java.util.Comparator; +import java.util.List; import org.apache.maven.project.MavenProject; @@ -37,6 +39,7 @@ public class Project { private String artifactPath; private String noticeText; private String licenseText; + private String sourcePointer; @JsonIgnore private MavenProject mavenProject; @@ -105,8 +108,9 @@ public class Project { } @JsonIgnore - public String [] getLocations() { - return getLocation().split(","); + public List getLocations() { + // TODO(mblow): store locations as an set instead of string + return Arrays.asList(getLocation().split(",")); } public void setArtifactId(String artifactId) { @@ -156,4 +160,17 @@ public class Project { public void setLicenseText(String licenseText) { this.licenseText = licenseText; } + + public String getSourcePointer() { + return sourcePointer; + } + + public void setSourcePointer(String sourcePointer) { + this.sourcePointer = sourcePointer; + } + + @Override + public String toString() { + return "Project [" + gav() + "]"; + } }