Tycho mette cartella "p2" nel prodotto con eclipse-repository e Tycho-p2-regista-plugin plugin

voti
30

Ho cambiato la mia generazione Tycho + Maven (applicazione RCP) per utilizzare Tycho 0,13 e eclipse-repository più Tycho-p2-regista-plugin (al posto del mio vecchio eclipse-applicazione in Tycho 0,10). Sono riuscito ad ottenere l'accumulo di lavoro (che produce i file ZIP), ma sono 2 volte più grande di quelli di una volta. Vedo Tycho mette un sacco di materiale aggiuntivo mio prodotto non ha bisogno di: cartella 1) P2 a livello di radice - 35 MB. 2) un sacco di plugin inutili, come

plugins/org.eclipse.jdt.debug_3.6.1.v20100715_r361
plugins/org.eclipse.pde.build_3.6.2.R36x_20110203
plugins/org.junit_4.8.1.v4_8_1_v20100427-1100
......etc.........

come configurare Eclipse-repository e Tycho-p2-regista-plugin per evitare questo? Almeno di non mettere la cartella P2 nel prodotto. Il mio software non usa meccanismo di aggiornamento p2 per aggiornamenti automatici.

È pubblicato 20/12/2011 alle 22:24
dall'utente
In altre lingue...                            


3 risposte

voti
0
  1. cartella "P2", la cartella è stato creato da p2 sé quando materializzare il prodotto. se l'applicazione non supporta aggiornare se stesso, si può semplicemente rimuovere dal prodotto costruito.
  2. plugin inutili. Non c'è modo per rimuoverli dal tuo finale materializzato del prodotto, essi sono tenuti transitivamente dal prodotto. Vedere questo per i dettagli.
Risposto il 21/12/2011 a 00:36
fonte dall'utente

voti
1

il prodotto può trascinare in transitive dipendenze opzionali.

Per informazioni su come evitare questo Vedi [1].

P2 / cartella viene sempre creato, ma non dovrebbe essere 35MB. Se si riesce a fornire un progetto di esempio per riprodurre il problema, aprire un bug [2] e fissarla con passi come per riprodursi.

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=342704

[2] https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho&rep_platform=All&op_sys=All

Risposto il 21/12/2011 a 17:45
fonte dall'utente

voti
1

Ho finito per la rimozione di "archivio-prodotti" del tutto - non è flessibile e richiede un sacco di orribile di hacking con spacchettamento / riconfezionamento / ridenominazione. Sto imballaggio i file ZIP me stessa:

<properties>
   <distributive.prefix>${project.build.directory}/products/taskadapter</distributive.prefix>
   <exclude_p2>**/p2/**</exclude_p2>
</properties>

<build>
    <plugins>
        <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>
            </executions>
        </plugin>

        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <id>create-zip-files</id>
                    <phase>package</phase>
                    <configuration>
                        <target> 
                            <zip basedir="${distributive.prefix}/win32/win32/x86" 
                                 destfile="${project.build.directory}/taskadapter-win-${project.version}.zip"
                                 excludes="${exclude_p2}" />
                            <zip basedir="${distributive.prefix}/linux/gtk/x86" 
                                 destfile="${project.build.directory}/taskadapter-linuxgtk-${project.version}.zip"
                                 excludes="${exclude_p2}" />
                            <zip basedir="${distributive.prefix}/macosx/cocoa/x86" 
                                 destfile="${project.build.directory}/taskadapter-macos-${project.version}.zip"
                                 excludes="${exclude_p2}" />
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Risposto il 22/12/2011 a 22:42
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more