问题标签 [flexmojos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - Mockolate 验证错误:非法覆盖.. Flex SDK 4.10 更新后
自从我们将应用程序中的 flex sdk 升级到 4.10 后,我们在运行使用 mockolate 的单元测试时遇到了验证错误。
它们似乎发生在模拟ByteArray
在方法签名中使用 a 的接口时。
示例界面:
示例测试类:
使用 flexmojos 6.0.1 编译和运行测试时,会抛出以下错误:
VerifyError:错误#1053:在 mockolate.generated.IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED 中非法覆盖 IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED
我最初的怀疑是 playerglobal(或我们的例子中的 airglobal)的 sdk 版本问题,所以我用 sdk 4.10 重新编译了 mockolate(和 flexunit),没有任何结果。
唯一可行的方法是从方法签名中删除 ByteArray 类型......但这并不是一个真正的选择:-)(这在以前从来不是问题)
有没有人遇到过类似的问题?
谢谢
maven - 错误:Flex 编译器和 flex 框架版本不匹配。编译器:'X' - 框架:'Y'
我正在尝试使用 Flexmojos 7.0.0 和 mavenized Apache Flex SDK (groupId "org.apache...") 构建一个 Flex 项目,该项目依赖于使用 Flexmojos 5 和 Adobe Flex SDK 4.6.b.23201 构建的旧库(groupId“com.adobe ...”)。问题是它给出了以下错误:
错误] 无法在项目 gestouch-examples 上执行目标 net.flexmojos.oss:flexmojos-maven-plugin:7.0.0:compile-swf (default-compile-swf):执行目标 net.flexmojos 的 default-compile-swf。 oss:flexmojos-maven-plugin:7.0.0:compile-swf failed: Flex 编译器和 flex 框架版本不匹配。编译器:'4.12.1.20140427' - 框架:'4.1.0.16076'。
[错误] 您可以使用“iKnowWhatImDoingPleaseBreakMyBuildIwontBlameFlexmojosForStopWorking”禁用此检查。请参阅 Flexmojos Maven 文档。
[错误] 如果您更喜欢修复它而不是忽略它,请查看:https ://docs.sonatype.org/display/FLEXMOJOS/How+to+set+Flex+SDK+version
这是我的POM:
如您所见, as3commons-logging 库是我提到的依赖项。如果你打开它的POM,你会看到它取决于
和
两者都有 4.1.0.16076 版本。
我对 Maven 比较陌生,当我在我的 POM 依赖项中指定 as3commons-logging 的类型为“swc”时,我个人不明白为什么它尊重 as3commons-logging POM。但是好的,经过一个周末的研究,我发现了如何通过为我的依赖项指定“排除”来解决这个问题:
通过我的 POM 中的这个修复,它最终可以编译。
现在,我的问题是——这是正确的解决方法吗?我是说概念上的。因为整个事情对我来说似乎不是很清楚。这是从 Adobe Flex 切换到 Apache Flex 的代价吗?
localization - Flex mojos 运行时本地化支持
我有一个由 flex-mojos maven 插件构建的 flex 应用程序(flex-mojos 版本 4.2 - 我知道它很旧并且不再受支持,但它对我们来说没问题)。现在我们需要将应用程序本地化。而且我们想使用运行时本地化(当所有资源都包含在单独的 swf 文件中,每个语言环境一个,并在运行时加载时)。根据 Adobe 的说法,为了获取这些 .swf 文件,需要从命令行运行 mxmlc 命令。据我从 flex-mojos 文档中了解到,该插件不会自行生成这些资源 swf,它只会复制手动生成的资源。新的 flex-mojos 版本 7.0 和 7.1 也不可能自动生成运行时语言环境。有谁知道是否有任何方法可以通过 flex-mojos 实现自动化?它会得到支持吗?
maven - 是否可以将两个 SWC 文件合并为一个?
我目前正在尝试在我们的一个项目中进行一些急需的清理工作,作为其中的一部分,我将一个 blob SWC 拆分为多个较小的 SWC。到目前为止,一切都很好。
现在的问题是,由于遗留目的,我仍然需要一个单一的聚合 SWC,其中包括现在在专用 SWC 中拆分的所有源。这是否可能而无需再次实际编译源代码?是否可以将两个或多个 SWC 合并为一个 SWC?
从长远来看,对这个单一 SWC 的依赖将被替换为仅对实际需要的新 SWC 的依赖。但在过渡阶段,我确实需要支持这两种情况。:/
更新:
我们使用 Maven 管理我们的项目,因此我一直在寻找一个与所使用的 flexmojos maven 插件一起工作的解决方案。正如 Brian 所指出的,compc
它可用于合并多个 SWC,但似乎没有任何可以在 pom.xml 中使用的完全相同的等价物。
Flexmojos文档指出,<scope>
可以在指定具有相同效果的依赖项时使用该标志。但是,这会导致编译错误,因为它试图递归地合并所有引用(我只想合并指定的库,而不是它们反过来依赖的库)。所以,这行不通。
我探索的另一个可能的解决方案是<include-libraries>
配置选项,可以在与最终 SWC 一起生成的 ...-config.xml 文件中看到。使用以下语法:
但是,这似乎根本不受支持。:/
所以,最后我能想到的就是使用 Ant 脚本或compc
直接手动调用的东西,如果可能的话,我真的很想避免。:/
flash - FlexUnit 测试未在 Jenkins 中运行
我正在尝试通过我的本地网络 jenkins 服务器构建一个带有单元测试的 flash 应用程序。我已将其设置为 maven 工件,并且正在使用 flexmojos 6.0.1 maven 插件来构建它。当我通过我的开发环境(intelliJ)或命令行在本地构建它时,一切似乎都完美无缺(甚至是单元测试)。我已经在我的客户端和服务器计算机上尝试过。两者都完美地工作。但是当我尝试开始我在 jenkins 中创建的作业时,flexmojos 无法运行单元测试,返回一个 java 错误:'accept timed out'。如果我禁用单元测试,它会在 jenkins 中正确构建。测试是使用 flexunit 4 编写的。
我的猜测是 jenkins 无法在 flash 播放器中打开生成的 testrunner.swf 并且 flexmojos 会因此而超时。Flash 播放器 exe 在 PATH 上可用。
我已经在互联网上搜索过,试图找到有关此问题的更多信息,但那里的信息似乎很少。Flexmojos 似乎没有很好的文档记录,目前还不清楚谁在领导这个项目(如果有人的话?)。这是一个非常有用的 maven 插件,但如果你正在使用 flash。
我应该提到我在客户端和服务器上都使用 Windows。我想在 windows 中设置 jenkins 以运行单元测试会更容易,因为它不是无头服务器,并且在 windows 中使用 flash 更容易。
有没有人在尝试让 jenkins 使用 flexmojos 运行单元测试时遇到类似的问题?
actionscript-3 - 如何在 Maven 模块之间共享代码以便 IntelliJ IDEA 识别它?
我有一个库项目(用 ActionScript 编写),它有两个构建输出:一个是通过包含库 A 生成的,另一个是通过包含库 B 生成的。
我的目标是 mavenize 这个库,我想出了以下解决方案:我有一个多模块 Maven 项目,如下所示:
myLib-Mobile
\- pom.xml
myLib-Web
\- pom.xml
src
\- main
\- actionScript
...code is here
pom.xml
父 pom.xml 包含除了基于构建目标(和 FlexMojos 编译器,因为一个需要使用 AIR 构建另一个使用 Flash)而更改的依赖项之外的所有内容。由于代码不在通常的位置,我在孩子的 pom 文件中以这种方式定义它:
<build>
<sourceDirectory>../src/main/actionscript</sourceDirectory>
...
如果我在控制台中构建它,这可以正常工作,但是当我将它作为 IntelliJ 中的 Maven 项目导入时,它找不到源文件 - 在我看来,如果<sourceDirectory>
标签具有对父目录的引用,IntelliJ 无法处理。我发现的唯一解决方法是在项目设置中手动指定内容根目录。
有人知道更好的解决方案吗?也许使用模块不是要走的路?
maven - 由 flexmojos-maven-plugin 构建时,mx.controls.Menu 无法正确呈现
我的 Flex 应用程序出现了连线问题,确切地说是菜单(基于 mx.controls.Menu 和 flexlib.controls.ScrollableMenu)。
当我通过 FlashBuilder 菜单构建我的应用程序时。看截图:
但是当我使用 flexmojos-sonatype-plugin 由 maven 构建它时,菜单被破坏(它没有根据 labelField 属性正确呈现,并且它没有捕获任何事件,如鼠标单击)。看截图:
我的 .actionScriptProperties 文件:
我的有效 POM 文件:
我发现使用 MonsterDebugger 在运行时 Menu 对象和它的 MenuItemRenderers 被创建。
我正在使用 Flex SDK 3.3、FlashBuilder 4、Maven 3.0.5、flexmojos-maven-plugin 4.0-RC2。你知道用 FlashBuilder 和 Maven 构建我的应用程序有什么区别吗?感谢您的回复。
java - flexmojo java堆空间错误
当我在 Windows 操作系统中从 Eclipse 午餐 maven flexMojo 编译插件时,我得到 java 堆空间错误。关于增加 Maven 内存的任何想法?我在 Windows 环境变量中厌倦了这个:
它没有帮助。
apache - 根据 apache sdk 使用 flex mojo 构建 maven flex 项目失败
我有一个 mavenized flex 项目,它使用 adobe sdke 4.6 构建得很好。现在,我正在尝试用 apache 最近的 sdk 编译它。我对 sdk 进行了 mavenized 并将依赖项复制到本地 repo 中。我 mavenized 的 apache 版本是:4.13.0.20140701。
我的pom如下:
我得到了 Maven 编译错误:
似乎 flex mojo 总是使用默认的 apache 版本并忽略我提供的。我怎么能用我给定的版本强制 flexmojo 构建。
flexmojos - flexmojos-maven-plugin:7.0.1:test-compile 构建失败在 net.flexmojos.oss.unitestingsupport.TestApplication
我有一个包含 Flexmojos 4.0-beta-7 和多个模块的项目。
有一个带有 swc 打包和一些测试的神器。
在 Maven 安装阶段,它会创建以下 MXML 文件
/target/test-classes/TestRunner.mxml
所以 Flexmojos 4.0-beta-7 的阶段运行良好,产生以下输出。
但是后来我不得不将它升级到 Flexmojos 7.0.1,因为 FLEXMOJOS-886 https://flexmojos.atlassian.net/browse/FLEXMOJOS-886
不幸的是,它打破了阶段,产生了以下输出。
最初它以相同的方式开始
但随后它失败并显示以下消息。
如何修复它并使其与 Flexmojos 7.0.1 一起使用,有什么想法吗?