call "C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\bin\rsvars.bat" msbuild.exe "C:\Projects\Foo\Bar.dproj"
现在我想添加一个选项将应用程序部署到OSX(或IOS)系统修改这样的脚本,那么可以从命令行部署OSX或IOS Delphi项目吗?
解决方法
为了从RAD Studio获取传递的参数Build and Run你的项目,然后检查IDE的消息窗口的Build选项卡.
使用名为Local的配置文件检查OSX应用程序的下一个图像
从这里,您可以提取传递给paclient.exe的所有参数
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–Clean=”Project7.app,C:\Users\RRUZ\Desktop\Test Deploy_@emb_.tmp”
_@emb_.tmp文件是由ide创建的临时文件,包含要部署的所有文件,在这种情况下内容就是这样的
Project7.app\Contents\MacOS\Project7.rsm Project7.app\Contents\Entitlements.plist Project7.app\Contents\MacOS\libcgunwind.1.0.dylib Project7.app\Contents\MacOS\Project7 Project7.app\Contents\Resources\Project7.icns
>将Info.plist(包含.app,如使用的图标和版本)文件复制到主机
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–put=”OSX32\Debug\Project7.info.plist,Project7.app\Contents\,1,Info.plist” Local
>将libcgunwind.1.0.dylib文件(库)复制到主机
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–put=”c:\program files (x86)\embarcadero\rad studio\11.0\Redist\osx32\libcgunwind.1.0.dylib,Project7.app\Contents\MacOS\,libcgunwind.1.0.dylib”
Local
>将捆绑包复制到主机
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–put=”OSX32\Debug\Project7,Project7″ Local
>将远程调试符号文件复制到主机
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–put=”OSX32\Debug\Project7.rsm,Project7.rsm”
Local
>将项目图标复制到主机
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–put=”c:\program files (x86)\embarcadero\rad studio\11.0\bin\delphi_PROJECTICNS.icns,Project7.app\Contents\Resources\,Project7.icns”
Local
>将Entitlements.plist文件复制到主机
c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe
–put=”OSX32\Debug\Project7.entitlements,Entitlements.plist”
Local
最后的剧本
最后,您可以将所有这些放在脚本文件中
call "C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\bin\rsvars.bat" MSBuild Project7.dproj "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --Clean="Project7.app,C:\Users\RRUZ\Desktop\Test Deploy\files.txt" "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7.info.plist,Info.plist" Local "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="c:\program files (x86)\embarcadero\rad studio\11.0\Redist\osx32\libcgunwind.1.0.dylib,libcgunwind.1.0.dylib" Local "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7,Project7" Local "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7.rsm,Project7.rsm" Local "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="c:\program files (x86)\embarcadero\rad studio\11.0\bin\delphi_PROJECTICNS.icns,Project7.icns" Local "c:\program files (x86)\embarcadero\rad studio\11.0\bin\paclient.exe" --put="OSX32\Debug\Project7.entitlements,Entitlements.plist" Local
注意:请记住创建一个文件,其中包含要部署的所有文件的文件名,在此示例脚本中称为files.txt,此文件由paclient用于清理previus部署的文件.