如何显示学分

时间:2008-11-10 14:10:23

标签: open-source maven-2 dependencies ivy

我想赞扬我们在(商业)应用程序中使用的所有开源库。我想在我们的about对话框中显示一个HTML页面。我们的构建过程使用ant,第三方库在svn。

中提交

您认为生成HTML页面的最佳方式是什么?

  • HTML-Page的硬编码?
  • 将依赖关系管理切换到apache-ivy并编写一些ant任务来生成html
  • 使用maven-ant-tasks并编写一些ant任务来生成HTML
  • 仅使用maven处理依赖项和HTML一次,下载并提交它们。其余的由未更改的ant-scripts
  • 完成
  • 切换到maven2(嘿老板,我想切换到maven,在1个月内构建可能再次工作......)
  • ...

关于对话框应显示哪些元素?

  • 图书馆名称
  • 许可证
  • 作者
  • 主页
  • 使用指向源存档的链接进行的更改
  • ...

是否有一些最佳实践建议?一些很好的例子(应用程序有一个很好的对话框显示依赖关系)?

3 个答案:

答案 0 :(得分:3)

Ant任务似乎是最好的方法。我们在其中一个项目中做了类似的事情。所有开源库都存在于指定的文件夹中。 Ant任务读取这些库,版本等的清单并生成HTML,复制到另一个指定的文件夹中,从Web容器中拾取它。

答案 1 :(得分:3)

您需要考虑两件不同的事情。

首先,您可能需要识别第三方代码的许可证。这通常是使用THIRDPARTYLICENSE文件。 Sun Microsystems做了很多这样的事情。例如,查看OpenOffice.org的安装目录。这些文件的.txt和.html版本都有例子。

其次,您可能希望以简短的方式在“关于”框中标识您的依赖关系(并且还要参考许可证信息的文件)。我会确保版本显示在“关于”框中。人们想要快速检查的一件事是指示他们的代码副本是否需要更换或更新,因为您的某个库依赖项有最近披露的错误或安全漏洞。

所以我想你想要包含在about框中的另一件事是人们找到你的支持网站的方式以及任何对特定版本用户重要的通知(无论你是否在你的应用程序中有一个条款)在线检查更新)。

答案 2 :(得分:2)

如果库不会经常更改,那么生成每个构建的页面将是浪费。库版本可能会更改,但实际库不会更改。更容易创建一个HTML页面将是最简单的方法,但这是另一个维护头疼。生成一次并将其包含在包中。如果对库进行了一些更改(更新版本,添加新库),脚本总是可以再次运行。