¿Cómo administro subproyectos de submódulo git en Eclipse?

(En caso de que sea importante, se trata de proyectos Java Android)

El proyecto A es un proyecto de biblioteca.

El proyecto B depende de A. Para la facilidad de la gestión de proyectos en general para otras personas en lugar de sólo yo, A está contenido en B a través de un submódulo git.

Esto significa, si quiero hacer cambios en A y B , tendré lo siguiente:

  1. Proyecto A
  2. Proyecto B
  3. B del submódulo de A , vamos a llamar A ' . El mismo código, el mismo nombre del proyecto, la ubicación diferente en el disco.

Idealmente, me gustaría poder cumplir con las siguientes condiciones:

  1. Ser capaz de modificar A directamente en Eclipse.
  2. Ser capaz de modificar B y hacer que construya, haciendo referencia A ' , todo dentro de Eclipse.
  3. Realmente no necesito A ' como un proyecto importado / no hay necesidad de modificarlo, pero me gustaría que construya automáticamente su archivo jar y que tenga que ser referenciado por B.

Lo que he intentado:

  1. Simplemente importando A y A ' : No funciona, porque Eclipse no puede importar dos proyectos con el mismo nombre. No puedo simplemente cambiar el nombre ya sea porque es un submódulo; Tendría que hacer que cada actualización git , inaceptable.
  2. Agregar la referencia de la biblioteca externa a A ' , manteniéndola fuera de Eclipse por completo: en realidad no está mal de una solución, pero requiere al menos una versión externa de ella desde la línea de comandos (usando ant ) antes de que funcione … no la mayoría conveniente.
  3. Hacer un enlace de origen: No es el más limpio porque A (y posteriormente A ' ) tienen varias carpetas de origen dentro de ellos, así que tendría que actualizar cada vez que agregar o quitar las carpetas de origen dentro de A. Prefiero usar el frasco directamente.

¿Hay una manera de mantener esto todo en Eclipse, o debo hacer algo como el # 2, pero con un comando externo agregado para llamar a ant en A ' ?

Tengo una situación similar. Importar B como proyecto existente (android) en eclipse después de que git clonarlo. Asegúrese de que el proyecto A se inicializa y actualiza (a través de git).

Ahora, file-> importe el proyecto existente (android si A es un proyecto de Android) y vaya a donde el submódulo Un proyecto está dentro de su proyecto B y agréguelo.

Ahora tienes dos proyectos separados en eclipse. Usted puede cambiar ambos proyectos, y todo estará bajo el Proyecto B, porque es donde ambos proyectos están ubicados.

Ya que esto es específicamente para Android, ¿has mirado en las bibliotecas de Android?

En mi caso tengo una versión gratuita (B) y una versión de pago (C) de mi aplicación. Ambos comparten una base de código común (A). En eclipse hago A una biblioteca de Android y tanto B como C utilizan esta biblioteca y todos los 3 son reposes git independientes. Con esta configuración, los cambios que hago en A están disponibles automáticamente en B y C y sólo necesito mantener una base de código para cada proyecto. No hay fantasía de creación de scripts / configs.

Creo que este tipo de simplicidad es lo que buscabas? Disculpas si he entendido mal la pregunta.

No estoy seguro si tengo su configuración correcta:

Proyecto A: src
+ /projecta.jar (binario del proyecto A)

Proyecto B: / src
+ / Lib / Proyecto A / src como submódulo
+ /lib/projecta.jar (binario del proyecto A)

… ahora cambia AA 'y lo compila, queriendo probarlo antes de empujar / cometer, ¿verdad?
¿Está bien para que sólo tenga el frasco en B, o necesita la fuente dentro del proyecto B actualizado a A '?

Primer caso: tiene un archivo de hormigas compilar en el proyecto A y desplegarlo en B, así que el archivo ant no es parte del proyecto a, es sólo una solución local (es útil tenerlo en la vista de hormigas de eclipse)

Bosquejo:

 <property name="projectb.libdir" value="..."/> set appropriate place in project B <javac fromdir="./src" todir="./build" ...><fileset ... /></javac> <jar /> from build to projecta.jar <copy /> projecta.jar to projectb.libdir 

La alternativa es crear un .jardesc en eclipse, así que puedes ejecutar "create jar" en rightclick.

Es eso lo que querías hacer?

Eclipse Mars Milestone 5 (4.5.0M5) cuenta con soporte multiproyecto. Sólo necesita importar "Proyecto existente" de Subcarpeta.

Simplemente utilice un sistema de construcción de proyecto para realizar un seguimiento de sus dependencias (para eso son buenas).

Te sugiero que utilices gradle (preferible IMHO pero comprueba cuál se ajusta mejor a tu contexto) o maven , ambos pueden manejar subproyectos bastante bien y pueden generar la configuración de eclipse para ti.

  • ¿Cuál es el propósito de la anotación Android @Widget?
  • Error en la conexión http java.lang.IllegalArgumentException: El carácter no permitido en la consulta en el índice 76
  • Decodificación qr código de la imagen almacenada en el teléfono con Zxing (en el teléfono Android)
  • Cómo insertar marca de tiempo en una columna de base de datos SQLite? Utilizando el tiempo de función ('ahora')?
  • Android Phonegap 2.1> 2.2 Error de actualización
  • Android: pasa la referencia de función a AsyncTask
  • Botón de inicio personalizado de Facebook en el estudio android
  • Variables en los recursos XML: pasa valores de padres a hijos
  • ¿Cómo salir de una aplicación Android?
  • ¿Existe un ID exclusivo de dispositivo Android?
  • Administrador de dispositivos virtual deshabilitado en Android Studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.