TFS构建不会复制Cordova项目输出

时间:2015-04-23 08:51:22

标签: cordova tfs msbuild tfsbuild visual-studio-cordova

我正在开发一个使用Visual Studio Tools for Visual Cordio CTP 3.1在Visual Studio 2013 Update 4中开发的Cordova项目。我已经为该项目创建了一个TFS构建定义(我使用TFS 2013)建立项目。我得到正确的输出,但此输出不会复制到指定的删除位置或其他任何位置。

我尝试了很多东西,没有任何效果。我认为它必须与 .jsproj 没有为任何配置定义和OutputTypeOutputPath的事实相关。

构建默认值暂存位置的构建定义中,我已选择将构建输出复制到以下放置文件夹。我到那里的就是日志。

见下图。 src 文件夹包含源,并在构建Cordova构建的输出后( bin bld )。但是,我希望将来自 bin \ Android \ Release 的内容复制到上一级 bin 文件夹(如图所示),并最终在放下位置。这不会发生。

enter image description here

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用PowerShell脚本来实现此目的。

$packages = gci $Env:TF_BUILD_SOURCESDIRECTORY -recurse -include $("bin") | ?{ $_.PSIsContainer } | foreach { gci -Path $_.FullName -Recurse -include $("*.apk", "*.ipa", "*.plist", "*.xap") }
foreach ($file in $packages) {
    Copy $file $Env:TF_BUILD_BINARIESDIRECTORY
}
gci $Env:TF_BUILD_SOURCESDIRECTORY -recurse -include $("AppPackages") | ?{ $_.PSIsContainer } | Copy -Destination $Env:TF_BUILD_BINARIESDIRECTORY –Recurse -Force 

将它放在解决方案根目录下的解决方案文件夹中,这样它就不会被添加到应用程序包中并使用您的解决方案进行检查。

然后在您的TFS构建定义中添加指向此脚本的“构建后脚本”。