Структура каталогов для кроссплатформенного проекта телефонного промежутка
Какова хорошая структура каталогов для репозитория с одним исходным кодом, который содержит версии Android и iOS для проекта PhoneGap? Я в порядке, используя sym-ссылки, так как я не ожидаю каких-либо изменений на ПК. (Но если есть чистый способ сделать это без меня, я весь слух, потому что git и символические ссылки на ПК - это кошмар.) Я попробовал это:
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
Затем я указываю xcode на каталог ios/www и затмеваю каталог android/www. Для специфичного для платформы javascript файлы html относятся к xpjs/phonegap.js
а также xpjs/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.
Конечно, кто-то понял это.
2 ответа
На самом деле это довольно просто с Git и Submodules. Упомянутая выше телефонная пробка вики действительно немного невелика, поэтому я на самом деле пошел дальше и реализовал решение, которое настраивает проект xcode и eclipse.
Смотрите ссылку в моем блоге: структура проекта Phone Gap с использованием подмодулей git
Если вы не хотите использовать подмодули Git, есть решение Symlink, которое не заботится о том, используете ли вы Git или SVN.
http://www.tricedesigns.com/2012/02/16/linked-source-files-across-phonegap-projects-on-osx/
В вики-странице PhoneGap есть запись (выглядит как первый проход), которая объясняет, как использовать подмодуль git. Чтобы дополнить эту запись, я также написал статью об использовании свойства svn:externals. Моя единственная мысль о символических ссылках - это то, что людям нужно настроить, а не получать их по сути из репозитория управления исходным кодом. на самом деле это не проблема, но это логично для установки, когда вы переключаете компьютеры или получаете дополнительных разработчиков в проекте. Я буду ехать по маршруту SVN: Externals, пока не найду что-нибудь получше.