Tengo dos proyectos Gradle Java importados a Eclipse, uno es una dependencia del otro. Me gustaría que Eclipse use el código de dependencia local, en lugar de la dependencia compilada en las carpetas de caché de gradle, para poder modificar y depurar ambos proyectos simultáneamente.
¿Cómo obligo a Eclipse a usar un código de dependencia local?
La función a la que te refieres se conoce comocompilaciones compuestas :
Una de las características más útiles de las compilaciones compuestas es la integración de IDE. Al aplicar el complemento idea o eclipse a su compilación, es posible generar un único proyecto IDEA o Eclipse que permita que todas las compilaciones en el compuesto se desarrollen juntas.
Además de estos complementos de Gradle, las versiones recientes de IntelliJ IDEA y Eclipse Buildship admiten la importación directa de una compilación compuesta.
La importación de una compilación compuesta permite que las fuentes de compilaciones separadas de Gradle se desarrollen juntas fácilmente. Para cada compilación incluida, cada subproyecto se incluye como un Módulo IDEA o un Proyecto Eclipse. Las dependencias de origen están configuradas, lo que proporciona navegación y refactorización entre compilaciones.
La forma más sencilla de lograr esto es usar includeBuild en su settings.gradle .
rootProject.name = 'my-composite' includeBuild 'my-app' includeBuild 'my-utils'Con eso en su lugar, no hay necesidad de configurar la ruta de compilación manualmente en Eclipse.
Dios mío, esto fue trivial y me tomó demasiado tiempo resolverlo.
Se resolvió el problema creando un archivo denominado external-projects.properties en la carpeta raíz del proyecto principal con la ruta relativa o completa a la carpeta del proyecto de dependencia.
Para ser precisos, para mí el árbol de carpetas termina así:
git-folder/ |__parent-project/ |__external-projects.properties |__build.gradle.kts |__rest (src/main, etc) |__dependency-project/ |__build.gradle.kts |__rest (src/main, etc)Y el contenido del archivo external-projects.properties :
dependency-project = ../dependency-projectEl proyecto de dependencia también debe estar en la ruta de compilación del proyecto principal (hecho con "Hacer clic con el botón derecho en proyecto > Ruta de compilación > Configurar ruta de compilación" y agregarlo en la pestaña "Proyectos").
Después de eso, un "Clic derecho> Gradle> Actualizar proyecto Gradle" funcionó.