使用 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 &lt;app-builder&gt; ANT 任务将为您生成 .wlapp 文件(这是一个关键步骤,因为您需要将其部署到 MobileFirst Server - 您还需要使用 &lt;war-builder&gt; 来构建 WAR 文件还)。但是,它不关心生成 .ipa.apk 文件,这是部署到手机/模拟器的移动应用程序组件 - 为此,您需要查看适用于 iOS 的标准平台原生工具/安卓/等- 签署应用程序包等过程中涉及很多细节,MobileFirst 不涉及这些细节。这与 MobileFirst Studio 的行为方式一致 - 它也不会为您构建 .ipa.apk

【讨论】:

以上是关于使用 Ant builder 构建 IBM MobileFirst 项目(用于本机代码生成)的主要内容,如果未能解决你的问题,请参考以下文章

IBM MobileFirst 通过 ant 脚本添加环境

Maven 和 IBM 工作灯

今日社区发布 | 双模IT趋势下如何更好地构建微服务架构——IBM Microservice Builder解决方案正式发布

native-app-builder ANT 任务不更新 worklight.plist 文件 (MFP v7.0)

Ant构建工具知识概括

跨平台应用 IBM Worklight