2010-02-27 13 views
13

Actualmente estoy usando PDE build en modo headless para construir mi proyecto OSGI Bundle. La tarea PDE Antrunner usa una instalación de Eclipse y solo la estoy apuntando a mi instalación local de Eclipse.Eclipse: ¿Cuál es la instalación mínima de Eclipse necesaria para una compilación sin cabeza PDE?

desafortunadamente la instalación de mi eclipse es de aproximadamente 260 MB, pero supongo que una compilación PDE NO requiere todos esos complementos en una instalación de eclipse estándar.

¿Alguien ahora cuál es la lista mínima de complementos que necesito para hacer una compilación sin cabeza PDE? Todas mis dependencias en realidad tengo en una carpeta de plataforma de destino personalizada, así que supongo que lo único que necesito de mi instalación de eclipse son las dependencias que realmente necesita la compilación de PDE. Pero, ¿qué son esos? ¿Puedo reducir mi instalación a un mínimo?

Mi objetivo es registrar también esta carpeta "build-eclipse" en el SVN de mi proyecto para que cuando lo compruebes, tengas todo lo que necesitas para comenzar una compilación completa, sin tocar build.properties. Pero no quiero comprometer 266 MB de eclipse si necesito solo 20 MB de él.

Gracias Christoph

Respuesta

3

no puede responder directamente a su pregunta, pero puede agitar mis manos alrededor de un poco, algunos de los cuales podrían ayudar a encontrar una respuesta real.

En mi experiencia PDE he encontrado que es muy útil para distinguir:

    IDE
  • El Eclipse que estaba usando para la edición interactiva
  • La instalación "Eclipse" que estaba usando para decapitado PDE construye
  • La "plataforma de destino" (conjunto de complementos/características/etc.) De la que estoy construyendo depende)

Parece que estos conceptos son claros y separados en su cabeza también: usted tiene ya aisló la "plataforma objetivo" y está buscando aislar su Eclipse interactivo de su constructor PDE.

Puede intentar crear un espacio de trabajo nuevo (en blanco) en su Eclipse interactivo (solo para asegurarse de que lo está viendo, no en su plataforma de destino), abrir la vista de "Complementos", hacer clic derecho en plug-in prometedor como org.eclipse.pde.build, y elegir "Dependencias abiertas". El "Diseño plano" podría ser una forma más útil de ver los resultados que la jerárquica, aunque en mi Eclipse parece que no puedo copiar y pegar esta lista.

En mi caso, esto no mencionaba nada en el JDT, lo que me hace pensar que intentar crear un complemento basado en Java fallaría, pero con suerte eso proporcionaría otra ventaja (por ejemplo, "no puedo encontrar org.eclipse.jdt ", o algo).

Parece que "debería" haber una forma de utilizar el mecanismo de Actualizaciones de software, Target Platform o Buckminster para nombrar solo un complemento y hacer que todos los demás encajen. ¿Tal vez podría usar la plataforma de destino, seleccionar el complemento que necesita, presionar el botón para seleccionar los necesarios y exportar de alguna manera una "compilación" que simplemente recolectaría todos esos complementos?

Confieso que acabamos de registrar un Eclipse interactivo hace algún tiempo y lo usamos como nuestro creador de PDE. No lo usamos de manera interactiva, y mantenemos una plataforma de destino separada también.Nuestro constructor de PDE claramente no es mínimo, pero también podría serlo, así que espero que actualice este espacio con sus descubrimientos.

+0

Hola Woody, gracias por su responder. Absolutamente tienes razón sobre los tres conceptos ... eso es exactamente de lo que estaba hablando también. Básicamente quiero deshacerme de los "plugins interactivos relacionados con Eclipse". Tus ideas suenan bien y lo probaré mañana. Publicaré mis hallazgos aquí. Me pregunto si somos los únicos que estamos pensando en este problema. Gracias Christoph – Christoph

+0

Bien, aquí están mis primeros hallazgos: org.eclipse.pde.build y las dependencias no son suficientes para hacer una compilación. El proceso de compilación de alguna manera se detiene sin depurar la salida, por lo que primero tengo que averiguar qué sucede realmente bajo el capó. ¿Conoces algún argumento de línea de comando para poder obtener más resultados de depuración sobre las partes internas del proceso de compilación? (p.ej.-verbose o algo así) Si descubro lo que falta, trato de encontrar los complementos necesarios paso a paso y los publicaré aquí. Gracias Christoph – Christoph

