Can Gradle manejar dependencias locales a que no sea subdirectorios?

StackOverflow https://stackoverflow.com/questions/3561394

  •  01-10-2019
  •  | 
  •  

Pregunta

No sé si estoy totalmente dieron el concepto erróneo, pero quiero crear varios proyectos con dependencias a otros proyectos que no forman parte de la estructura de directorios de un proyecto principal. Sé que la forma normal de hacer esto sería utilizar una dependencia externa, que obtiene de algún repositorio externo. Pero en este caso, donde digamos que en el proyecto denominado 'F' se desarrolla un marco, que se utiliza en el proyecto 'P'., Entonces P utiliza F, pero F debe OMI no debe ser necesariamente un sub-proyecto de P como P es sólo se utiliza para probar la conducción del desarrollo de F (pero no es sólo una prueba de unidad). Más adelante en el proceso, cuando F es estable, F se separa y puede ser consumido por otros proyectos a través de un repositorio. Sin embargo, durante el desarrollo de F con P, ya que de caso de prueba, que sería bueno si ese ida y vuelta a través del repositorio podría omitirse.

Para empeorar las cosas, para el desarrollo inicial hay más de un proyecto del consumidor prueba de manejo, que todos tenemos que tener una dependencia a F, pero no a través de un repositorio externo.

Mi idea es desarrollar F en algún lugar en el disco con su propio reposity git. La otra P como proyectos de residir en otro lugar en el disco y tener un sistema de archivos basado en la dependencia local para F. ¿Una construcción de este tipo es posible en Gradle? Si es así, ¿por dónde empiezo? Recorrí los ejemplos de Java, pero no pude encontrar un ejemplo apropiado.

Algunas ideas?

¿Fue útil?

Solución

La jerarquía del proyecto Gradle es totalmente virtual. Sólo tiene el defecto de que la ubicación física corresponde a la jerarquía virtual. Sin embargo, usted tiene el control completo sobre esto. Ver: http://gradle.org/0.9- rc-1 / docs / userguide / build_lifecycle.html # sec: settings_file

En cuanto a sus otras ideas echar un vistazo a la siguiente Jira: http: //jira.codehaus .org / Navegar / Gradle-1014

Otros consejos

Se podría considerar una jerarquía de carpetas como la siguiente:

Main folder
|- F folder
|  |- .git
|  |- sources
|  |- build.gradle (with parts specific to F)
|- P folder
|  |- sources
|  |- build.gradle (with part specific to P)
|- build.gradle (with common parts)
|- settings.gradle

Así que siempre se puede decidir ejecutar Gradle ya sea en el proyecto F, el proyecto P o los dos alltoegether. También le permite a promocionar el proyecto F solos sin el cualesquiera otros proyectos paralelos P o.

Para obtener más información actualizada, compruebe el Multi proyecto se basa capítulo de la documentación Gradle.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top