2012-08-06 23 views
5

Cambié la construcción de nuestro producto Eclipse RCP de PDE-build a Maven Tycho. Además del ejecutable principal (de marca), el producto ahora incluye el archivo "eclipsec.exe". Nos gustaría omitir este lanzador basado en la consola de nuestro producto, ya que podría confundir a nuestros clientes. ¿Hay alguna manera de hacer eso con Tycho?Maven Tycho: ¿Cómo excluir eclipsec.exe en una compilación de producto?

Respuesta

11

tengo esta respuesta en la tycho-users list:

En su proyecto Eclipse-repositorio, asumiendo que tiene un archivo .product, puede colocar otro archivo en el mismo directorio llamado .p2.inf

Por el contenido de su archivo p2.inf se puede poner un punto de contacto P2 para eliminar el archivo:

instructions.configure=org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/eclipsec.exe);

1

No sé cómo resolver con tycho directamente, pero puede lograrlo con el plugin maven-antrun. Hay un pequeño truco para obtener la eliminación del eclipsec.exe en la posición correcta. Tienes que poner el paso de eliminar entre materializar y el objetivo de archivar del p2-director-plugin. Puse el paso de eliminar en la prueba de preintegración de fase y moví el paso de archivo a la prueba de integración de fase.

<plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>delete-eclipsec.exe</id> 
      <phase>pre-integration-test</phase> 
      <configuration> 
       <target> 
       <delete file="${project.build.directory}/products/<<your.product.id>>/win32/win32/x86/eclipsec.exe"/> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <groupId>org.eclipse.tycho</groupId> 
     <artifactId>tycho-p2-director-plugin</artifactId> 
     <version>${tycho-version}</version> 
     <executions> 
      <execution> 
      <id>materialize-products</id> 
      <goals> 
       <goal>materialize-products</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>archive-products</id> 
      <phase>integration-test</phase> 
      <goals> 
       <goal>archive-products</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 

El resultado: No eclipsec.exe en el producto.zip.
Espero que ayude.

+0

Buena idea! Por supuesto, la compilación ahora necesita llamar "mvn integration-test" en lugar de "mvn package". Aunque tengo que hacer eso de todos modos, ya que las pruebas de complemento también están relacionadas con la fase de prueba de integración. Pero terminé usando un archivo p2.inf como se sugiere en la lista de correo. Lástima que no puedo aceptar ambas respuestas! –

Cuestiones relacionadas