在使用mvn license plugin生成的THIRD-PARTY.txt文件中添加其他许可证详细信息

时间:2016-10-27 09:08:59

标签: javascript maven licensing dhtmlx license-maven-plugin

我正在使用许可证:aggregate-add-third-party 生成 THIRD-PARTY.txt 文件,其中包含所有依赖项的许可详细信息。这没有任何问题。

我还购买了几个Javascript库的许可证。 我想将这些javascript库的详细信息包含在我使用maven许可插件通过pom调用生成的THIRD-PARTY.txt文件中。

maven许可插件中是否有任何方法可以包含一些外部许可的额外详细信息?

2 个答案:

答案 0 :(得分:0)

我唯一的解决方案是在THIRD-PARTY.txt文件上执行sed以添加其他许可证deatils。

答案 1 :(得分:0)

是的,可以这样做。在pom.xml中添加:

<configuration>
    <fileTemplate>${project.basedir}/src/main/resources/template.ftl</fileTemplate>
</configuration>

,然后将文件template.ftl创建到具有以下内容的资源目录中:

<#function licenseFormat licenses>
    <#assign result = ""/>
    <#list licenses as license>
        <#assign result = result + " (" +license + ")"/>
    </#list>
    <#return result>
</#function>
<#function artifactFormat p>
    <#if p.name?index_of('Unnamed') &gt; -1>
        <#return p.artifactId + " (" + p.groupId + ":" + p.artifactId + ":" + p.version + " - " + (p.url!"no url defined") + ")">
    <#else>
        <#return p.name + " (" + p.groupId + ":" + p.artifactId + ":" + p.version + " - " + (p.url!"no url defined") + ")">
    </#if>
</#function>
List of third-party dependencies:

<#list dependencyMap as e>
<#assign project = e.getKey()/>
<#assign licenses = e.getValue()/>
${licenseFormat(licenses)} ${artifactFormat(project)}
</#list>

您可以将自己的信息添加到此文件中(最后)。该文件是Freemarker模板。