2013-08-21 59 views
0

我有一个多模块构建与相当多的依赖关系。每个子项目都有自己的依赖关系报告,并且有一个项目依赖于(所有其他项目)。现在有很多依赖项缺少授权信息。我想将所有这些缺少的许可证包含在依赖关系报告中。但我似乎无法得到这个工作。有没有人有建议?license-maven-plugin:在依赖关系报告中包含缺少的许可证

什么我目前正在为:

  • 在父项目中,我加入定义的各种第三方许可,如“最终用户许可协议”,“potix_eula”,“bsd_pgsql”,......在SRC /许可证这些名称
  • 在这些目录中我有许可证的header.txt和LICENSE.TXT文件子目录
  • 这SRC /许可证目录
  • 我有条目的licenses.properties如“potix_eula = potix_eula”
  • 在这个src/license目录中我也有一个licenses.xml机智像
<dependency> 
    <groupId>org.postgresql</groupId> 
    <artifactId>jdbc4</artifactId> 
    <licenses><license><name>bsd_pgsql</name></license></licenses> 
</dependency> 
  • 在父项目的POM^h项我配置许可证Maven的插件:
<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
<artifactId>license-maven-plugin</artifactId> 
<version>1.5</version> 
<configuration>   
     <useMissingFile>true</useMissingFile> 
     <licensesConfigFile>C:/eclipse-workspace-kepler/TheParentProject/src/license/licenses.xml</licensesConfigFile> 
     <licenseName>zk_potix_eula</licenseName> 
     <licenseName>bsd_pgsql</licenseName> 
     <licenseResolver>file://${project.basedir}/src/license</licenseResolver> 
     <licenseMerges>...</licenseMerges> 
    </configuration> 
     <executions> 
      <execution> 
      <id>first</id> 
      <goals> 
      <goal>update-file-header</goal> 
      </goals> 
      <phase>process-sources</phase> 
     </execution> 
      <execution> 
      <id>download-licenses</id> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>download-licenses</goal> 
      </goals> 
      </execution> 
     <execution> 
      <id>add-third-party</id> 
      <phase>process-resources</phase> 
      <goals> 
      <goal>aggregate-add-third-party</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
  • 我已经产生THIRD-PARTY.properties在所有项目中,并定义像这样的许可证:commons.apache.org - commons-configuration - 1.7 = apache_v2
  • 我也曾尝试将src/license目录从父级复制到所有src模块的目录。它仍然不起作用。

回答

1

我明白了,我忘了包含包含所有必需信息的第三方报告。

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>license-maven-plugin</artifactId> 
    <version>1.5</version> 
    <configuration> 
     <useMissingFile>true</useMissingFile> 
     <useRepositoryMissingFiles>true</useRepositoryMissingFiles> 
     <licenseName>zk_potix_eula</licenseName> 
     <licenseName>bsd_pgsql</licenseName> 
     <licenseName>bsd_hamcrest</licenseName> 
     <licenseName>bsd_dom4j</licenseName> 
     <licenseResolver>file://${project.parent.basedir}/src/license</licenseResolver> 
     <licenseMerges> 
      <licenseMerge>Apache 2.0|The Apache Software License, Version 2.0|Apache License, Version 2.0|apache_v2</licenseMerge> 
      <licenseMerge>CDDL 1.0|COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|Common Development and Distribution License (CDDL) v1.0|cddl_v1</licenseMerge> 
      <licenseMerge>GNU LGPL 2.1|GNU Lesser General Public License (LGPL), Version 2.1|GNU Lesser General Public License, version 2.1|lgpl_v2_1</licenseMerge> 
      <licenseMerge>GNU LGPL 3|GNU LESSER GENERAL PUBLIC LICENSE, Version 3|GNU Lesser General Public Licence|GNU Lesser General Public License|GNU LESSER GENERAL PUBLIC LICENSE</licenseMerge> 
      <licenseMerge>Dual license: CDDL 1.0 and GPL v2|Dual license consisting of the CDDL v1.0 and GPL v2|CDDL+GPLv2|CDDL+GPL|CDDL+GPL License</licenseMerge> 
      <licenseMerge>Dual license: CDDL 1.1 and GPL v2|Dual license consisting of the CDDL v1.1 and GPL v2|CDDL1_1+GPLv2</licenseMerge> 
      <licenseMerge>Dual License: CDDL 1.0 and GPL V2 with Classpath Exception|CDDL + GPLv2 with classpath exception</licenseMerge> 
     </licenseMerges> 
    </configuration> 
    </plugin>