我看到我想从HEAD构建的一个功能(以获得bug修复的好处)在git.eclipse.org中。从源代码构建一些Eclipse特性过去有点棘手,但是现在有Tycho可以让它变得更容易,因为它使用了Maven。幸运的是,我发现此功能已经设置为使用Tycho和Maven。
但是如何使用Tycho作为最终用户并不是很明显 - 我尝试使用“干净安装”作为目标运行Maven构建,但是失败了。
请提供有关如何运行Tycho构建的完整分步说明,从要构建的项目的源代码检查开始,包括安装任何必要的软件,以及完成运行具有所需功能的Eclipse。
另外,如果我想在Eclipse中更改插件的源代码怎么办?这是否意味着我应该使用不同的方法来构建它?
仅供参考,这是导致上述一般问题的具体问题:我尝试构建功能org.eclipse.linuxtools/systemtap/org.eclipse.linuxtools.systemtap-feature
,并在兄弟目录中检出systemtap
个插件(因为它们是一部分)相同的git存储库,所以我免费获得它们。
错误是:
[ERROR] Failed to execute goal org.eclipse.tycho.extras:tycho-source-feature-
plugin:0.14.0:source-feature (source-feature) on project org.eclipse.linuxtools.systemtap: Could not generate source feature for project MavenProject: org.eclipse.linuxtools.systemtap:org.eclipse.linuxtools.systemtap:1.2.0-SNAPSHOT @ /home/greenrd/git/org.eclipse.linuxtools/systemtap/org.eclipse.linuxtools.systemtap-feature/pom.xml
[ERROR] Missing sources for plugins [org.eclipse.linuxtools.systemtap.ui.consolelog_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.editor_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.graphingapi.nonui_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.graphingapi.ui_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.logging_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.structures_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.graphing_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.systemtapgui_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.ide_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.dashboard_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.dashboardextension_0.3.0.201203201951, org.eclipse.linuxtools.systemtap.ui.graphicalrun_0.3.0.201203201951]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
答案 0 :(得分:0)
mvn package
通常会导致使用Tycho构建的打包插件和功能。也许你的失败与使用mvn install
有关,verify
也涉及在mvn package
阶段运行集成测试。
如果{{1}}不起作用,请添加您正在构建的项目以及您收到的错误。
答案 1 :(得分:0)
使用Tycho的项目应该像任何其他Maven项目一样构建,即您应该能够构建项目并通过调用项目根目录中的mvn clean verify
来运行其测试。 (如果根目录中没有pom.xml
,请查找名为“parent”的项目,或者询问项目的构建入口点。)
就像在Maven中一样,您通常无法检查项目并仅直接构建项目的一部分,例如通过调用mvn
一个eclipse-feature子项目。为了实现这一点,您首先需要使用mvn clean install
构建整个项目一次,然后您还可以重新构建项目的一部分。
如果您执行源代码修改,我建议您再次执行完整版本。可以只构建已更改的子项目,但您还需要手动确保重建所有聚合项目类型(即“eclipse-feature”和“eclipse-repository”),这可能不值得付出努力。 (不幸的是,Maven选项--also-make-dependents是currently not supported by Tycho。)
为了从本地构建结果中安装,您需要找到将项目二进制文件组装为p2存储库的子项目:查找target/repository
(或可能target/site
)目录并检查features
/ plugins
子文件夹。存储库或站点文件夹可以用作Eclipse中更新机制的“本地”源。
免责声明:上述步骤不适用于使用Tycho的所有项目。如果出现问题,您应该查看项目文档以获取运行构建的特殊说明,或者询问项目开发人员。