Рекомендации SCM для проектов Apache Cordova [дублировать]

Начиная с Java 5 вы можете использовать Arrays.toString(arr) или Arrays.deepToString(arr) для массивов внутри массивов. Обратите внимание, что версия Object[] вызывает .toString() для каждого объекта в массиве.

Примеры:

Простой массив:

String[] array = new String[] {"John", "Mary", "Bob"};
System.out.println(Arrays.toString(array));

Выход:

[John, Mary, Bob]

Вложенный массив:

String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}};
System.out.println(Arrays.toString(deepArray));
//output: [[Ljava.lang.String;@106d69c, [Ljava.lang.String;@52e922]
System.out.println(Arrays.deepToString(deepArray));

Выход:

[[John, Mary], [Alice, Bob]]

double Массив:

double[] doubleArray = { 7.0, 9.0, 5.0, 1.0, 3.0 };
System.out.println(Arrays.toString(doubleArray));

Выход:

[7.0, 9.0, 5.0, 1.0, 3.0 ]

int Массив:

int[] intArray = { 7, 9, 5, 1, 3 };
System.out.println(Arrays.toString(intArray));

Выход:

[7, 9, 5, 1, 3 ]

104
задан jonasfj 28 July 2013 в 19:06
поделиться

6 ответов

Ответ зависит от того, на каких платформах вы разрабатываете приложение phongap, и если вы следуете стандартной структуре каталогов.

Если ваша структура каталогов проекта стандартная, вы можете начать с этого gitignore и изменить его для ваших нужд.

На эмпирическом правиле вы должны исключить все сгенерированные файлы, такие как каталоги bin/ и gen/. Если вы разрабатываете версию Android для вашего приложения, вы также должны исключать файлы сборки, например *.apk.

Все сгенерированные файлы в подкаталоге android также должны быть исключены:

Android/bin/
Android/gen/
Android/assets/
43
ответ дан Atropo 25 August 2018 в 01:51
поделиться

Хотя это несколько личное предпочтение, я пошел с этим (для проекта только для андроида). Удаление большинства, но сохранение того, что принято

ToonPlane/platforms/android/*
!ToonPlane/platforms/android/AndroidManifest.xml
ToonPlane/plugins/*
!ToonPlane/plugins/android.json
!ToonPlane/plugins/fetch.json
0
ответ дан Funkodebat 25 August 2018 в 01:51
поделиться

Итак, я просто понял это через пробную версию и ошибку. Каталог platforms может быть опущен, если вы используете локальную или удаленную сборку phonegap, поскольку она генерируется «на лету». Все остальные папки, включая скрытую папку .cordova, требуются.

7
ответ дан Jake Moshenko 25 August 2018 в 01:51
поделиться

Многие из этих вещей старые и на самом деле не относятся к последней версии Apache Cordova. Я использую Apache Cordova 5.1.1, и этот .gitignore позволяет мне настраивать пользовательские значки и т. Д., Блокируя все, что нам не нужно для версии для Android и IOS. Да .gradle используется, поэтому не удаляйте его!

www/
.gradle/
build/
.tmp/
.temp/
coverage/
*.log
node_modules/
bower_components/
1
ответ дан JakeGould 25 August 2018 в 01:51
поделиться

Расширение на @Jake Moshenko answer:

Мне нравится идея опустить каталог platforms. Фактически, я могу исключить как каталоги plugins, так и platforms. Хорошей отправной точкой для .gitignore:

platforms/
plugins/

Проблема заключается в том, что чистая копия репо должна быть инициализирована, прежде чем вы сможете с ней работать. Может возникнуть смысл создать сценарий инициализации, такой как:

#!/bin/bash
textReset=$(tput sgr0)
textGreen=$(tput setaf 2)
message_info () {
  echo "${textGreen}[my-app]${textReset} $1"
}

message_info "Creating necessary directories..."
mkdir plugins
mkdir platforms

message_info "Adding platforms..."
# If using cordova, change to: cordova platform add android
phonegap build android
phonegap build ios

message_info "Adding plugins..."
# If using cordova, change to: cordova plugin add
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

. Предостережение к этому подходу состоит в том, что он делает несколько сложнее настраивать специфический для платформы код приложения / конфигурацию за пределами того, что поддерживается phonegap / cordova (т.е. поддержка ориентации экрана).

Обновление: Bash Gist

Этот gist содержит более полный скрипт для обработки проекта, который не фиксирует plugins и platforms. Он предоставляет механизм для копирования значков и изображений с заставками из www в каталоги платформы (для iOS и Android), установки плагинов и обработки конкретных файлов платформы, которые должны быть добавлены в управление версиями.

Обновление: Grunt Gist

Вот еще один gist , который является портом Grunt вышеупомянутого сценария bash. (Спасибо @obie за подсказку)

49
ответ дан Jonathan Dixon 25 August 2018 в 01:51
поделиться

Я просто хотел оставить здесь свой опыт работы с этой проблемой и подход, который мы, в конце концов, выполнили.

В нашем проекте телефонных разговоров мы начали фиксировать все файлы, не содержащие папку / платформу, используя файл .gitignore. Мы думали так, когда разработчик клонировал репозиторий, единственное, что осталось сделать, это выполнить:

phonegap / cordova добавить платформу

Но это не так. После того, как платформа была добавлена, и мы попытались скомпилировать ее, появилась ошибка, и приложение не установило ее на устройстве.

Глядя на журналы, мы получили некоторые хиты, которые эта ошибка возникла из-за плагинов. Таким образом, мы решили переустановить все плагины, которые мы использовали в проекте, и правильно выполнили приложение.

Итак, мой совет - сохранить в репозитории весь контент, а не платформу и плагины папок. Создайте и загрузите в репозиторий файл README со списком плагинов, используемых в проекте.

Таким образом, когда разработчик клонирует репозиторий, ему придется:

1 .- Добавить платформы: phonegap / cordova добавить платформу «платформа»

2.- Добавить плагины: плагин phonegap / cordova добавить «плагин»

Надеюсь, это поможет!

С уважением.

4
ответ дан nespapu 25 August 2018 в 01:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: