【发布时间】:2017-09-29 04:50:55
【问题描述】:
我根本不懂巴克明斯特。假设我有一个项目,它需要 log4j 和 junit4。我该如何开始,我需要做什么,以指定依赖项并将依赖项添加到我在 Eclipse 中的类路径中。有没有教程说明它是如何完成的?
【问题讨论】:
标签: java eclipse build build-process buckminster
我根本不懂巴克明斯特。假设我有一个项目,它需要 log4j 和 junit4。我该如何开始,我需要做什么,以指定依赖项并将依赖项添加到我在 Eclipse 中的类路径中。有没有教程说明它是如何完成的?
【问题讨论】:
标签: java eclipse build build-process buckminster
我发现 buckminster 很棒,但 非常 记录在案(我知道,我知道,我应该贡献)。
我一直在寻找构建 RCP 产品的东西。我不会多谈这个,但我会说什么对我有用:
谢天谢地,我能够完全忽略 CSPEC 文件,因为它们可以从现有的元数据(即从 MANIFEST.MF、plugin.xml、.product 文件中推断出来。我认为它可以适用于 .project 和.classpath 文件,但我现在不知道)。同样,我现在会忽略 BOM 文件。
一旦我成功实现了一个工作空间,我就可以继续尝试无头地复制它。
我发现这个article 对于为 Buckminster 创建适合作为我们持续集成的一部分进行部署的安装很有用。
此时,我对用于构建产品的 Eclipse 项目之间的关系进行了长时间的思考。我们选择了一棵树(原文如此),它有两个主要分支——产品分支和测试分支:
build.feature
build.feature 指向 product 和 test.product。product 指向特征 foo.feature、foo.ui.feature、bar.feature、bar.ui.feature。这些特性中的每一个都指向插件或特性。test.product 指向 foo.test.feature、foo.ui.test.feature、bar.test.feature、bar.ui.test.feature。这些功能中的每一个都指向可以运行产品插件的测试片段。“指向”是指功能或 cquery 将其指定为依赖项。 (我似乎无法让清单文件中的Require-Bundle 标头工作,所以将所有内容都放在feature.xml 中)。
我发现在这个阶段玩命令行很有帮助。我发现resolve 和build 命令最有帮助。我还发现在这里设置 output property 很有用。
一旦我可以成功构建(即编译)所有内容,接下来就是将其打包为产品。使用perform 命令执行在从 .product 文件生成的推断 CSPEC 文件中指定的操作 (create.*.product) 并不直观,但它有助于让已知的良好产品能够作为产品从 IDE 导出。
我做的最后一件事是找到setenv(我认为)命令,它帮助设置用于编译代码的Java 版本。您可以设置少量属性,但这是我需要的。
【讨论】:
目前正在制作新的 Buckminster 文档。第一个“粗略”包含介绍(基于 Eclipse '09 谈话)、全面解释的 RMAP 和 CQUERY、有关属性和版本的详细信息。这些章节大约有 70 页,并且已接近完成。更多章节和示例要遵循。希望每周提供一份新草稿。
您可以在此处获取:http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf (6MB)。
【讨论】:
为了快速开始构建,我推荐使用教程Headless Eclipse RCP builds with Buckminster and Hudson,尽管它不涉及物化。
正如 Henrik 提到的那样,bucky book 又名“权威指南”提供了从概念概述到 xml 规范的深度文档。
【讨论】:
除了上面的建议之外,我还推荐Preparing you plugins 上的Developing Plug-Ins - Continous Integration with Jenkins 部分作为一个相对简单的演练。
【讨论】: