I don't understand buckminster at all. Lets say I have a project, and it needs log4j and junit4. How do I get started, what do I need to do, to specify the dependencies and have the dependencies added to my classpath in eclipse. Is there any tutorial which shows how its done?
5 回答
我发现 buckminster 非常出色,但文档却很糟糕(我知道,我知道,我应该做出贡献)。
我一直在寻找构建 RCP 产品的东西。我不会谈论太多,但我会说什么对我有用:
- “网络研讨会”大致向我展示了我能做什么,我发现自己要回到它开始几次。
- 尝试将您的项目签出到您的工作区中。这涉及:
- 在 Eclipse 安装上安装 buckminster
- 创建一个小的 CQUERY 文件,它是 3 行 XML 告诉 buckminster 要检查的内容。
- 为您的项目创建 RMAP 文件。我发现这个dogfood2.rmap很有帮助。
值得庆幸的是,我能够完全忽略 CSPEC 文件,因为它们可以从现有的元数据中推断出来(即来自MANIFEST.MF
, plugin.xml
,.product
文件。我认为它可以用于.project
and.classpath
文件,但我不_k_now)。同样,我现在会忽略 BOM 文件。
一旦我成功地实现了一个工作空间,我就可以继续尝试无头地复制它。
我发现这篇文章对于为 Buckminster 创建适合作为我们持续集成的一部分进行部署的安装很有用。
此时,我对用于构建产品的 Eclipse 项目之间的关系进行了长时间的思考。我们选择了一棵树(原文如此),它有两个主要分支——产品分支和测试分支:
- cquery 指向一个
build.feature
build.feature
指向 aproduct
和 atest.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
and命令。build
我还发现在这里设置输出属性很有用。
一旦我可以成功构建(即编译)所有内容,接下来就是将其打包为产品。将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)。
来自:http ://wiki.eclipse.org/index.php/Introduction_to_Buckminster#Getting_Started
你好世界:http://wiki.eclipse.org/index.php/Hello_XML_World_Example_(Buckminster)
为了快速开始构建,我推荐使用 Buckminster 和 Hudson 构建的 Headless Eclipse RCP教程,尽管它不涉及物化。
正如 Henrik 提到的bucky book又名“权威指南”提供了很好的深度文档,从概念概述到 xml 规范。
除了上面的建议之外,我还推荐开发插件 - 与 Jenkins 持续集成中关于准备插件的部分作为一个相对简单的演练。