Port forward license data from maintenance, with improvements.

org.keycloak dependencies will be automatically added to the xml during the
build, removing the need for runs of download-license-files.sh every time the
keycloak version changes.

Documentation on "why and how" for the license data has also been added.

To reduce code duplication issues, plugin definitions are stored in
keycloak-parent, but only active in the projects that need them (not bound to
any phase by default). Also, the common files have been moved into
licenses/common/, so that a single symlink will suffice to replicate the
current and future files needed by the plugin executions. While the
assembly.xml definitions remain duplicated, they are fairly minimal and
shouldn't need to change often.

License data is available for all adapters shipped in the product, plus
server-feature-pack.

The keycloak slot is populated with data, in addition to the rh-sso slot. A
number of the adapters don't depend on any third-party artifacts, so they have
(mostly) blank license.xml files.
This commit is contained in:
Alex Szczuczko 2017-09-20 15:53:24 -06:00 committed by Stian Thorgersen
parent 56548fcaf0
commit f88b3cddb6
41 changed files with 2780 additions and 3 deletions

View file

@ -48,6 +48,15 @@
</excludes> </excludes>
<outputDirectory>modules/system/add-ons/keycloak</outputDirectory> <outputDirectory>modules/system/add-ons/keycloak</outputDirectory>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
</fileSets> </fileSets>
<files> <files>
<file> <file>

View file

@ -90,6 +90,36 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View file

@ -0,0 +1 @@
../../../../../../../feature-packs/server-feature-pack/src/main/resources/licenses/common

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.56</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.52.0.redhat-3</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv52/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.52.0.redhat-3</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv52/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
</dependencies>
</licenseSummary>

View file

@ -32,5 +32,14 @@
</includes> </includes>
<outputDirectory>system</outputDirectory> <outputDirectory>system</outputDirectory>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
</fileSets> </fileSets>
</assembly> </assembly>

View file

@ -168,6 +168,36 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View file

@ -0,0 +1 @@
../../../../../../feature-packs/server-feature-pack/src/main/resources/licenses/common

View file

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.56</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.5.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://svn.apache.org/viewvc/commons/proper/codec/tags/1.9/LICENSE.txt?view=co</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://svn.apache.org/viewvc/commons/proper/logging/tags/LOGGING_1_2/LICENSE.txt?view=co</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=httpcomponents-client.git;a=blob_plain;f=LICENSE.txt;hb=4.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=httpcomponents-core.git;a=blob_plain;f=LICENSE.txt;hb=4.4.1</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.56.0.redhat-2</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56.0.redhat-2</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-annotations/jackson-annotations-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-core/jackson-core-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-databind/jackson-databind-2.5.4/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.5.4.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-providers-2.5.4/json/src/main/resources/META-INF/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://svn.apache.org/viewvc/commons/proper/codec/tags/1.9/LICENSE.txt?view=co</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://svn.apache.org/viewvc/commons/proper/logging/tags/LOGGING_1_2/LICENSE.txt?view=co</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.0.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=httpcomponents-client.git;a=blob_plain;f=LICENSE.txt;hb=4.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1.redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=httpcomponents-core.git;a=blob_plain;f=LICENSE.txt;hb=4.4.1</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.3.0.Final-redhat-1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
</dependencies>
</licenseSummary>

View file

@ -35,5 +35,14 @@
<include>**/*.html</include> <include>**/*.html</include>
</includes> </includes>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
</fileSets> </fileSets>
</assembly> </assembly>

View file

@ -82,6 +82,36 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View file

@ -0,0 +1 @@
../../../../../../feature-packs/server-feature-pack/src/main/resources/licenses/common

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
</dependencies>
</licenseSummary>

View file

@ -66,6 +66,15 @@
<include>layers.conf</include> <include>layers.conf</include>
</includes> </includes>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
</fileSets> </fileSets>
<files> <files>
<file> <file>

View file

@ -80,6 +80,36 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View file

@ -0,0 +1 @@
../../../../../../feature-packs/server-feature-pack/src/main/resources/licenses/common

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
</dependencies>
</licenseSummary>

View file

@ -56,5 +56,14 @@
</includes> </includes>
<outputDirectory>content</outputDirectory> <outputDirectory>content</outputDirectory>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>content/docs/licenses-${product.slot}</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>content/docs/licenses-${product.slot}</outputDirectory>
</fileSet>
</fileSets> </fileSets>
</assembly> </assembly>

View file

@ -766,6 +766,40 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View file

@ -0,0 +1,60 @@
import java.nio.file.FileSystem
import java.nio.file.FileSystems
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.attribute.PosixFilePermissions
import groovy.xml.XmlUtil
// Insert nodes into the xml file for the filtered dependencies in the active
// maven project. Also create individual license files for the new xml nodes,
// by copying one full copy, and symlinks to that copy for the rest.
FileSystem fs = FileSystems.default
Path licensesXmlFile = fs.getPath(properties['xmlFile'])
log.info("File ${properties['licenseFile']} will be copied for use as common individual license file")
Node root = new XmlParser().parse(licensesXmlFile.toFile())
Node dependencies = root.dependencies[0]
Path licenseFileRoot = licensesXmlFile.parent
Path licenseFile = null
def matched = false
session.currentProject.dependencyArtifacts.toSorted().each { artifact ->
if (artifact.groupId == properties['groupId']) {
matched = true
def dependency = dependencies.appendNode('dependency')
dependency.appendNode('groupId', artifact.groupId)
dependency.appendNode('artifactId', artifact.artifactId)
dependency.appendNode('version', artifact.version)
def licenses = dependency.appendNode('licenses')
def license = licenses.appendNode('license')
license.appendNode('name', properties['licenseName'])
license.appendNode('url', properties['licenseUrl'])
def newFilename = "${artifact.groupId},${artifact.artifactId},${artifact.version},${properties['licenseName']}.txt"
Path newFile = licenseFileRoot.resolve(newFilename)
if (licenseFile == null) {
log.info("==> ${newFilename}")
Path original = fs.getPath(properties['licenseFile'])
Files.copy(original, newFile)
// Drop any weird mode setting the original file might have
Files.setPosixFilePermissions(newFile, PosixFilePermissions.fromString("rw-rw-r--"))
licenseFile = newFile
} else {
log.info(" -> ${newFilename}")
Files.createSymbolicLink(newFile, licenseFile.fileName);
}
}
}
if (!matched) {
fail("No project direct dependencies matched groupId ${properties['groupId']}")
}
log.info("Updating XML ${properties['xmlFile']}")
licensesXmlFile.withWriter("utf-8") { writer ->
XmlUtil.serialize(root, writer)
}

View file

