使用 Qooxdoo 进行开发并与多个开发人员合作

7

我对Qooxdoo作为可能的Web开发框架很感兴趣。我已经下载了SDK并在我的PC上的中心位置安装了它,因为我希望在多个项目中使用它。我使用create-application.py脚本创建了一个新的测试应用程序,并将所有生成的文件添加到了版本控制系统中。

我希望能够与其他PC上的开发人员一起合作。他们可能在不同的位置安装了SDK。 Qooxdoo中的自动生成文件似乎在config.jsongenerator.py中都包含SDK路径:如果SDK路径移动,generator.py脚本就会停止工作。 generator.py看起来不是太大的问题,因为它在config.json中查找更新的路径,但我不确定如何最好处理config.json

我想到的唯一选择是:

  1. 从版本控制系统中排除它,但似乎没有脚本可以自动生成它,所以这可能是危险的。
  2. 将其添加到版本控制系统中,但要求每个开发人员修改路径行,并接受每次合并更改时可能需要调整它。
  3. 更改config.json为一个路径和一个指向包含所有非SDK路径相关信息的第二个文件的单个“include”行。
  4. 使用相对路径到SDK,并为使用它的每个项目保留一个单独的、紧密放置的SDK副本。

如果存在生成脚本,方法1是理想的选择;方法2非常麻烦;我无法让方法3起作用;方法4有点凌乱,因为它意味着SDK的多个副本散布在各个地方。

Android SDK似乎处理这个问题非常好(使用方法1),其SDK路径在自己的文件中,其中包含自动生成该文件的脚本。据我所知,Qooxdoo将许多其他重要信息放在config.json中,自动生成该文件的唯一方法是创建一个新项目。

是否有更好/推荐的方法来处理这个问题?


我不是很理解3。你能详细说明一下吗? - ThomasH
在config.json中有一个名为“include”的部分,所以我冒险尝试(并不知道json的任何内容),将除了QOOXDOO路径之外的整个文件复制到另一个文件中,并在include部分引用该文件。但这并没有起作用。 - NPB
2个回答

6
作为symlink的替代方案,您可以在命令行上覆盖QOOXDOO_PATH宏:
./generate.py source -m QOOXDOO_PATH:<local_path_to_qooxdoo>

根据您使用的shell,您可能需要对-m参数进行适当的引用。这样,每个程序员都可以使用其本地安装的qooxdoo SDK。您甚至可以从config.json中删除QOOXDOO_PATH条目来强制执行此操作。


这听起来几乎完美:我可以轻松地编辑本地generator.py脚本,以便自动添加参数并从另一个Python脚本(仅包含QOOXDOO_PATH)加载。不幸的是,它在Windows上也无法工作,因为更高级别的generator.py使用split(':')而不是split(':', 1),因此Windows路径(驱动器字母后面有:)会被分解,导致错误消息。如此接近,却又如此遥远... - NPB
1
这个问题已经在主干中修复:-)。如果您想继续使用发布的1.2版本,只需继续并修补tool/pylib/misc/ExtendAction.py:41即可。 - ThomasH

4
我们使用一个指向SDK的符号链接,config.json仅包含该链接的路径。

这是个好主意。这对于在Windows上的开发人员来说如何使用呢? - NPB
嗯,不确定是否有效,但http://technet.microsoft.com/en-us/library/cc753194(WS.10).aspx建议mlink命令应该为您在Windows NTFS文件系统上提供符号链接... - Tobi Oetiker
请注意,如果您有一个Samba服务器,您可以在那里创建符号链接,Windows会认为qooxdoo的本地副本就在那里。 - Tobi Oetiker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接