我正在尝试使用Jenkins Wix Toolset Plugin构建一个msi。我在构建机器上安装了Wix 3.10。
Jenkins工作从GitHub检查项目,我看到它工作正常。有wxs文件,但似乎无法找到它们。
不确定它在这里查找哪个目录,但是配置了Jenkins插件以通过Ant样式文件模式获取wxs源文件\ * .wxs:
为什么我看到文件(包括wxs文件)被添加到Jenkins的工作空间中,但Wix仍然无法找到它们?
当Jenkins构建运行时,我得到以下输出:
[wix] Enable Debug: true
[wix] Detecting environment variables...
[wix] Found sources: 0
[wix] Initializing tools...
[wix] Environment variables are not automatically added as parameters.
[wix] Environment variables are not automatically added as parameters.
[wix] Compiler found.
[wix] Linker found.
[wix] Starting compile process...
[wix] SEVERE: 0
[wix] Stacktrace follows:
java.lang.ArrayIndexOutOfBoundsException: 0
at de.berg.systeme.jenkins.wix.Toolset.compile(Toolset.java:142)
at de.berg.systeme.jenkins.wix.WixToolsetBuilder.perform(WixToolsetBuilder.java:164)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.Build$BuildExecution.build(Build.java:205)
at hudson.model.Build$BuildExecution.doRun(Build.java:162)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
at hudson.model.Run.execute(Run.java:1720)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:404)
Build step 'WIX Toolset' changed build result to FAILURE
Build step 'WIX Toolset' marked build as failure
Finished: FAILURE
[wix]发现来源:0 < ---指标超出范围的原因
编辑1:我已成功通过此异常。事实证明我的\ * .wxs的Ant风格文件模式不正确。相反,我使用了** \ * .wxs并找到了该文件。事实证明还有另一个问题。在我的wxs文件中,我引用变量名称,如'$(var.SolutionDir)'。 Wix抱怨它无法找到:
error CNDL0150 : Undefined preprocessor variable '$(var.SolutionDir)'.
这是在.wixproj文件中定义的,但似乎Jenkins Wix插件忽略了这个......
那么我如何让Jenkins插件知道还有一个应该知道的.wixproj?
答案 0 :(得分:0)
您在源文件" \ * .wxs"中提供的路径是不正确的。准确地给出wxs文件所在位置的正确路径。