This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 5e44128bc13a93a3cadb12a87ecd691218481447 Author: Hussain Towaileb <[email protected]> AuthorDate: Wed May 13 03:02:49 2020 +0300 [ASTERIXDB-2729][LIC] Fix license warnings in newly added AWS libraries & dependencies - user model changes: no - storage format changes: no - interface changes: no Details: - Added all missing licenses. - Silenced all warnings being generated by the licenses. - Updated the license check to accept <gavs> property for convenience of use. Change-Id: I0ab576d748799a59d23990e2379bdf6aed74a7e5 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/6284 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Hussain Towaileb <[email protected]> Reviewed-by: Michael Blow <[email protected]> --- asterixdb/asterix-server/pom.xml | 24 +++ .../appended-resources/supplemental-models.xml | 227 +++++++++++++++++++++ ...tent.com_aws_aws-sdk-java-v2_2.10.83_NOTICE.txt | 16 ++ ...dd80e12f8835674c8ffb0f4a2efb64c7b585_NOTICE.txt | 2 + .../apache/hyracks/maven/license/LicenseMojo.java | 42 ++-- .../org/apache/hyracks/maven/license/Override.java | 10 + 6 files changed, 304 insertions(+), 17 deletions(-) diff --git a/asterixdb/asterix-server/pom.xml b/asterixdb/asterix-server/pom.xml index a542c70..2f367aa 100644 --- a/asterixdb/asterix-server/pom.xml +++ b/asterixdb/asterix-server/pom.xml @@ -177,6 +177,30 @@ <noticeUrl>https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/v1.0.2/COPYING.txt</noticeUrl> <url>https://raw.githubusercontent.com/reactive-streams/reactive-streams-jvm/v1.0.2/LICENSE.txt</url> </override> + <override> + <gavs> + <gav>software.amazon.awssdk:sdk-core:2.10.83</gav> + <gav>software.amazon.awssdk:aws-core:2.10.83</gav> + <gav>software.amazon.awssdk:auth:2.10.83</gav> + <gav>software.amazon.awssdk:arns:2.10.83</gav> + <gav>software.amazon.awssdk:annotations:2.10.83</gav> + <gav>software.amazon.awssdk:utils:2.10.83</gav> + <gav>software.amazon.awssdk:aws-query-protocol:2.10.83</gav> + <gav>software.amazon.awssdk:profiles:2.10.83</gav> + <gav>software.amazon.awssdk:protocol-core:2.10.83</gav> + <gav>software.amazon.awssdk:s3:2.10.83</gav> + <gav>software.amazon.awssdk:netty-nio-client:2.10.83</gav> + <gav>software.amazon.awssdk:apache-client:2.10.83</gav> + <gav>software.amazon.awssdk:aws-xml-protocol:2.10.83</gav> + <gav>software.amazon.awssdk:regions:2.10.83</gav> + <gav>software.amazon.awssdk:http-client-spi:2.10.83</gav> + </gavs> + <noticeUrl>https://raw.githubusercontent.com/aws/aws-sdk-java-v2/2.10.83/NOTICE.txt</noticeUrl> + </override> + <override> + <gav>software.amazon.eventstream:eventstream:1.0.1</gav> + <noticeUrl>https://raw.githubusercontent.com/awslabs/aws-eventstream-java/7be2dd80e12f8835674c8ffb0f4a2efb64c7b585/NOTICE</noticeUrl> + </override> </overrides> <licenses> <license> diff --git a/asterixdb/src/main/appended-resources/supplemental-models.xml b/asterixdb/src/main/appended-resources/supplemental-models.xml index 04740f3..0bb23f0 100644 --- a/asterixdb/src/main/appended-resources/supplemental-models.xml +++ b/asterixdb/src/main/appended-resources/supplemental-models.xml @@ -271,4 +271,231 @@ </properties> </project> </supplement> + + <!-- AWS SDK begin --> + <!-- software.amazon.awssdk is ALv2, and does not contain any embedded LICENSE or NOTICE file --> + <!-- license override not needed, ALv2 is specified in its pom.xml --> + <!-- see https://github.com/aws/aws-sdk-java-v2/blob/master/LICENSE.txt --> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>sdk-core</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>aws-core</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>s3</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>auth</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>protocol-core</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>regions</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>arns</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>netty-nio-client</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>aws-xml-protocol</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>annotations</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>apache-client</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>utils</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>http-client-spi</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>aws-query-protocol</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <supplement> + <project> + <groupId>software.amazon.awssdk</groupId> + <artifactId>profiles</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.10.83</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.10.83</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>2.10.83</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + + <!-- software.amazon.eventstream is ALv2, and does not contain any embedded LICENSE or NOTICE file --> + <!-- license override not needed, ALv2 is specified in its pom.xml --> + <!-- see https://github.com/awslabs/aws-eventstream-java --> + <supplement> + <project> + <groupId>software.amazon.eventstream</groupId> + <artifactId>eventstream</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>1.0.1</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>1.0.1</license.ignoreMissingEmbeddedNotice> + <license.ignoreNoticeOverride>1.0.1</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + <!-- AWS SDK end --> + + <!-- com.typesafe.netty is ALv2, and does not contain any embedded LICENSE or NOTICE file --> + <!-- license override not needed, ALv2 is specified in its pom.xml --> + <!-- see https://github.com/playframework/netty-reactive-streams --> + <supplement> + <project> + <groupId>com.typesafe.netty</groupId> + <artifactId>netty-reactive-streams</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.0.4</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.0.4</license.ignoreMissingEmbeddedNotice> + </properties> + </project> + </supplement> + + <supplement> + <project> + <groupId>com.typesafe.netty</groupId> + <artifactId>netty-reactive-streams-http</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>2.0.4</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>2.0.4</license.ignoreMissingEmbeddedNotice> + </properties> + </project> + </supplement> + + <!-- org.reactivestreams does not contain any embedded LICENSE or NOTICE file --> + <!-- see https://github.com/reactive-streams/reactive-streams-jvm --> + <supplement> + <project> + <groupId>org.reactivestreams</groupId> + <artifactId>reactive-streams</artifactId> + <properties> + <license.ignoreMissingEmbeddedLicense>1.0.2</license.ignoreMissingEmbeddedLicense> + <license.ignoreMissingEmbeddedNotice>1.0.2</license.ignoreMissingEmbeddedNotice> + <license.ignoreLicenseOverride>1.0.2</license.ignoreLicenseOverride> + <license.ignoreNoticeOverride>1.0.2</license.ignoreNoticeOverride> + </properties> + </project> + </supplement> + </supplementalDataModels> diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_aws_aws-sdk-java-v2_2.10.83_NOTICE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_aws_aws-sdk-java-v2_2.10.83_NOTICE.txt new file mode 100644 index 0000000..f3c67c6 --- /dev/null +++ b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_aws_aws-sdk-java-v2_2.10.83_NOTICE.txt @@ -0,0 +1,16 @@ +AWS SDK for Java 2.0 +Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + +This product includes software developed by +Amazon Technologies, Inc (http://www.amazon.com/). + +********************** +THIRD PARTY COMPONENTS +********************** +This software includes third party software subject to the following copyrights: +- XML parsing and utility functions from JetS3t - Copyright 2006-2009 James Murty. +- PKCS#1 PEM encoded private key parsing and utility functions from oauth.googlecode.com - Copyright 1998-2010 AOL Inc. +- Apache Commons Lang - https://github.com/apache/commons-lang +- Netty Reactive Streams - https://github.com/playframework/netty-reactive-streams + +The licenses for these third party components are included in LICENSE.txt \ No newline at end of file diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_awslabs_aws-eventstream-java_7be2dd80e12f8835674c8ffb0f4a2efb64c7b585_NOTICE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_awslabs_aws-eventstream-java_7be2dd80e12f8835674c8ffb0f4a2efb64c7b585_NOTICE.txt new file mode 100644 index 0000000..6822ad6 --- /dev/null +++ b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_awslabs_aws-eventstream-java_7be2dd80e12f8835674c8ffb0f4a2efb64c7b585_NOTICE.txt @@ -0,0 +1,2 @@ +AWS EventStream for Java +Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. \ No newline at end of file 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 e72404c..89993fd 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 @@ -360,23 +360,31 @@ public abstract class LicenseMojo extends AbstractMojo { gatherProjectDependencies(project, dependencyLicenseMap, dependencyGavMap); for (Override override : overrides) { - String gav = override.getGav(); - MavenProject dep = dependencyGavMap.get(gav); - if (dep == null) { - getLog().warn("Unused override dependency " + gav + "; ignoring..."); - continue; - } - if (override.getUrl() != null) { - final List<Pair<String, String>> newLicense = - Collections.singletonList(new ImmutablePair<>(override.getUrl(), override.getName())); - List<Pair<String, String>> prevLicense = dependencyLicenseMap.put(dep, newLicense); - warnUnlessFlag(dep, IGNORE_LICENSE_OVERRIDE, "license list for " + toGav(dep) - + " changed with <override>; was: " + prevLicense + ", now: " + newLicense); - } - if (override.getNoticeUrl() != null) { - noticeOverrides.put(gav, override.getNoticeUrl()); - warnUnlessFlag(dep, IGNORE_NOTICE_OVERRIDE, - "notice for " + toGav(dep) + " changed with <override>; now: " + override.getNoticeUrl()); + + // Collect both <gav></gav> and <gavs><gav></gav><gav></gav>...</gavs> + List<String> gavs = override.getGavs(); + if (override.getGav() != null) { + gavs.add(override.getGav()); + } + + for (String gav : gavs) { + MavenProject dep = dependencyGavMap.get(gav); + if (dep == null) { + getLog().warn("Unused override dependency " + gav + "; ignoring..."); + continue; + } + if (override.getUrl() != null) { + final List<Pair<String, String>> newLicense = + Collections.singletonList(new ImmutablePair<>(override.getUrl(), override.getName())); + List<Pair<String, String>> prevLicense = dependencyLicenseMap.put(dep, newLicense); + warnUnlessFlag(dep, IGNORE_LICENSE_OVERRIDE, "license list for " + toGav(dep) + + " changed with <override>; was: " + prevLicense + ", now: " + newLicense); + } + if (override.getNoticeUrl() != null) { + noticeOverrides.put(gav, override.getNoticeUrl()); + warnUnlessFlag(dep, IGNORE_NOTICE_OVERRIDE, + "notice for " + toGav(dep) + " changed with <override>; now: " + override.getNoticeUrl()); + } } } return dependencyLicenseMap; diff --git a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/Override.java b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/Override.java index 0391dfb..f19df51 100644 --- a/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/Override.java +++ b/hyracks-fullstack/hyracks/hyracks-maven-plugins/license-automation-plugin/src/main/java/org/apache/hyracks/maven/license/Override.java @@ -18,6 +18,9 @@ */ package org.apache.hyracks.maven.license; +import java.util.ArrayList; +import java.util.List; + public class Override { @SuppressWarnings("unused") // set by Maven plugin configuration @@ -27,6 +30,9 @@ public class Override { private String gav; @SuppressWarnings("unused") // set by Maven plugin configuration + private List<String> gavs = new ArrayList<>(); + + @SuppressWarnings("unused") // set by Maven plugin configuration private String name; @SuppressWarnings("unused") // set by Maven plugin configuration @@ -36,6 +42,10 @@ public class Override { return gav; } + public List<String> getGavs() { + return gavs; + } + public String getUrl() { return url; }
