Tycho помещает папку «p2» в продукт с помощью подключаемых модулей eclipse-repository и tycho-p2-Director-plugin. - PullRequest
1 голос
/ 21 декабря 2011

Я изменил мою сборку Tycho + Maven (приложение RCP), чтобы использовать Tycho 0.13 и eclipse-repository плюс tycho-p2-Director-plugin (вместо моего старого "eclipse-application" в Tycho 0.10).Мне удалось заставить сборку работать (создав файлы ZIP), но они в 2 раза больше, чем раньше.Я вижу, Tycho помещает много дополнительных вещей, которые не нужны моему продукту: 1) папка "p2" на корневом уровне - 35 Мб.2) множество бесполезных плагинов, таких как

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.........

, как настроить «eclipse-repository» и «tycho-p2-Director-plugin», чтобы избежать этого?По крайней мере, не помещать папку «p2» в продукт.Мое программное обеспечение не использует механизм "обновления p2" для автообновлений.

Ответы [ 3 ]

1 голос
/ 21 декабря 2011

ваш продукт может перетаскивать транзитивные необязательные зависимости.

См. [1], как этого избежать.

Папка p2 / создается всегда, но ее размер не должен превышать 35 МБ. Если вы можете предоставить пример проекта для воспроизведения проблемы, откройте ошибку [2] и приложите ее вместе с инструкциями по воспроизведению.

[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

1 голос
/ 23 декабря 2011

Я закончил тем, что полностью удалил «архив-продукты» - он не гибкий и требует много ужасных взломов с распаковкой / переупаковкой / переименованием.Я сам упаковываю файлы ZIP:

<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>
0 голосов
/ 21 декабря 2011
  1. папка "p2", папка создается самой p2 при материализации продукта. если ваше приложение не поддерживает само обновление, вы можете просто удалить его из встроенного продукта.
  2. бесполезные плагины. Невозможно удалить их из вашего конечного материализованного продукта, они требуются для вашего продукта. Подробнее см. .
...