2011-09-01 78 views
17

单个源存储库的一个好的目录结构,可以同时存放Android和iOS版本的phonegap项目?我没有使用sym-links,因为我不希望PC上有任何发展。 (但是,如果有一个干净的方式来做到这一点没有,我所有的耳朵,因为Git和PC上的符号链接是一个噩梦。)我已经试过这样:跨平台phonegap项目的目录结构

www/ 
    index.html 
    js/ *.js 
    xpjs-ios/ *.js 
    xpjs-android/ *.js 
    css/ *.css 
    html/ *.html (all other files) 

android/ 
     (lots of java and config files) 
android/assets/www/index.html -> www/index.html 
        js -> www/js 
        xpjs -> www/xpjs-android 
        html -> www/html 
        css -> www/css 
ios/ 
    (xcode config and such) 
ios/www/index.html -> www/index.html 
     js -> www/js 
     xpjs -> www/xpjs-ios 
     html -> www/html 
     css -> www/css 

然后我在IOS点的X​​code/www目录和eclipse在android/www目录下。对于平台特定的JavaScript,html文件引用xpjs/phonegap.jsxpjs/my-quirks.js,并获得这些文件的android或ios版本。

这一切似乎应该工作,但xcode4似乎不处理符号链接。如果我打开在Xcode编辑器源文件之一,它读取很好,但是当我试图挽救它,它说像

The document "index.html" could not be saved. It does not exist. 

和应用程序,当我尝试运行它失败

ERROR: Start page 'www/index.html' was not found. 

当然有人想通了。

+0

您使用的是什么源代码控制? – pinkeerach

+0

git,只要你不检查Windows上的回购,它就不会遇到符号链接问题。 – Leopd

回答

4

Git和Submodules其实很简单。上面引用的phonegap wiki确实有点苗条,所以我实际上继续实施了一个配置xcode & eclipse项目的解决方案。

参见我的博客文章链接:Phonegap project structure using git submodules

如果你不想使用Git的子模块,有一个符号连接的解决方案,以及如果你使用git或SVN不关心。

http://www.tricedesigns.com/2012/02/16/linked-source-files-across-phonegap-projects-on-osx/

+1

@leopd感谢您修复链接到我的帖子。 –

+6

链接被再次破坏。 – wtjones

4

phonegap wiki上有一篇文章(看起来像第一遍),它解释了如何使用git子模块。为了补充这个条目,我也对使用svn:externals属性做了一个补充。我对符号链接的唯一想法是,这是人们必须设置的东西,而不是从源代码控制库内部获取它们。这不是一个真正的问题,但是当您切换计算机或在项目中获得更多的开发人员时,这对于设置来说是一个逻辑上的问题。我会采取svn:externals路线,直到我找到更好的东西。

+0

非常薄的写法,但感谢指针。 – Leopd

+0

是的,如果我有更多的经验瓦特/混帐,我会详细说明。很想听听这是如何解决的。我现在证明了事情的一面。 – pinkeerach

+1

我没有把答案标记为接受,因为我真的更喜欢通过配置xcode和eclipse来解决问题。 Git对许多人来说是足够的挑战,我宁愿不为这个项目引入另一个复杂性。 – Leopd