2009-10-25 78 views
2

我最近配置哈德森建立使用的Git作为存储库的Grails项目。然而,运行构建时,我收到此错误:哈德森构建失败,Git代码库和Grails的

Compilation error: srcdir "/home/matthew/.hudson/jobs/qotd-idea/workspace/src/groovy" does not exist 

这是因为SRC/Groovy是不会复制到工作区哈德森,所以哈德森无法找到这些文件。但是,无论如何这个目录是空的。所有有效的源文件都在grails-app文件夹下。

'test/results/TESTS-*.xml' doesn't match anything: even 'test' doesn't exist 

如何:


在翻盖方面,如果我指定的项目目录的完整路径,以我的源代码,JUnit测试是不是因为我没有使用哈德森工作空间复制我能一起工作吗?

+0

如果我理解正确的第一部分,你的git的结帐不创建目录的src /常规。我认为解决这个问题是解决整个问题的最简单方法。我没有看到任何可能的错误提交哈德森尚未查出空目录。也许你可以找出Hudson和非Hudson构建之间的区别,并将差异提交给'git'插件。 – 2009-10-26 02:48:00

+0

尽管src/groovy没有源代码。在grails-app控制器,域和视图文件夹下只有源代码。我也尝试过这个没有Git的Hudson构建,只使用绝对路径(构建正确),但获得了JUnit的相同消息。 – 2009-10-27 00:41:12

回答

1

Hudson在单元测试文件的工作空间目录下查找。但是

/home/matthew/dev/source/qotd-idea
的基础目录看起来不像标准的Hudson工作区。您是否为此项目设置了自定义工作区功能?

+0

谢谢你的洞察力。我编辑了我的问题以更准确地捕捉问题。 – 2009-10-26 01:01:09

1

要解决的空文件夹的问题,我们通常犯的.gitignore为src/grovvy和src/java的

我建议这样做,而不是在非默认位置指向哈德森。

您是否尝试过在测试报告位置字段中使用完整路径?

例如/home/somedir/qotd-idea/test/results/TESTS-*.xml

欢呼

+0

我试过了,但哈德森仍在寻找这些文件。我也尝试过单元测试的完整路径,但哈德森抱怨说它没有匹配任何东西,也不存在。 – 2009-10-26 12:10:57

+0

所以你尝试在两个文件夹中使用.gitignore文件,它不起作用?如果是这种情况,那么你的git设置一定是错误的。 – leebutts 2009-10-26 20:46:33