与SVN存储库同步时,Flash Builder会忽略输出文件夹

时间:2010-11-19 10:59:39

标签: flash actionscript-3 svn flash-builder

我在使用Subversion同步Flash Builder Actionscript项目时遇到了很多麻烦。我已经读过输出文件夹bin,bin-debug和html-template不应该签入存储库。项目bin文件夹包含许多其他项目成员需要访问的XML文件和资产。问题是Flash构建器忽略它。

有没有办法设置Flash Builder来覆盖被忽略的bin文件夹?如果没有,我应该考虑其他什么方法?不同的文件夹结构?

  • / src(commited)
  • / bin(忽略)
  • / swc(承诺)

我真的想覆盖默认的 “不要提交您的部署文件夹” 设置。赏金它是。

5 个答案:

答案 0 :(得分:2)

是的,不应提交这些文件夹。一种常见的方法是添加另一个文件夹以保留您要提交的所有运行时资产。然后只需将该文件夹添加到源路径中,默认情况下,Flash Builder会在项目属性的编译器选项部分中启用“将非嵌入文件复制到输出文件夹”,以便这些资源全部自动复制到构建的bin文件夹中。 / p>

答案 1 :(得分:1)

所以我发现有几种方法可以解决这个问题。


第一个选项......不同的svn客户端

不是最佳但你可以使用外部SVN客户端(如TortoiseSVN)而不是eclipse SVN客户端。不是理想的解决方案,但由于Tortoise和eclipse SVN客户端使用相同的SVN配置文件,您可以使用内置客户端检入您的src文件夹,只使用Tortoise来检查输出文件夹。


第二个选项... eclipse外部程序xcopy

在项目中创建另一个文件夹,说bin-checkin,然后在eclipse中创建一个外部工具配置,将数据复制到....(运行 - >外部工具菜单)

位置:

  

C:\ Windows \ System32下\ XCOPY.EXE

工作目录:

 ${workspace_loc:/temp/bin-debug}

参数:

  

*。* $ {workspace_loc:/ temp / bin-checkin} / e / y

然后,您可以从菜单中运行外部程序以复制数据 因为这个文件夹不是输出文件夹,SVN会让你检查它。


第三个选项.... eclipse项目Builder xcopy

(这是最好的,因为它是自动的)

与上面的第二个选项相同,但将其设置为构建器而不是外部程序此选项位于项目属性中的构建器下。

在此处使用与上面相同的设置(使用xcopy),在创建新构建器时,在“编辑启动配置属性”窗口的主选项卡上进行设置。

完成设置之后,请切换到同一对话框中的构建选项标签,并检查所需的选项,例如“手动构建期间”“自动构建期间”“干净后”取决于您的偏好。如果您选择“在自动构建期间”,请确保单击“指定资源...”按钮并选择bin-debug文件夹。 (这是将被监视以检测何时需要触发自动构建的文件夹)

注意:我在设置清洁后,手动和自动期间取得了最佳成功。

答案 2 :(得分:1)

我在这里找到了这些信息 - http://blogs.adobe.com/jasonsj/2010/03/installing_subclipse_in_flash_builder_4.html。我希望它有所帮助。

  

By Will - 2010年10月13日上午5:04回复

     

这一切都很好,但Flash Builder不断为AS / Flex项目重新创建bin-debug文件夹,销毁内部的.svn文件夹。这使得bin-debug文件夹无法进行版本控制。 Adobe有没有解决此问题的计划?这非常令人沮丧。

     

作者:杰森圣何塞 - 2010年10月13日上午5:15回复

     

这是故意的。 bin-debug应该只包含派生文件(从其他地方编译或以其他方式复制),并且不打算进行版本控制。您可以右键单击bin-debug,打开属性,然后取消选中Derived属性。这应该允许Subclipse选择它来进行版本控制,但通常不建议这样做。如果bin-debug文件夹中有特定于服务器的资源,则服务器项目会有所不同。

对于它的价值,我同意不对这些文件夹进行版本控制 - 这是不必要的。我理解,在你的情况下,做了什么。但是,在启动一个新项目时,可能需要设置一个“lib”文件夹来放置您的资产和XML文件,并让每个人都遵循该约定。祝你好运。

答案 3 :(得分:0)

为什么不将这些资产外部化到(项目的)单独的根文件夹中?检查bin-debug文件夹很麻烦,但是如果你保留一个单独的文件夹并使用ant build将它打包到.war中,那么我没有看到任何问题。(检查这个文件夹)(事实上我们是什么do,因为有时我们想将我们的应用程序部署为portlet)

答案 4 :(得分:0)

在目录上使用svn:ignore。请参阅此SO问题How do I ignore a directory with SVN?请注意,如果已经签入了这些目录,则首先必须将它们从存储库中删除。