@ -0,0 +1,90 @@
#!/bin/bash
set -eEu
# Dependencies: xmlstarlet, dos2unix, curl.
# Written on Fedora Linux, untested on other unixes.
xml="${1?Specify the licenses xml file. ex: rh-sso/licenses.xml}"
xml_dirname="$(dirname "$xml")"
output_dir="${LICENSE_OUTPUT_DIR:-$xml_dirname}"
echo "==> Deleting old license files in $output_dir" >&2
find "$output_dir" -maxdepth 1 '(' -type f -or -type l ')' -name '*.txt' -print0 | xargs --no-run-if-empty -0 rm
echo "==> Munging $xml to ensure Windows filename compatibility" >&2
tempfile="$(mktemp)"
trap "rm -f '$tempfile'" EXIT
xmlstarlet tr /dev/stdin "$xml" >> "$tempfile" <<EOF
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="licenseSummary/dependencies/dependency/licenses/license/name/text()">
<xsl:value-of select="translate(., '&lt;&gt;&quot;:\\|?*', '')"/>
</xsl:template>
<xsl:template match="licenseSummary/others/other/licenses/license/name/text()">
<xsl:value-of select="translate(., '&lt;&gt;&quot;:\\|?*', '')"/>
</xsl:template>
</xsl:stylesheet>
EOF
cp "$tempfile" "$xml"
echo "==> Downloading license files for $xml into $output_dir" >&2
xmlstarlet sel -T -t -m "/licenseSummary/dependencies/dependency/licenses/license" -v "../../groupId/text()" -o $'\t' -v "../../artifactId/text()" -o $'\t' -v "../../version/text()" -o $'\t' -v "name/text()" -o $'\t' -v "url/text()" --nl "$xml" | \
while IFS=$'\t' read -r -d $'\n' groupid artifactid version name url
do
# Windows won't like it if : is used as a separator
filename="$groupid,$artifactid,$version,$name.txt"
echo "$filename"
curl -LsS -o "$output_dir/$filename" "$url"
done
xmlstarlet sel -T -t -m "/licenseSummary/others/other/licenses/license" -v "../../description/text()" -o $'\t' -v "name/text()" -o $'\t' -v "url/text()" --nl "$xml" | \
while IFS=$'\t' read -r -d $'\n' description name url
do
# Windows won't like it if : is used as a separator
filename="$description,$name.txt"
echo "$filename"
curl -LsS -o "$output_dir/$filename" "$url"
done
echo "==> Normalizing license line endings" >&2
find "$output_dir" -maxdepth 1 -type f -name '*.txt' -print0 | xargs --no-run-if-empty -0 dos2unix
echo "==> Symlinking identical files" >&2
hashtemp="$(mktemp)"
trap "rm '$hashtemp'" EXIT
cd "$output_dir"
find -maxdepth 1 -type f -name '*.txt' -print0 | xargs --no-run-if-empty -0 sha256sum | sed 's, \./,,' > "$hashtemp"
declare -A processed_hashes
while IFS=" " read -r -d $'\n' hash filename
do
if ! [ -v processed_hashes["$hash"] ]
then
echo "$filename" >&2
grep -F "$hash " "$hashtemp" | grep -vxF "$hash $filename" | \
while IFS=" " read -r -d $'\n' dup_hash dup_filename
do
echo " -> $dup_filename" >&2
rm "$dup_filename"
ln -s "$filename" "$dup_filename"
done
processed_hashes["$hash"]="$filename"
fi
done < "$hashtemp"
echo "==> Complete" >&2

View file

@ -0,0 +1 @@
../../../../../../../../License.html

View file

