我正在使用 license:aggregate-add-third-party 生成 THIRD-PARTY.txt 文件,其中包含所有依赖项的许可证详细信息。没有任何问题。
我还购买了几个 Javascript 库的许可证。 我想将这些 javascript 库的详细信息包含到我使用 Maven 许可证插件通过 pom 调用生成的 THIRD-PARTY.txt 文件中。
maven 许可证插件中有什么方法可以包含一些外部许可证的额外详细信息吗?
最佳答案
是的,这是可以做到的。在 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 模板。
关于javascript - 在使用 mvn 许可证插件生成的 THIRD-PARTY.txt 文件中添加其他许可证详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40280588/