Apache家 是一个非常受欢迎的建立和依赖性管理工具在Java开放源的生态圈。我做了一些测试,以找出它是否可以处理汇编 免费Pascal /Delphi单位和找到它容易实现。因此它将有可能

  • 放开放源图书馆预先编译的免费Pascal(或Delphi)在公共行家仓库
  • 包括元数据在这个仓库,其中包含的依赖性的信息
  • 使用家命令行上下载的开放源图书馆从公共仓库和自动解决所有依赖性
  • 地方的储存库,作为代理,可以用来缓经常使用的二进制文件
  • 自动校的生成和核实(提供专家)将减少风险的损坏的二进制文件
  • 源代码和甚至文档的文件可提供与二进制文件
  • 二进制文件可提供有或没有"调试"的信息
  • 连续的一体化服务器喜欢 哈德逊, TeamCityCruiseControl 可以用来建设项目当改变已提交源控制系统,并通知开发关于建立错误。

这种方式依赖管理层可以是非常有益于开放源项目使用的许多第三方的库与复杂的依赖关系。这将避免典型的冲突造成使用错误的版本。

对于开发、工作流程进行编辑和建筑项目将减少到最低限度:

  • 结账的项目源自内部版本控制系统
  • 编辑源文件(s)
  • 运行 mvn package 自动下载的所有要求的第三方的库(预先编译单位)如果他们没在工作站的本地库
  • 汇编和运行

唯一的其他文件Apache家需要在项目文件夹是的POM.XML 文件中包含的项目的信息。

编辑:而家用于某些要求的任务,实施解决方案,如家在本地免费帕斯卡尔会有一些优点:没有Java SDK需要,支持所有发展平台,在那里免费Pascal提供、维护和插件的发展,帕斯卡尔。

使用的一家类似的工具不会被用于开放源码项目的只有商业项目可能获取和使用文物的公共专家库相同的方式。

家特色列在 http://maven.apache.org/maven-features.html


更新:

一个使用情况可能是建立的拉撒路,那里的专家会下载所需的所有库和援引的编译器有必要建造的路径参数。改变依赖于低水平会自动传播的父母建立。

可能带来的好处:

  • 小时候需要设立一个新的工作 站,没有手动装 第三方所需的图书馆
  • 小错误造成的错误的图书馆 版本,检测的版本 冲突的(例如,如果两个 库取决于不同 版本的第三库)
  • 文物创建电 可以添加到当地的行家 库和之间共享 开发人员和项目,中央 存储的所有文物与 元数据
  • 基础是可再生的,仅仅通过 使用同一来源和项目 元数据文件(文件pom.xml)
  • 可以减少开发时间 增加项目的稳定性

更新#2:FPMake

FPMake 建立系统的免费Pascal似乎是一个工具,具有很大的潜力,在许多细节,这是相当类似家:

  • FPMake是pascal基础建立的系统开发和分发与FPC
  • FPMake标准化建设通过界定某些限制目录像标准
  • 该命令 fppkg <packagename> 将在数据库中包装,解它,然后汇编fpmake.pp并运行它
  • 它有标准的建立目标(清洁、建造、安装...)
  • 它可以创建一个清单'的文件适用于进入储存库(喜欢 mvn deploymvn install),该清单是一个XML文件,该文件看起来非常相似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>

没有正确的解决方案

其他提示

Freepascal已经工作了一揽子系统的其自己之间的交叉易于得到和freebsd口的风格。(下载源/建立/安装自动),被称为fppkg.然而工作已经停滞。人们投资的时间是瓶颈,没有人想要选择的工具。

尽家去,我不喜欢辅助工具,需要安装的巨大的外部运行时。这也许是美好的一大主要应用程序(如开办公室),但不适用于一个工具.

我也更喜欢一个工具,目的是向FPC现实和工作流程。文件的工具,建立工具,下载系统,严格的测试套件系统已经存在,它只需要一个人致力于一个大量的时间到这来做到这一点。

一些典型的问题时引入新的技术在一个项目为FPC,以及为什么它具有一种倾向,使其自己的工具:

  • 需要培养20多个提交者在兼职.
  • 唯一的共同编程语言,你可以假设是免费的帕斯卡尔。即使德尔福内部运作不能被认为是理所当然的是已知的(许多提交者直接来到FPC或者甚至仍然通过TP或Mac Pascal)
    • 显然,使一些与插在不同的语言令人讨厌。
  • 砸向脚本是一个接近二。(g)使第三,但已经幅度下。
  • 所有的服务器都*nix状(FreeBSD,OS X,Linux),但不是所有的运行Apache.(例如我FreeBSD上运行镜XSHTTPD)
  • 有人最博学的必须致力维护者很长一段时间。解决问题,更新/做迁移等。Perferably多于一个显而易见的原因。
  • 一个主要的痛苦是Linux发行版(和FreeBSD为一个较小的程度),大多数维护者的*尼克斯的包裹都不能超过"./配置;制作;请安装",以及必须spoonfed与附近建设的储存库和辅助文件。
    • 在分配包装的FPC/Lazarus一直是重要的,并且仍然在增加
    • 所有分配有自己的特殊规则的有关元数据,depedancies,以及如何来源必须公布。特别是Debian/Ubuntu是非常官僚化和缓慢的。
    • 最不喜欢的第三方汽车安装人员在他们的系统(因为绕过他们的依赖控制)

这一切都导致有效地实践自己的工具,在帕斯卡尔最小的脚本工作最好的。一些工具,用于:

  • Gmake主要用于进行参数设置的建立进程上的每一个目录的水平,一个继任者,fpcmake(不是一个真正的衍生物使尽管名称)已经开始,但移徙并没有完成。
  • 乳胶和胶乳html转换(tex4ht,但是debian使用橡胶树)用于文件建设(非库文档)
  • 社区网站(netscape社区服务器使用TCL脚本,一个沉重的复杂的应用程序服务器)中已经麻烦不断,因为它开始,但是专门由于最近的维护者成为较不活跃。
  • 螳螂已经一个问题(专门的电子邮件模块将会崩溃或跛脚的服务器由于体积的),但是它已经被鞭打形成期间连续更新和辛勤工作的几个拉撒路devels.目前它是一个体面的主力。
  • lazarus.freepascal.org 参论坛,另一方面是相对容易,因为很多年轻人知道如何处理它。
  • 这同样适用于颠复(虽然在更高级的规模需要一些调整,不是每个人都是深入的来龙去脉mergetracking)

如果有人是真正严重关专家,我通常会询问他:

  • CRITICIALLY 调查使用的项目。在一个非常具体的方式,安排和时间的估计数。鸟眼级的"一切可能的"金字塔essentialy毫无价值的。
  • 得到的一些想法对未来改变使用的技术。每一种技术是最终取代,即使是在房子,亲在18岁以上的项目。新技术必须在不使迁移的其他基础设施的硬件或参与。新的技术,以结束所有新的技术并不存在。
  • 做出移徙的计划。移徙常常被低估和低估。
  • 而在最后,总是存在的1000000欧元的问题,谁会做日常的维护?

请记住,在一个公司,你只要踢负责人应用程序服务器。但是在一个非正式的环境这样困难,特别长期的,因为人们的生活、职业和花费的时间对该项目的有所不同。

听起来像一个令人感兴趣的计划,但德尔福社区(和FPC更是这样,我想!) 值库作源远远超过预先编译的图书馆。普遍的共识是,任何人使用的二进制的只图书馆是一个傻瓜,对于两个原因:你不可以修复任何错误,你找到它,改变编译器将破坏兼容性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top