[NO ISSUE] Fix license generation
Change-Id: I97d005052202b3053ab0ad1be3ad2858c16757c4
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb-clients/+/15423
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>
Reviewed-by: Michael Blow <mblow@apache.org>
diff --git a/asterixdb-jdbc/asterix-jdbc-driver/pom.xml b/asterixdb-jdbc/asterix-jdbc-driver/pom.xml
index 75c288a..8c03da0 100644
--- a/asterixdb-jdbc/asterix-jdbc-driver/pom.xml
+++ b/asterixdb-jdbc/asterix-jdbc-driver/pom.xml
@@ -40,6 +40,9 @@
<root.dir>${basedir}/..</root.dir>
<source.java.package.path>org/apache/asterix/jdbc/</source.java.package.path>
<implementation.title>Apache AsterixDB JDBC Driver</implementation.title>
+ <build.dist.classifier>dist</build.dist.classifier>
+ <build.license.directory>${project.build.directory}/license</build.license.directory>
+ <build.license.resources.directory>${build.license.directory}/resources</build.license.resources.directory>
</properties>
<dependencies>
@@ -69,6 +72,70 @@
<build>
<plugins>
<plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <!-- Copy license for jar -->
+ <id>copy-license</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <copy todir="${project.build.directory}/classes/META-INF" overwrite="true">
+ <fileset dir="${root.dir}">
+ <include name="LICENSE"/>
+ <include name="NOTICE"/>
+ </fileset>
+ </copy>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Generate license for dist jar -->
+ <groupId>org.apache.hyracks</groupId>
+ <artifactId>license-automation-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDir>${build.license.resources.directory}/META-INF</outputDir>
+ <templateRootDir>${root.dir}</templateRootDir>
+ <generatedFiles>
+ <generatedFile>
+ <template>src/main/licenses/templates/asterix-jdbc-driver-license.ftl</template>
+ <outputFile>LICENSE</outputFile>
+ </generatedFile>
+ <generatedFile>
+ <template>src/main/licenses/templates/asterix-jdbc-driver-notice.ftl</template>
+ <outputFile>NOTICE</outputFile>
+ </generatedFile>
+ </generatedFiles>
+ <licenseDirectory>${root.dir}/src/main/licenses/content</licenseDirectory>
+ <licenseMapOutputFile>${build.license.directory}/license_map.json</licenseMapOutputFile>
+ <location>${project.artifactId}-${project.version}-${build.dist.classifier}.jar/</location>
+ <timeoutSecs>10</timeoutSecs>
+ <downloadDir>${build.license.directory}/download</downloadDir>
+ <excludedScopes>
+ <excludedScope>test</excludedScope>
+ </excludedScopes>
+ <excludes>
+ <exclude>org.apache.asterix:*</exclude>
+ </excludes>
+ <templateProperties>
+ <packageName>${implementation.title}</packageName>
+ </templateProperties>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
@@ -96,14 +163,17 @@
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
- <shadedClassifierName>dist</shadedClassifierName>
+ <shadedClassifierName>${build.dist.classifier}</shadedClassifierName>
<transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
- <addHeader>false</addHeader>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.PluginXmlResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/LICENSE</resource>
+ <file>${build.license.resources.directory}/META-INF/LICENSE</file>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/NOTICE</resource>
+ <file>${build.license.resources.directory}/META-INF/NOTICE</file>
+ </transformer>
</transformers>
<relocations>
<relocation>
@@ -113,8 +183,17 @@
</relocations>
<filters>
<filter>
+ <artifact>org.apache.asterix:asterix-jdbc-driver</artifact>
+ <excludes>
+ <exclude>META-INF/NOTICE</exclude>
+ <exclude>META-INF/LICENSE</exclude>
+ </excludes>
+ </filter>
+ <filter>
<artifact>org.apache.asterix:asterix-jdbc-core</artifact>
<excludes>
+ <exclude>META-INF/NOTICE</exclude>
+ <exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
@@ -134,8 +213,8 @@
<excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/maven/commons-logging/*/pom.*</exclude>
- <exclude>META-INF/NOTICE</exclude>
- <exclude>META-INF/LICENSE</exclude>
+ <exclude>META-INF/NOTICE.*</exclude>
+ <exclude>META-INF/LICENSE.*</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
@@ -144,8 +223,8 @@
<excludes>
<exclude>module-info.class</exclude>
<exclude>META-INF/maven/commons-codec/*/pom.*</exclude>
- <exclude>META-INF/NOTICE</exclude>
- <exclude>META-INF/LICENSE</exclude>
+ <exclude>META-INF/NOTICE.*</exclude>
+ <exclude>META-INF/LICENSE.*</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>