tutorial run remove plugin instalar descargar version-control cordova

version control - run - ¿Qué partes de los proyectos generados por cordova cli pueden ser versionadas de forma segura en el control de la fuente?



cordova-android version (6)

Bueno, lo que controlas es tu propia elección, aunque, personalmente, solo usaría el control de versiones en la www folder , ya que es donde está toda tu codificación y contenido almacenado ( html, css, js, images, audio, etc ), todo el el resto será contenido estático (en la mayoría de los casos)

Estoy buscando utilizar Cordova CLI en lugar de una solución de hormiga casera para la administración de línea de comando de un proyecto de phonegap / cordova. Me pregunto qué partes del árbol de directorios, si hay alguno, no deberían colocarse bajo control de versión.


Depende de tu proyecto y tu flujo de trabajo.

Para muchos proyectos, la carpeta ./www sería suficiente como ya se mencionó, sin embargo, hay algunas otras carpetas que podrían ser buenas dependiendo de qué aspectos del cli esté utilizando.

Ejemplos:

  • ./merges para ./merges de HTML / CSS / JS específicas de la plataforma
  • ./.cordova para cli hooks (como before_build, after_plugin_add, etc.)

Además de cualquier otra cosa personalizada que pueda desear mantener fuera de ./www durante el desarrollo. Por ejemplo, tengo una carpeta ./src y los contenidos se concatenan y agregan a ./www como parte de nuestro proceso de compilación. Nuestras pruebas unitarias también están fuera de ./www .

En lugar de incluir una carpeta específica, tengo un .gitignore que mantiene los artefactos de compilación como ./platforms/* y ./plugins/* fuera del control de la versión.


Desafortunadamente no puedo agregar solo un comentario, así que aquí está mi respuesta para @blockhead y Sebastien Lorber:

No es necesario guardar los archivos de la carpeta ''plataforma'' incluso el archivo ''AndroidManifest.xml'' (o cualquier archivo de configuración para otra plataforma). Puede especificar sus preferencias en ''config.xml'' y afectará a estos archivos de configuración específicos de la plataforma generada (p. Ej., AndroidManifest); consulte la documentación de phonegap .

Luego puede tener bajo control de versión solo la carpeta ''www'' y el archivo ''config.xml''.


He sido un desarrollador de cordova desde v2.9 y el consejo típico de excluir la plataforma y las carpetas de complementos funciona la mayor parte del tiempo ... excepto cuando no lo hace.

Me he dado cuenta en un proyecto que parece que usa todos los complementos conocidos por el hombre que este mantra se ha roto, y no puedo ir y venir fácilmente en el control de versiones y producir una compilación nueva de manera confiable.

Esto es por algunas razones:

Apple cambia las cosas y, a medida que pasa el tiempo, hay una serie de ataques de cordova que se deben agregar a un proyecto para que sea confiable. Por ejemplo, iOS 10 agregó el requisito de que si usa la cámara, necesitara especificar para qué la usaba, o la aplicación fallaría cuando lo intentara. Mientras esperaba que el complemento de la cámara solucionara esto, necesité editar los archivos fuente de iOS, y luego, un tiempo después, tuve que crear una versión anterior y resolver los problemas.

Pero el verdadero dolor es cuando los complementos se desvían de la forma cordova de hacer las cosas. Este proyecto al que me refiero usa Adobe Aviary / Image editing SDK. Sus instrucciones son instalar el complemento, copiar algunos archivos SDK descargados por separado, y luego instalarlo de nuevo. Traté de hacer un script que no lo matara, pero terminó siendo que ahora confirmo el directorio de plugins y plataformas a la aplicación, de esta forma puedo retroceder en el tiempo y recrear de forma confiable una compilación.

Sí, agrega más tamaño al control de fuente, sí, me encantaría hacerlo "bien", pero me ha mordido mucho. Solo mi $ 0.02

TL/DR - When you starting working with more than a couple of plugins, you might need to consider adding the platforms and plugins folder to source control


Si alguien quiere codificar la plataforma Android de Cordova CLI centrada (proyecto complejo Android Hybrid) en subversión, estos archivos se pueden excluir mientras se desarrolla con el equipo:

// to exclude files into repo .gitignore .gradle .idea local.properties android.iml /build /gradlew /gradlew.bat /gradle CordovaLib/CordovaLib.iml

Si alguien tiene problemas con un error de svn al importar el proyecto de la opción de Gradle desde el disco, no es el cliente de subversión incorporado de android studio, el siguiente enlace será útil para usted: https://.com/a/34633162/5287727


2015 - Respuesta de Cordova 5.1.1

Después de trabajar durante un tiempo con un proyecto de Cordova de 3.4.0 a 5.1.1, ¡aquí están mis comentarios!

Mi archivo .gitignore ve así:

*~ **~ platforms/** plugins/**

La www / .cordova y otras carpetas que necesita están versionadas.

Mi carpeta .cordova está actualmente vacía (solía tener algunos errores cuando no .cordova carpeta .cordova , quizás ya no es el caso)

Todos los complementos y plataformas deben registrarse en el archivo config.xml .

Si agrega complementos por línea de comando, use el cordova plugin add $pluginName --save --shrinkwrap -> agregará el complemento automáticamente a config.xml y config.xml el número de versión, haciendo que el proyecto Cordova sea más fácil de compartir entre los desarrolladores.

Obtenga más información al respecto y sobre cómo compartir proyectos de Córdoba, por parte del autor de la característica.

Tener los complementos en config.xml permite que los complementos se instalen en otras computadoras de desarrollador cuando instalan una plataforma. Sin eso, necesitarán agregarse el complemento.

De alguna manera, config.xml actúa como un package.json . package.json para proyectos de NPM. Pero todavía no sé cómo administrar un nuevo complemento agregado, por lo que sé que los complementos solo se instalan durante la instalación de la plataforma, no hay npm insall/update equivalente de npm insall/update (pero puede desinstalar / reinstalar la plataforma).

Aquí hay un ejemplo de config.xml de mi proyecto:

<?xml version=''1.0'' encoding=''utf-8''?> <widget id="co.xxx" version="0.2.6" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:gap="http://phonegap.com/ns/1.0"> <name>xxx</name> <description> Your Knowledge Network </description> <author email="[email protected]" href="https://xxx.co"> xxx </author> <content src="index.html" /> <preference name="permissions" value="none" /> <preference name="StatusBarOverlaysWebView" value="false" /> <preference name="android-minSdkVersion" value="14" /> <preference name="android-targetSdkVersion" value="22" /> <preference name="phonegap-version" value="cli-5.1.1" /> <plugin name="cordova-plugin-device" spec="1.0.1" /> <plugin name="cordova-plugin-console" spec="1.0.1" /> <plugin name="cordova-plugin-whitelist" spec="1.1.0" /> <plugin name="cordova-plugin-crosswalk-webview" spec="1.2.0" /> <access origin="*" /> <allow-intent href="*" /> <engine name="browser" spec="^3.6.0" /> <engine name="android" spec="^4.0.2" /> <plugin name="cordova-plugin-statusbar" spec="^1.0.1" /> </widget>

Las plataformas no se instalan automáticamente (hasta donde yo sé), pero al menos cuando un usuario instala la plataforma, ¡obtendrá la versión de plataforma correcta!

Algunas otras personas usan Plugman , una herramienta destinada a administrar complementos de Cordova (aún no probado).