+0

Christoph, no estoy seguro. . . pero cuando ejecuta una compilación PDE de línea de comando, en algún punto del camino está activando un tiempo de ejecución OSGi, que según tengo entendido, tiene algo parecido a un "Espacio de trabajo" de Eclipse donde puede almacenar información de dependencia de caché, etc. - colocar archivos de registro. ¿Tal vez pueda averiguar dónde está ese "espacio de trabajo" y leer su registro? –

5

Finalmente tuve que hacer esto yo mismo hoy (dirección a problem I was having where directories with spaces in their names weren't being included in the bundle PDE Build produced). Finalmente obtuve algo que podría construir mi colección de complementos (basados ​​en Java). No sé si es "mínima", pero está enfocada en Java PDE Build y mucho más pequeña que una instalación Eclipse IDE completa.

Tomé notas generales; podría haber algunas omisiones o pasos superfluos aquí, pero en general debería guiar.

I:

  1. puso en marcha un IDE de Eclipse reciente (en mi caso, el ejemplo 3.5 utilizo en este momento).
  2. Usé un espacio de trabajo temporal, por lo que los cambios en la plataforma de destino no arruinarían mis proyectos "reales".
  3. Me aseguré de que la plataforma de destino estuviera configurada en el lugar donde deseaba dibujar los complementos de mi compilador PDE (en mi caso, solo el que ejecutaba Eclipse). (Ventana | Preferencias ... | Desarrollo de complementos | Plataforma de destino)
  4. Creó un nuevo proyecto vacío.
  5. Se creó una nueva configuración del producto dentro de ese proyecto (usando la "configuración básica").
  6. En la página "Descripción general" de la nueva configuración del producto, sin control “El producto incluye artefactos de lanzadores nativos”
  7. En Dependencias, especificado los siguientes plug-ins como que constituye el producto:
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. marcó “Incluir dependencias opcionales. . . "
  9. Ha hecho clic en" Agregar complementos necesarios ".
  10. Definición del producto con el botón derecho en Package Explorer y seleccionado "Exportar ... | Producto Eclipse ".
  11. Lo dije donde quería que fuera mi instancia de generador de PDE.
  12. Desmarcado "Sincronizar antes de exportar".
  13. Desmarcado "Generar repositorio de metadatos".
  14. Haz clic en "Finalizar".

Ahora puedo (seguir) lanzar una PDE Build de mi construcción Ant normal, mediante la invocación de una macro como la siguiente (hay una manera mejor?):

<macrodef name="build-a-product"> 
    <attribute name="config-dir"/> 
    <sequential> 
     <property name="product-build-file" value="${pde-builder-path}\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml" /> 
     <java jar="${pde-builder-path}\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar" fork="yes" failonerror="yes" > 
      <arg value="-application" /> 
      <arg value="org.eclipse.ant.core.antRunner" /> 

      <arg value="-buildfile" /> 
      <arg value="${product-build-file}" /> 

      <arg value="[email protected]{config-dir}" /> 

      <arg value="-Dbasedir=${basedir}" /> 
     </java> 
    </sequential> 
</macrodef> 
+0

Hola Woody, eso es una gran noticia. No tuve suficiente tiempo recientemente para continuar explorando este tema. Pero quizás encuentre algo de tiempo para poder verificar sus hallazgos. ¿Cuál es el tamaño real en MB al que podría disminuir la instalación de su eclipse de construcción? – Christoph

+0

En mi caso, el resultado fue un poco menos de 20 MB. Eso todavía parece algo grande para lo que es, tal vez no debería haber incluido esas dependencias opcionales, pero esto funciona para mí. –

+0

Necesitaba hacer esto otra vez hoy para poder construir en Java 8. Esto es lo que es diferente ahora que mi IDE de Eclipse está en Marte.1: 1) La pestaña "Dependencias" en el paso 7 ahora está etiquetada como "Contenido". 2) También agregué (en el paso 7) el complemento org.eclipse.equinox.launcher para poder invocar PDE Build. 3) Después de exportar, actualicé un par de rutas a versiones de plug-in particulares en mi archivo de compilación Ant. ¡Y eso parece ser al respecto! La nueva exportación PDE Build es de aproximadamente 28 MB (en Windows). –

Cuestiones relacionadas