¿Cómo reflejo una función?
Pregunta
Con el Tareas P2 Ant, es bastante simple reflejar los complementos para una función.
Pero, ¿cómo reflejo todo lo necesario para instalar una función?
Solución
No pudo obtener p2.mirror
laboral; La tarea refleja demasiado (como todas las versiones de una característica, incluso si solo está interesado en el último o específico) y/o muy poco (como la función pero ninguna de las dependencias).
Mi solución fue así:
- Desempacar eclipse a
eclipse-template
- Crear una copia como
eclipse-install
- Instale la función en
eclipse-install
- Elimine cualquier archivo en la copia que exista en la versión del paso #1 (
cd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}"
).
Eso lo deja con la función y los archivos de complemento. Usar org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher
para convertir eso en un repositorio P2 (ver los documentos para detalles).
Actualización 2011-11-01 Hay otra solución si no necesita ejecutar esto desde la línea de comando.
- Cree una "definición de destino" en un proyecto Eclipse (cree uno nuevo o use uno existente, no importa)
- Agregar sitios de actualización a este archivo *.Target
- Seleccione las características que desee
- Haga clic en el pequeño botón "Exportar" en la esquina superior derecha del Editor de definición de destino (junto a "Establecer como plataforma de destino")
Eso exportará todas las características seleccionadas con la versión exacta que seleccionó más todas las dependencias en una carpeta de su elección.
El editor de destino es un poco torpe y lento, pero funciona.
Mantenga el archivo bajo control de la versión Porque el editor objetivo a veces se equivoca.
Otros consejos
Estoy usando el siguiente código de hormiga para reflejar 2 características en un solo repositorio:
<!-- Creates single p2 repo from 2 repos -->
<p2.mirror>
<repository location="file:///${DESTINATION}/repo-name" append="false"/>
<source>
<repository location="file:///${feature1-repo}/feature1"/>
<repository location="file:///${feature2-repo}/feature2"/>
</source>
</p2.mirror>
Además, puedes usar el <iu>
y la identificación de la función para especificar la función que se reflejará. ID de características debe especificarse de la siguiente manera:
your.feature.id.group.group.group
Si tiene configuraciones específicas de placa para su función, entonces el IU se convierte en
your.feature.id.win32.win32.x86 (OS, Widget system, Architecture)