是否有一个如何使用buckminster的简单示例

时间:2009-02-16 09:25:04

标签: java eclipse build build-process buckminster

我根本不懂巴克敏斯特。假设我有一个项目,它需要log4j和junit4。我如何开始,我需要做什么,指定依赖项并在eclipse中将依赖项添加到我的类路径中。有没有教程说明它是如何完成的?

5 个答案:

答案 0 :(得分:9)

我发现巴克敏斯特非常出色,但非常记录(我知道,我知道,我应该做出贡献)。

我一直在寻找构建RCP产品的东西。我不会多谈这个,但我会说对我有用的东西:

  • webinar”大致向我展示了我能做的事情,并且我发现自己会重新开始几次。
  • 尝试将项目签出到您的工作区。这包括:
    1. 在Eclipse安装上安装buckminster
    2. 创建一个小的CQUERY文件,这是3行XML告诉buckminster要查看的内容。
    3. 为您的项目创建RMAP文件。我发现这个dogfood2.rmap非常有帮助。

幸运的是,我能够完全忽略CSPEC文件,因为它们可以从现有元数据中推断出来(即来自MANIFEST.MFplugin.xml.product文件。我认为它可以工作.project.classpath个文件,但我没有_k_now)。同样,我现在会忽略BOM文件。

一旦我成功地实现了工作空间,我就可以继续尝试无头地复制它。

我发现这个article很有用,可以为Buckminster创建一个适合部署的安装,作为我们持续集成的一部分。

此时,我一直在思考用于构建产品的Eclipse项目之间的关系。我们选择了一个有两个主要分支的树(原文如此) - 产品分支和测试分支:

  • cquery指向build.feature
  • build.feature指向producttest.product
  • product指向功能foo.featurefoo.ui.featurebar.featurebar.ui.feature。这些功能中的每一个都指向插件或功能。
  • test.product指向foo.test.featurefoo.ui.test.featurebar.test.featurebar.ui.test.feature。这些功能中的每一个都指向可以运行产品插件的测试片段。

通过“指向”,我的意思是功能或cquery将其指定为依赖项。 (我似乎无法使清单文件中的Require-Bundle标头生效,因此请将所有内容放在feature.xml中。

我发现在命令行上玩这个阶段很有帮助。我发现最有帮助的resolvebuild命令。我还发现在这里设置output property很有用。

一旦我能够成功构建(即编译)所有内容,将其打包为产品​​就是下一件事。对从.product文件生成的推断CSPEC文件中指定的操作(perform)使用create.*.product命令几乎不直观,但它有助于拥有一个能够作为产品导出的已知优质产品来自IDE。

我做的最后一件事是找到setenv(我认为)命令,它帮助设置用于编译代码的Java版本。您可以设置少量属性,但这个属性是我需要的属性。

后来也发现了{p> Other links I,看起来很有帮助。

答案 1 :(得分:5)

目前正在制作新的Buckminster文档。第一个“粗略剪辑”包含介绍(基于Eclipse '09演讲),RMAP和CQUERY完全解释,属性和版本的详细信息。这些章节大约有70页,并且已经接近完成。更多章节和示例要遵循。希望每周提供一份新的草稿。

你可以在这里得到它:http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf(6MB)。

答案 2 :(得分:4)

答案 3 :(得分:0)

为了快速开始构建,我推荐教程Headless Eclipse RCP builds with Buckminster and Hudson,但它不包括实现。

正如Henrik提到的那样,bucky book又名“权威指南”提供了从概念概述到xml规范的深入文档。

答案 4 :(得分:0)

除了上述建议之外,我还建议Developing Plug-Ins - Continous Integration with Jenkins Preparing you plugins上的部分作为一个相对简单的演练。