阿帕奇·马文是Java开源生态圈中一个非常流行的构建和依赖管理工具。我做了一些测试,看看它是否能够处理编译过的自由帕斯卡 / Delphi单元,并发现它很容易实现。所以有可能
这种依赖管理方式对于开源项目非常有利,因为开源项目使用了许多具有复杂依赖关系的第三方库。它将避免使用错误版本所造成的典型冲突。
对于开发人员来说,编辑和构建项目的工作流将减少到最低限度:
mvn package以自动下载所有所需的第三方库(预编译单元),如果它们尚未在工作站的本地存储库中项目文件夹中需要的Apache的唯一附加文件是包含项目信息的POM.XML文件。
编辑:虽然Maven可以用于某些必需的任务,但是在本地免费Pascal中实现类似Maven这样的解决方案有一些优点:不需要Java,支持所有可用的开发平台,在Pascal中进行维护和插件开发。
使用类似Maven的工具无助于开放源码项目--商业项目也可以以同样的方式访问和使用公共Maven存储库中的工件。
Maven特性在http://maven.apache.org/maven-features.html中列出
更新:
一个用例可以是构建Lazarus,其中Maven将下载所有必需的库,并使用必要的构建路径参数调用编译器。较低级别上的依赖项的更改将自动传播到父生成。
可能的好处:
更新#2: FPMake
用于自由Pascal的FPMake构建系统似乎是一个很有潜力的工具,在许多细节上它与Maven非常相似:
fppkg <packagename>将查找包的数据库,解压它,然后编译fpmake.pp并运行它。mvn deploy或mvn install),清单是一个与Maven中的pom.xml非常相似的文件:FPMake清单文件:
<packages>
<package name="my-package">
<version major="0" minor="7" micro="6" build="1"/>
<filename>my-package-0.7.6-1.zip</filename>
<author>my name</author>
<license>GPL</license>
<homepageurl>http://www.freepascal.org/</homepageurl>
<email>myname@freepascal.org</email>
<description>this is the package description</description>
<dependencies>
<dependency>
<package packagename="rtl"/>
</dependency>
</dependencies>
</package>
</packages>发布于 2009-12-12 14:43:47
Freepascal一直致力于在apt-get和freebsd端口风格的交叉中开发自己的包系统。(自动下载源代码/构建/安装),称为fppkg。然而,工作停滞不前。人们投资时间是瓶颈,而不是那些想选择工具的人。
就Maven而言,我不喜欢需要安装大量外部运行时的辅助工具。对于一个大型应用程序(比如Office)来说,这可能是可以接受的,但对于一个实用程序来说则不然。
我也喜欢一个工具,是设计的FPC现实和工作流程。文档工具、构建工具、下载系统、测试套件系统都已经存在,它只需要一个专门投入大量时间来实现它的人。
在像FPC这样的项目中引入新技术时的一些典型问题,以及为什么它倾向于制造自己的工具:
这一切都导致了在Pascal中使用最少脚本工作的工具最有效的实践。使用的一些工具:
如果有人真的认真对待Maven,我通常会问他:
记住,在一家公司里,你只是踢了负责应用服务器的人。但在非正式环境中,这要困难得多,特别是长期而言,因为人们的生活、职业和花费在项目上的时间各不相同。
发布于 2009-12-12 13:52:22
听起来是个有趣的计划,但是Delphi社区(而且FPC更是如此,我可以想象!)将库作为源的值远远大于预编译的库。普遍的共识是,任何使用只使用二进制库的人都是傻瓜,原因有两个:您无法修复在其中发现的任何bug,而编译器的更改将破坏兼容性。
https://stackoverflow.com/questions/1893469
复制相似问题