有没有办法让FlexBuilder 3将项目视为应用程序和库?

时间:2020-03-06 14:26:58  来源:igfitidea点击:

我的团队为其他(内部)软件开发团队构建了可重用的库。我们使用FlexBuilder 3作为我们的开发环境。我们的SCM标准规定,这些项目必须包括测试工具和单元测试运行器,并且(当然)我们希望能够使用调试器。因此,所有项目都是"应用程序"。

我们的构建脚本(主要由CI系统使用并用于发布部署)构建了运行良好的实际库。使用这种方法是为了不需要FlexBuilder实际构建我们的生产构件(在命令行上)。

问题是,为了将FlexBuilder项目添加到应用程序的库路径中,它必须是库项目。我曾尝试向我们要包含的项目中添加一种性质,但尚未使其起作用。如果要调试另一个项目中的源文件,则需要这样做。

一个简单(但很烦人)的解决方法是将"库项目"的源文件夹包含为"应用程序项目"中的源文件夹。这很烦人,因为它需要多个步骤才能在"库项目"的swc与项目本身的源文件夹之间进行交换。

解决方案

如果有可能,我建议调整SCM标准,以使测试工具和单元测试运行程序可以存在于其他项目中。简单地要求所有库项目必须包括一个伴随测试项目。

我不知道这会使它变得更容易,但是实际上我会让库和测试工具分开的项目。这将允许我们分别控制每个源代码并可以解决flexbuilder的问题。它不会使使用起来更容易,但是会更干净并且最容易更新。

我并不完全了解情况描述,但是如果有帮助,我将描述我们如何组织Flex项目。我们的大多数应用程序代码都包含在SWC("库")项目中。然后,我们创建两个SWF("应用程序")项目,一个代表最终输出SWF的" shell"应用程序和一个测试工具FlexUnit 2应用程序。这两个SWF项目都使用源路径引用SWC项目。使用这种方法使得在SWC中启用应用程序代码库的单元测试变得很简单。

我还建议将其分解为2个项目。有1个库项目和1个应用程序用于测试和testrunner。

旁注:FlexBuilder 4将支持在IDE中为Flex应用程序和Flex库项目运行FlexUnit测试。因此,我们不必为了运行测试而维护应用程序。