@ -0,0 +1,56 @@
body {
font-family: monospace;
}
table {
border-collapse: collapse;
}
table, th, td {
border: 1px solid navy;
margin: 2em 0;
}
th {
text-align: left;
background-color: #BCC6CC;
}
th, td {
padding: 2px;
text-align: left;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
li.archive ul {
padding-left: 40px;
}
li.archive p {
display: inline;
margin: 0;
}
li.archive p:after {
content: ":";
}
li.archive:before {
content: "a ";
}
li.file:before {
content: "f ";
}
li.directory:before {
content: "d ";
}

View file

@ -0,0 +1,101 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" standalone="no" media-type="text/html" />
<xsl:param name="productname"/>
<xsl:param name="version"/>
<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="licenses.css"/>
</head>
<body>
<h2><xsl:value-of select="$productname"/><xsl:text> </xsl:text><xsl:value-of select="$version"/></h2>
<p>The following material has been provided for informational purposes only, and should not be relied upon or construed as a legal opinion or legal advice.</p>
<table>
<tr>
<th>Package Group</th>
<th>Package Artifact</th>
<th>Package Version</th>
<th>Remote Licenses</th>
<th>Local Licenses</th>
</tr>
<xsl:for-each select="licenseSummary/dependencies/dependency">
<xsl:sort select="concat(groupId, '.', artifactId)"/>
<tr>
<td><xsl:value-of select="groupId"/></td>
<td><xsl:value-of select="artifactId"/></td>
<td><xsl:value-of select="version"/></td>
<td>
<ul>
<xsl:for-each select="licenses/license">
<li><a href="{./url}"><xsl:value-of select="name"/></a></li>
</xsl:for-each>
</ul>
</td>
<td>
<ul>
<xsl:for-each select="licenses/license">
<xsl:variable name="filename" select="concat(../../groupId, ',', ../../artifactId, ',', ../../version, ',', name, '.txt')" />
<li><a href="{$filename}"><xsl:value-of select="name"/></a></li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:for-each>
</table>
<table>
<tr>
<th>Description</th>
<th>Locations</th>
<th>Remote Licenses</th>
<th>Local Licenses</th>
</tr>
<xsl:for-each select="licenseSummary/others/other">
<xsl:sort select="description"/>
<tr>
<td><xsl:value-of select="description"/></td>
<td>
<ul>
<xsl:for-each select="locations/*[self::file or self::directory]">
<li class="{local-name()}"><xsl:value-of select="."/></li>
</xsl:for-each>
<xsl:for-each select="locations/archive">
<li class="archive">
<p><xsl:value-of select="file"/></p>
<ul>
<xsl:for-each select="innerpath">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ul>
</li>
</xsl:for-each>
</ul>
</td>
<td>
<ul>
<xsl:for-each select="licenses/license">
<li><a href="{./url}"><xsl:value-of select="name"/></a></li>
</xsl:for-each>
</ul>
</td>
<td>
<ul>
<xsl:for-each select="licenses/license">
<xsl:variable name="filename" select="concat(../../description, ',', name, '.txt')" />
<li><a href="{$filename}"><xsl:value-of select="name"/></a></li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,728 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.2.1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/zxing/zxing/zxing-3.2.1/COPYING</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.2.1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/zxing/zxing/zxing-3.2.1/COPYING</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.4.1</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/liquibase/liquibase/liquibase-parent-3.4.1/LICENSE.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>4.0.4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/yusuke/twitter4j/4.0.4/LICENSE.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=incubator-freemarker.git;a=blob_plain;f=LICENSE.txt;hb=v2.3.23</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
<licenses>
<license>
<name>Public Domain</name>
<url>http://aopalliance.sourceforge.net/</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.google.code.guice</groupId>
<artifactId>guice</artifactId>
<version>2.0</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/google/guice/2.0/COPYING</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>
<version>2.5.2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/sonatype/plexus-classworlds/plexus-classworlds-2.5.2/LICENSE-2.0.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.20</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>1.5.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>1.21</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-launcher</artifactId>
<version>1.8.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=ant.git;a=blob_plain;f=LICENSE;hb=rel/1.8.3</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=ant.git;a=blob_plain;f=LICENSE;hb=rel/1.8.3</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-shared</artifactId>
<version>2.6</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-api</artifactId>
<version>2.6</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId>
<version>2.6</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-builder</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-repository-metadata</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-aether-provider</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings-builder</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.mvel</groupId>
<artifactId>mvel2</artifactId>
<version>2.2.8.Final</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/mvel/mvel/mvel2-2.2.8.Final/LICENSE.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.sisu.inject</groupId>
<artifactId>guice-servlet</artifactId>
<version>3.2.3</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=releases/0.3.2</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.plexus</artifactId>
<version>0.3.0.M1</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=milestones/0.3.0.M1</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.inject</artifactId>
<version>0.3.0.M1</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=milestones/0.3.0.M1</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-util</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-impl</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-wagon</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-basic</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-file</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-api</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-spi</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-http</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.4.2</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/plain/README.md?h=I20140606-1215</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-guice</artifactId>
<version>3.2.3</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=releases/0.3.2</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
<version>1.7</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-sec-dispatcher</artifactId>
<version>1.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr-runtime</artifactId>
<version>3.5</version>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/antlr/antlr3/antlr-3.5/runtime/Python/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/x-stream/xstream/XSTREAM_1_4_9/LICENSE.txt</url>
</license>
</licenses>
</dependency>
</dependencies>
<others>
<other>
<description>jQuery</description>
<locations>
<file>themes/keycloak/common/resources/lib/jquery/jquery-1.10.2.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/jquery/jquery/1.10.2/MIT-LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>AngularJS</description>
<locations>
<directory>themes/keycloak/common/resources/lib/angular</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular/angular.js/v1.4.4/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>angular-translate</description>
<locations>
<file>themes/keycloak/common/resources/lib/angular/angular-translate.js</file>
<file>themes/keycloak/common/resources/lib/angular/angular-translate-loader-url.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-translate/angular-translate/2.7.2/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>ui-select2</description>
<locations>
<file>themes/keycloak/common/resources/lib/angular/select2.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-ui/ui-select2/v0.0.5/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>angular-ui-bootstrap</description>
<locations>
<file>themes/keycloak/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-ui/bootstrap/0.11.0/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Angular Treeview</description>
<locations>
<directory>themes/keycloak/common/resources/lib/angular/treeview</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/eu81273/angular.treeview/master/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Select2</description>
<locations>
<directory>themes/keycloak/common/resources/lib/select2-3.4.1</directory>
</locations>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/select2/select2/3.4.1/LICENSE</url>
</license>
<license>
<name>GNU General Public License v2.0 only</name>
<url>https://raw.githubusercontent.com/select2/select2/3.4.1/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>FileSaver.js</description>
<locations>
<file>themes/keycloak/common/resources/lib/filesaver/FileSaver.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/eligrey/FileSaver.js/1.3.2/LICENSE.md</url>
</license>
</licenses>
</other>
<other>
<description>angular-file-upload</description>
<locations>
<directory>themes/keycloak/common/resources/lib/fileupload</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/danialfarid/ng-file-upload/1.1.10/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>UI.Ace</description>
<locations>
<file>themes/keycloak/common/resources/lib/ui-ace/ui-ace.min.js</file>
<file>themes/keycloak/common/resources/lib/ui-ace/ui-ace.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-ui/ui-ace/src0.2.3/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Ace Code Editor</description>
<locations>
<directory>themes/keycloak/common/resources/lib/ui-ace</directory>
</locations>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/ajaxorg/ace-builds/v1.2.3/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Font Awesome (Font)</description>
<locations>
<directory>themes/keycloak/common/resources/lib/components/font-awesome/fonts</directory>
</locations>
<licenses>
<license>
<name>SIL Open Font License 1.1</name>
<url>https://raw.githubusercontent.com/FortAwesome/Font-Awesome/v4.3.0/README.md</url>
</license>
</licenses>
</other>
<other>
<description>Glyphicons Halflings</description>
<locations>
<directory>themes/keycloak/common/resources/lib/components/bootstrap/dist/fonts</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/twbs/bootstrap/v3.3.1-130-gadd44ca/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Patternfly</description>
<locations>
<directory>themes/keycloak/common/resources/lib/patternfly</directory>
</locations>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/patternfly/patternfly/v1.1.4-32-ge6a8fd5/LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>OpenSans</description>
<locations>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf</file>
</locations>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/google/fonts/master/apache/opensans/LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>Zocial</description>
<locations>
<directory>themes/keycloak/common/resources/lib/zocial</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/smcllns/css-social-buttons/547237515694d05eaa38aeae3fb4d2eb4dee1ac9/README.md</url>
</license>
</licenses>
</other>
</others>
</licenseSummary>

View file

@ -0,0 +1,728 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.2.1.redhat-4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/zxing/zxing/zxing-3.2.1/COPYING</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.2.1.redhat-4</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/zxing/zxing/zxing-3.2.1/COPYING</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.4.1.redhat-2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/liquibase/liquibase/liquibase-parent-3.4.1/LICENSE.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>4.0.4.redhat-3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/yusuke/twitter4j/4.0.4/LICENSE.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23.redhat-3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=incubator-freemarker.git;a=blob_plain;f=LICENSE.txt;hb=v2.3.23</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
<licenses>
<license>
<name>Public Domain</name>
<url>http://aopalliance.sourceforge.net/</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.google.code.guice</groupId>
<artifactId>guice</artifactId>
<version>2.0</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/google/guice/2.0/COPYING</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>
<version>2.5.2</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/sonatype/plexus-classworlds/plexus-classworlds-2.5.2/LICENSE-2.0.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.20</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>1.5.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interpolation</artifactId>
<version>1.21</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-launcher</artifactId>
<version>1.8.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=ant.git;a=blob_plain;f=LICENSE;hb=rel/1.8.3</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=ant.git;a=blob_plain;f=LICENSE;hb=rel/1.8.3</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http-shared</artifactId>
<version>2.6</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-api</artifactId>
<version>2.6</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId>
<version>2.6</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model-builder</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-repository-metadata</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-aether-provider</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings-builder</artifactId>
<version>3.2.5</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob_plain;f=LICENSE;hb=maven-3.2.5</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.mvel</groupId>
<artifactId>mvel2</artifactId>
<version>2.2.8.Final</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/mvel/mvel/mvel2-2.2.8.Final/LICENSE.txt</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.sisu.inject</groupId>
<artifactId>guice-servlet</artifactId>
<version>3.2.3</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=releases/0.3.2</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.plexus</artifactId>
<version>0.3.0.M1</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=milestones/0.3.0.M1</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.inject</artifactId>
<version>0.3.0.M1</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=milestones/0.3.0.M1</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-util</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-impl</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-wagon</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-connector-basic</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-file</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-api</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-spi</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-transport-http</artifactId>
<version>1.0.0.v20140518</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>https://raw.githubusercontent.com/jvanzyl/aether-core/aether-1.0.0.v20140518/epl-v10.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.4.2</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/plain/README.md?h=I20140606-1215</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-guice</artifactId>
<version>3.2.3</version>
<licenses>
<license>
<name>Eclipse Public License 1.0</name>
<url>http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/plain/LICENSE.txt?h=releases/0.3.2</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
<version>1.7</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-sec-dispatcher</artifactId>
<version>1.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr-runtime</artifactId>
<version>3.5</version>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/antlr/antlr3/antlr-3.5/runtime/Python/LICENSE</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/x-stream/xstream/XSTREAM_1_4_9/LICENSE.txt</url>
</license>
</licenses>
</dependency>
</dependencies>
<others>
<other>
<description>jQuery</description>
<locations>
<file>themes/keycloak/common/resources/lib/jquery/jquery-1.10.2.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/jquery/jquery/1.10.2/MIT-LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>AngularJS</description>
<locations>
<directory>themes/keycloak/common/resources/lib/angular</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular/angular.js/v1.4.4/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>angular-translate</description>
<locations>
<file>themes/keycloak/common/resources/lib/angular/angular-translate.js</file>
<file>themes/keycloak/common/resources/lib/angular/angular-translate-loader-url.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-translate/angular-translate/2.7.2/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>ui-select2</description>
<locations>
<file>themes/keycloak/common/resources/lib/angular/select2.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-ui/ui-select2/v0.0.5/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>angular-ui-bootstrap</description>
<locations>
<file>themes/keycloak/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-ui/bootstrap/0.11.0/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Angular Treeview</description>
<locations>
<directory>themes/keycloak/common/resources/lib/angular/treeview</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/eu81273/angular.treeview/master/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Select2</description>
<locations>
<directory>themes/keycloak/common/resources/lib/select2-3.4.1</directory>
</locations>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/select2/select2/3.4.1/LICENSE</url>
</license>
<license>
<name>GNU General Public License v2.0 only</name>
<url>https://raw.githubusercontent.com/select2/select2/3.4.1/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>FileSaver.js</description>
<locations>
<file>themes/keycloak/common/resources/lib/filesaver/FileSaver.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/eligrey/FileSaver.js/1.3.2/LICENSE.md</url>
</license>
</licenses>
</other>
<other>
<description>angular-file-upload</description>
<locations>
<directory>themes/keycloak/common/resources/lib/fileupload</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/danialfarid/ng-file-upload/1.1.10/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>UI.Ace</description>
<locations>
<file>themes/keycloak/common/resources/lib/ui-ace/ui-ace.min.js</file>
<file>themes/keycloak/common/resources/lib/ui-ace/ui-ace.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular-ui/ui-ace/src0.2.3/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Ace Code Editor</description>
<locations>
<directory>themes/keycloak/common/resources/lib/ui-ace</directory>
</locations>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/ajaxorg/ace-builds/v1.2.3/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Font Awesome (Font)</description>
<locations>
<directory>themes/keycloak/common/resources/lib/components/font-awesome/fonts</directory>
</locations>
<licenses>
<license>
<name>SIL Open Font License 1.1</name>
<url>https://raw.githubusercontent.com/FortAwesome/Font-Awesome/v4.3.0/README.md</url>
</license>
</licenses>
</other>
<other>
<description>Glyphicons Halflings</description>
<locations>
<directory>themes/keycloak/common/resources/lib/components/bootstrap/dist/fonts</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/twbs/bootstrap/v3.3.1-130-gadd44ca/LICENSE</url>
</license>
</licenses>
</other>
<other>
<description>Patternfly</description>
<locations>
<directory>themes/keycloak/common/resources/lib/patternfly</directory>
</locations>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/patternfly/patternfly/v1.1.4-32-ge6a8fd5/LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>OpenSans</description>
<locations>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf</file>
<file>themes/keycloak/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf</file>
</locations>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>https://raw.githubusercontent.com/google/fonts/master/apache/opensans/LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>Zocial</description>
<locations>
<directory>themes/keycloak/common/resources/lib/zocial</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/smcllns/css-social-buttons/547237515694d05eaa38aeae3fb4d2eb4dee1ac9/README.md</url>
</license>
</licenses>
</other>
</others>
</licenseSummary>

View file

@ -45,6 +45,15 @@
</excludes> </excludes>
<outputDirectory>modules/system/add-ons/keycloak</outputDirectory> <outputDirectory>modules/system/add-ons/keycloak</outputDirectory>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
</fileSets> </fileSets>
<files> <files>
<file> <file>

View file

@ -90,6 +90,36 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View file

@ -0,0 +1 @@
../../../../../../../feature-packs/server-feature-pack/src/main/resources/licenses/common

View file

@ -0,0 +1,27 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.56</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv56/LICENSE.html</url>
</license>
</licenses>
</dependency>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<licenseSummary>
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.52.0.redhat-3</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv52/LICENSE.html</url>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.52.0.redhat-3</version>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/bcgit/bc-java/r1rv52/LICENSE.html</url>
</license>
</licenses>
</dependency>
</dependencies>
</licenseSummary>

View file

@ -46,6 +46,15 @@
</excludes> </excludes>
<outputDirectory>modules/system/add-ons/keycloak</outputDirectory> <outputDirectory>modules/system/add-ons/keycloak</outputDirectory>
</fileSet> </fileSet>
<!-- License Data -->
<fileSet>
<directory>src/main/resources/licenses/${product.slot}</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
<fileSet>
<directory>target/licenses</directory>
<outputDirectory>docs/licenses-${product.slot}-adapter</outputDirectory>
</fileSet>
</fileSets> </fileSets>
<files> <files>
<file> <file>

View file

@ -87,6 +87,36 @@
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-append-product</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<executions>
<execution>
<id>licenses-generate-html</id>
<phase>process-resources</phase>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View file

@ -0,0 +1 @@
../../../../../../../feature-packs/server-feature-pack/src/main/resources/licenses/common

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<licenseSummary>
<dependencies>
</dependencies>
</licenseSummary>

View file

@ -0,0 +1,99 @@
# Dependency License Information
## Why should we track license info?
We need to keep track of the licenses that apply to each third party (non-Keycloak) dependency (maven or otherwise) that Keycloak uses. This information can be used to check if there are conflicts or other issues that could create a legal encumberance for the users or developers of Keycloak.
## How to determine a dependency's license info
Since the maven ecosystem does not maintain high quality license metadata, no automated process (like license-maven-plugin for example) is acceptable for making the determination of what license applies to a particular maven dependency. The licenses of non-maven dependencies (JavaScript, images, fonts, etc.) must also be determined manually.
To manually determine a license, clone/checkout the source code at the tag or commit that applies to the version of the dependency you're adding or updating (licenses do sometimes change between versions). This is a lot easier to do immediately, especially for non-maven dependencies, as later it may not be clear where the files came from, or what version they were. Once you have the source, look at the readme and search around for license files. For maven projects, you can look at the pom too, but its license information is not always present or correct. It's usually obvious what the license is, but sometimes one part of the source has a different license, or there may be more than one license that applies to your dependency.
## How to store license info
Typically, each zip that gets distibuted to users needs to contain a license XML and individual license files, plus an html file generated at build time.
The XML and individual files are maintained in git. When you change or add a dependency that is a part of:
- the server, modify `distribution/feature-packs/server-feature-pack/src/main/resources/licenses/rh-sso/license.xml`.
- an adapter, modify `distribution/{saml-adapters,adapters}/*/*/src/main/resources/licenses/rh-sso/licenses.xml`, for example `distribution/saml-adapters/as7-eap6-adapter/eap6-adapter-zip/src/main/resources/licenses/rh-sso/licenses.xml`.
Maven dependencies go into a `licenseSummary/dependencies/dependency` element, and non-maven dependencies go into a `licenseSummary/others/other` element.
Here are some examples of maven dependencies:
```xml
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-sec-dispatcher</artifactId>
<version>1.3</version>
<licenses>
<license>
<name>Apache Software License 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <!-- Source repo contains no license file -->
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr-runtime</artifactId>
<version>3.5</version>
<licenses>
<license>
<name>BSD 3-clause New or Revised License</name>
<url>https://raw.githubusercontent.com/antlr/antlr3/antlr-3.5/runtime/Python/LICENSE</url>
</license>
</licenses>
</dependency>
```
and non-maven dependencies:
```xml
<other>
<description>jQuery</description>
<locations>
<file>themes/keycloak/common/resources/lib/jquery/jquery-1.10.2.js</file>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/jquery/jquery/1.10.2/MIT-LICENSE.txt</url>
</license>
</licenses>
</other>
<other>
<description>AngularJS</description>
<locations>
<directory>themes/keycloak/common/resources/lib/angular</directory>
</locations>
<licenses>
<license>
<name>MIT License</name>
<url>https://raw.githubusercontent.com/angular/angular.js/v1.4.4/LICENSE</url>
</license>
</licenses>
</other>
```
Look at the licenses.xml files in this repository for more examples.
After modifying a license XML, you must run `download-license-files.sh` against it. This script will update the individual license files that are stored in the same directory as the XML.
Example command line:
```
$ common/download-license-files.sh rh-sso/licenses.xml
```
The following shell commands must be available for the script to work:
- curl
- dos2unix
- sha256sum
- xmlstarlet
### Product builds
RH-SSO is built on an internal build system. If you've added or updated license data for the product, you might need to import the corresponding dependency artifact into this internal build system.

109
pom.xml
View file

@ -1534,6 +1534,115 @@
<artifactId>frontend-maven-plugin</artifactId> <artifactId>frontend-maven-plugin</artifactId>
<version>${frontend.plugin.version}</version> <version>${frontend.plugin.version}</version>
</plugin> </plugin>
<!-- License Data -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>licenses-copy-common</id>
<goals>
<goal>copy-resources</goal>
</goals>
<!-- When needed in a child pom, bind to process-resources phase -->
<phase>none</phase>
<configuration>
<outputDirectory>${project.build.directory}/licenses</outputDirectory>
<resources>
<!-- Commmon -->
<resource>
<directory>${project.basedir}/src/main/resources/licenses/common</directory>
<includes>
<include>licenses.xsl</include>
<include>licenses.css</include>
</includes>
</resource>
<!-- Slot-specific XML -->
<resource>
<directory>${project.basedir}/src/main/resources/licenses/${product.slot}</directory>
<includes>
<include>licenses.xml</include>
<!-- Do not use maven-resources-plugin to copy symlinks! -->
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<version>2.0</version>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.12</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>licenses-append-product</id>
<goals>
<goal>execute</goal>
</goals>
<!-- When needed in a child pom, bind to process-resources phase -->
<phase>none</phase>
<configuration>
<source>${project.basedir}/src/main/resources/licenses/common/append-product-licenses.groovy</source>
<properties>
<groupId>org.keycloak</groupId>
<xmlFile>${project.build.directory}/licenses/licenses.xml</xmlFile>
<licenseName>Apache Software License 2.0</licenseName>
<licenseUrl>https://raw.githubusercontent.com/keycloak/keycloak/${project.version}/License.html</licenseUrl>
<licenseFile>${project.basedir}/src/main/resources/licenses/common/keycloak-components-license.html</licenseFile>
</properties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>licenses-generate-html</id>
<goals>
<goal>transform</goal>
</goals>
<!-- When needed in a child pom, bind to process-resources phase -->
<phase>none</phase>
<configuration>
<transformationSets>
<transformationSet>
<dir>${project.build.directory}/licenses</dir>
<includes>
<include>licenses.xml</include>
</includes>
<stylesheet>${project.build.directory}/licenses/licenses.xsl</stylesheet>
<outputDir>${project.build.directory}/licenses</outputDir>
<fileMappers>
<fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
<targetExtension>.html</targetExtension>
</fileMapper>
</fileMappers>
<parameters>
<parameter>
<name>productname</name>
<value>${product.name.full}</value>
</parameter>
<parameter>
<name>version</name>
<value>${project.version}</value>
</parameter>
</parameters>
</transformationSet>
</transformationSets>
</configuration>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</pluginManagement> </pluginManagement>
</build> </build>