[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/NOTICE b/asterixdb-jdbc/NOTICE
index 0f871c8..3b894c9 100644
--- a/asterixdb-jdbc/NOTICE
+++ b/asterixdb-jdbc/NOTICE
@@ -1,5 +1,5 @@
Apache AsterixDB JDBC Driver
-Copyright 2021 The Apache Software Foundation
+Copyright 2021-2022 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
diff --git a/asterixdb-jdbc/asterix-jdbc-core/pom.xml b/asterixdb-jdbc/asterix-jdbc-core/pom.xml
index 59f4b11..1fc08fe 100644
--- a/asterixdb-jdbc/asterix-jdbc-core/pom.xml
+++ b/asterixdb-jdbc/asterix-jdbc-core/pom.xml
@@ -38,6 +38,7 @@
<properties>
<root.dir>${basedir}/..</root.dir>
+ <implementation.title>Apache AsterixDB JDBC Driver</implementation.title>
</properties>
<dependencies>
@@ -54,4 +55,32 @@
<artifactId>jackson-annotations</artifactId>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <!-- Copy LICENSE/NOTICE -->
+ <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>
+ </plugins>
+ </build>
</project>
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>
diff --git a/asterixdb-jdbc/asterix-jdbc-taco/pom.xml b/asterixdb-jdbc/asterix-jdbc-taco/pom.xml
index 0c5af72..71eef77 100644
--- a/asterixdb-jdbc/asterix-jdbc-taco/pom.xml
+++ b/asterixdb-jdbc/asterix-jdbc-taco/pom.xml
@@ -68,7 +68,8 @@
<build.taco.gensrc.plugin.class.directory>${build.taco.gensrc.directory}/plugins/${taco.plugin.class}</build.taco.gensrc.plugin.class.directory>
<build.taco.sdk.directory>${build.taco.directory}/connector-plugin-sdk</build.taco.sdk.directory>
<build.taco.log.directory>${build.taco.directory}</build.taco.log.directory>
- <build.taco.package.file>${project.build.directory}/${taco.plugin.class}.taco</build.taco.package.file>
+ <build.taco.filename>${taco.plugin.class}.taco</build.taco.filename>
+ <build.taco.file>${project.build.directory}/${build.taco.filename}</build.taco.file>
<build.venv.directory>${project.build.directory}/venv</build.venv.directory>
<build.venv.python.path>${build.venv.directory}/bin/python</build.venv.python.path>
</properties>
@@ -228,7 +229,7 @@
<goal>shade</goal>
</goals>
<configuration>
- <outputFile>${build.taco.package.file}</outputFile>
+ <outputFile>${build.taco.file}</outputFile>
<artifactSet>
<includes>
<include>org.apache.asterix:asterix-jdbc-taco</include>
@@ -238,6 +239,43 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <!-- Print warning if .taco was not packaged by TACO SDK -->
+ <id>taco-package-nosdk-warn</id>
+ <phase>${build.taco.package.nosdk.stage}</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <echo level="warning">WARNING: Tableau Connector SDK was not used for ${build.taco.filename} packaging because 'taco.sdk.path' property is not set</echo>
+ </target>
+ </configuration>
+ </execution>
+ <execution>
+ <!-- Add license to .taco file -->
+ <id>taco-package-add-license</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <echo>Adding license to ${build.taco.filename}</echo>
+ <jar file="${build.taco.file}" update="true">
+ <fileset dir="${project.build.directory}/classes">
+ <include name="META-INF/LICENSE"/>
+ <include name="META-INF/NOTICE"/>
+ </fileset>
+ </jar>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
@@ -292,7 +330,7 @@
<rules>
<requireFilesExist>
<files>
- <file>${build.taco.package.file}</file>
+ <file>${build.taco.file}</file>
</files>
</requireFilesExist>
</rules>
diff --git a/asterixdb-jdbc/pom.xml b/asterixdb-jdbc/pom.xml
index bb0414f..9e318bb 100644
--- a/asterixdb-jdbc/pom.xml
+++ b/asterixdb-jdbc/pom.xml
@@ -67,6 +67,7 @@
<implementation.version>${project.version}</implementation.version>
<implementation.vendor>${project.organization.name}</implementation.vendor>
+ <hyracks.version>0.3.7.1</hyracks.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
<commons-collections4.version>4.4</commons-collections4.version>
<httpcore.version>4.4.14</httpcore.version>
@@ -420,6 +421,14 @@
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.hyracks</groupId>
+ <artifactId>license-automation-plugin</artifactId>
+ <version>${hyracks.version}</version>
+ <configuration>
+ <argLine>-Xmx2048m</argLine>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
</build>
diff --git a/asterixdb-jdbc/src/main/licenses/content/www.apache.org_licenses_LICENSE-2.0.txt b/asterixdb-jdbc/src/main/licenses/content/www.apache.org_licenses_LICENSE-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/asterixdb-jdbc/src/main/licenses/content/www.apache.org_licenses_LICENSE-2.0.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
diff --git a/asterixdb-jdbc/src/main/licenses/templates/asterix-jdbc-driver-license.ftl b/asterixdb-jdbc/src/main/licenses/templates/asterix-jdbc-driver-license.ftl
new file mode 100644
index 0000000..abc19f6
--- /dev/null
+++ b/asterixdb-jdbc/src/main/licenses/templates/asterix-jdbc-driver-license.ftl
@@ -0,0 +1,62 @@
+<#--
+ ! 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.
+-->
+<@indent spaces=3>
+<#list licenses as license>
+ <#if license.url == "http://www.apache.org/licenses/LICENSE-2.0.txt">
+${license.content}
+ <#break>
+ </#if>
+</#list>
+</@indent>
+===
+ ASTERIXDB JDBC DRIVER COMPONENTS:
+
+ AsterixDB JDBC Driver includes a number of subcomponents with separate copyright
+ notices and license terms. Your use of these subcomponents is subject
+ to the terms and condition of the following licenses.
+===
+<#list licenseMap as e>
+ <#assign licenseUrl = e.getKey()/>
+ <#assign entry = e.getValue()/>
+ <#assign projects = entry.projects/>
+ <#assign license = entry.getLicense()/>
+ <#if projects?size == 1>
+ Component:
+ <#assign isare = "is"/>
+ <#else>
+ Components:
+ <#assign isare = "are"/>
+ </#if>
+ <#list projects as p>
+ * ${p.name} (${p.groupId}:${p.artifactId}:${p.version})
+ </#list>
+
+ <#if license.url == "PUBLIC_DOMAIN">
+ ${isare} in the public domain.
+ <#elseif license.url == "http://www.apache.org/licenses/LICENSE-2.0.txt">
+ ${isare} available under ${license.displayName}.
+ <#else>
+ ${isare} available under ${license.displayName!"the following license"}:
+---
+<@indent spaces=6>
+${license.content}
+</@indent>
+ </#if>
+---
+</#list>
diff --git a/asterixdb-jdbc/src/main/licenses/templates/asterix-jdbc-driver-notice.ftl b/asterixdb-jdbc/src/main/licenses/templates/asterix-jdbc-driver-notice.ftl
new file mode 100644
index 0000000..8308379
--- /dev/null
+++ b/asterixdb-jdbc/src/main/licenses/templates/asterix-jdbc-driver-notice.ftl
@@ -0,0 +1,47 @@
+<#--
+ ! 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 hyracks via maven artifact -->
+<#if packageName?has_content>
+${packageName!}
+<#else>
+Apache AsterixDB JDBC Driver
+</#if>
+Copyright 2021-${.now?string('yyyy')} The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+The Initial Developer of the driver software is Couchbase, Inc.
+Copyright 2021 Couchbase, Inc.
+<#list noticeMap>
+
+AsterixDB JDBC Driver utilizes several 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>
+
+<@indent spaces=6>
+${noticeText}
+</@indent>
+</#items>
+</#list>