我正在使用许可证:aggregate-add-third-party 生成 THIRD-PARTY.txt 文件,其中包含所有依赖项的许可详细信息。这没有任何问题。
我还购买了几个Javascript库的许可证。 我想将这些javascript库的详细信息包含在我使用maven许可插件通过pom调用生成的THIRD-PARTY.txt文件中。
maven许可插件中是否有任何方法可以包含一些外部许可的额外详细信息?
答案 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') > -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模板。