Skip to content
Permalink
Browse files
[ASTERIXDB-2729][LIC] Fix license warnings in newly added AWS librari…
…es & 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 <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Hussain Towaileb <hussainht@gmail.com>
Reviewed-by: Michael Blow <mblow@apache.org>
  • Loading branch information
htowaileb authored and mblow committed May 13, 2020
1 parent e844fad commit 5e44128bc13a93a3cadb12a87ecd691218481447
Showing 6 changed files with 304 additions and 17 deletions.
@@ -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>
@@ -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>
@@ -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
@@ -0,0 +1,2 @@
AWS EventStream for Java
Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
@@ -360,23 +360,31 @@ protected Map<MavenProject, List<Pair<String, String>>> gatherDependencies() thr

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;
@@ -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
@@ -26,6 +29,9 @@ public class Override {
@SuppressWarnings("unused") // set by Maven plugin configuration
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;

@@ -36,6 +42,10 @@ public String getGav() {
return gav;
}

public List<String> getGavs() {
return gavs;
}

public String getUrl() {
return url;
}

0 comments on commit 5e44128

Please sign in to comment.