Skip to content
Permalink
Browse files
IGNITE-16783 Move ignite-license-gen module to Ignite extensions (#106)
  • Loading branch information
Mmuzaf committed Apr 2, 2022
1 parent fc9be68 commit 08746cc849c7d1a8a0086f4a570f48f145a90c04
Showing 4 changed files with 112 additions and 0 deletions.
@@ -0,0 +1,33 @@
Apache Ignite License Generator Module
------------------------------

Apache Ignite License Generator module is a custom maven resource plugin.
It generates /license/{module name}-licenses.txt file contains list of module's non transitive dependencies.
Apache Ignite binary distribution contains all non transitive dependencies of it's modules.
Set of modules included to binary distribution may vary as well as their dependencies list, versions and licenses.
Automatic generation of /license/{module name}-licenses.txt file guarantee that binary distribution gives user
actual information about licenses used by Apache Ignite's modules.

Note that in case dependency provided under Apache License 2.0 only in will not appear inside generated file.

To use Apache Ignite License Generator Module in your project please add following to pom.xml:

<plugin><!-- generates dependencies licenses -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>ignite-dependencies</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>org.apache.ignite:ignite-apache-license-gen:${project.version}</resourceBundle>
</resourceBundles>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>

<!--
~ 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.
-->

<!--
POM file.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.apache.apache.resources</groupId>
<artifactId>apache-resource-bundles</artifactId>
<version>4</version>
</parent>

<groupId>org.apache.ignite</groupId>
<artifactId>ignite-apache-license-gen</artifactId>
<version>1.5.0-SNAPSHOT</version>
<url>https://ignite.apache.org</url>

</project>
@@ -0,0 +1,41 @@
##
## 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.
##
## $Id$
##
// ------------------------------------------------------------------
// List of #if ($projectName)$projectName#else${project.name}#end module's dependencies provided as a part of this distribution.
// ------------------------------------------------------------------

#foreach ( $organizationName in $projectsSortedByOrganization.keySet() )
#foreach ( $project in $projectsSortedByOrganization.get( $organizationName ) )
#if($project.licenses.size() > 0)
==============================================================================
For $project.name #if ($project.url)($project.url)#end $project.artifact
==============================================================================
This product bundles $project.name which is available under the following:
#foreach ( $license in $project.licenses )
$license.name.replaceAll("[ ]{2,}"," ").replaceAll("\n",""). #if ($license.url)For details, see $license.url.replaceAll("[ ]{2,}"," ").replaceAll("\n","").#end

#end

#end
#end
#end


@@ -42,6 +42,7 @@
</scm>

<modules>
<module>modules/apache-license-gen</module>
<module>modules/flink-ext</module>
<module>modules/flume-ext</module>
<module>modules/pub-sub-ext</module>

0 comments on commit 08746cc

Please sign in to comment.