使用 Ant builder 构建 IBM MobileFirst 项目(用于本机代码生成)
Posted
技术标签:
【中文标题】使用 Ant builder 构建 IBM MobileFirst 项目(用于本机代码生成)【英文标题】:Build IBM MobileFirst project using Ant builder (for native code generation) 【发布时间】:2015-03-10 12:51:12 【问题描述】:我正在尝试使用 IBM MobileFirst(代码生成和部署)自动化应用程序开发过程,我想知道我是否可以自动化从混合代码到本机代码的代码生成。我想为此使用 Ant,因为它看起来是一个优雅且独立于平台的解决方案。我见过[1],但似乎与[2]相矛盾。
考虑一个具有 MobileFirst 混合应用程序的简单 MobileFirst 项目。我可以使用应用程序的上下文菜单编写混合代码并生成本机代码:a) 运行方式 > 构建所有环境,或者例如 b) 运行方式 > 构建 android 环境。 Ant可以做到这一点吗?
我已尝试使 [2] 适应我的问题(结果类似于 [3]),但我得到的只是 .wlapp 文件,而不是生成的文件。我也尝试使用 Eclipse 自动生成的构建文件,但它似乎没有成功。似乎可行的是在 Windows 中使用包含以下内容的 .bat 文件执行命令行界面来实现此目的:
cd %~dp0
mfp build
我的目标是用 Ant 实现同样的目标。
--
[1]Building And deploying app to MobileFirst using ANT script
[2]Build and deploy IBM MobileFirst Platform 6.3 adapters using Ant Builder
[3]
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="target-name">
<taskdef resource="com/worklight/ant/defaults.properties">
<classpath>
<pathelement location="C:/Program Files/IBM/MobileFirst-CLI/mobilefirst-cli/node_modules/generator-worklight-server/ant-tools/worklight-ant-builder.jar"/>
</classpath>
</taskdef>
<target name="target-name">
<app-builder
worklightserverhost="http://localhost:10080"
applicationFolder="C:/Users/ADMIN/Desktop/MobileFirst/workspace/HelloWorld/apps/HelloWorld"
environments="common,android"
nativeProjectPrefix="HelloWorld"
outputFolder="C:/Users/ADMIN/Desktop/HelloWorldHelloWorldAndroid"/>
</target>
</project>
【问题讨论】:
@Leandro & Andrew:感谢 cmets,但这并不是我想要的。在“构建”环境时,公共代码被复制到本机文件夹中,并生成相应的文件以创建本机项目。我想自动化这个工作流程。 【参考方案1】:MobileFirt ant 任务将仅构建服务器端工件,例如 .war 和 .wlapp
对于 .apk 和 .ipa 等原生设备工件,您需要使用原生构建工具。当您使用 MFP Studio 时,您也在为此使用本机工具,例如用于 android 的 ADT 和用于 iPhone 的 XCode。
这些链接可以帮助您自动化您的原生构建
安卓 http://developer.android.com/tools/building/building-cmdline.html
iPhone https://developer.apple.com/library/ios/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-HOW_DO_I_BUILD_MY_PROJECTS_FROM_THE_COMMAND_LINE_
【讨论】:
【参考方案2】:MobileFirst <app-builder>
ANT 任务将为您生成 .wlapp 文件(这是一个关键步骤,因为您需要将其部署到 MobileFirst Server - 您还需要使用 <war-builder>
来构建 WAR 文件还)。但是,它不关心生成 .ipa
或 .apk
文件,这是部署到手机/模拟器的移动应用程序组件 - 为此,您需要查看适用于 iOS 的标准平台原生工具/安卓/等- 签署应用程序包等过程中涉及很多细节,MobileFirst 不涉及这些细节。这与 MobileFirst Studio 的行为方式一致 - 它也不会为您构建 .ipa
或 .apk
。
【讨论】:
以上是关于使用 Ant builder 构建 IBM MobileFirst 项目(用于本机代码生成)的主要内容,如果未能解决你的问题,请参考以下文章
今日社区发布 | 双模IT趋势下如何更好地构建微服务架构——IBM Microservice Builder解决方案正式发布