Порядок мультимодуль maven не поддерживается для плагинов Eclipse - PullRequest
2 голосов
/ 25 января 2012

У нас есть куча проектов плагинов eclipse, функций и сайтов обновлений.Мы создали главную помпу, в которой мы определяем модули:

<modules>
    <module>bundles/b1</module>
    <module>features/f1</module>
    <module>p2/site1</module>
    <module>bundles/b2</module>
</modules>

Мы хотели сохранить этот порядок и согласно Руководство по работе с несколькими модулями По ссылке выше мы предполагали, чтопорядок будет сохранен в соответствии с порядком, в котором перечислены элементы модуля.

Наше требование: site1 создает site_assembly.zip.Мы хотели взять этот zip-файл и обернуть вокруг него в пакет, что и делает пакет "b2".

Наше наблюдение:

  1. Порядок реактора Mavenкоторый напечатан в начале сборки с несколькими модулями, является правильным, однако сборка для каждого модуля разветвлена.
  2. Из-за (1) комплект b2 собирается перед сборкой проекта site1 и можетсоздать zip сборки сайта.
  3. Мы попытались добавить зависимость в pom.xml "b2" к site1, но сборка не удалась, так как сначала пытается собрать b2, которая имеет зависимость от site1, которая не была собрана досейчас.
  4. Мы наблюдали такое же поведение, когда у нас был модульный тест как фрагмент osgi.В том порядке, в котором мы четко указали, что хост предшествует тестовому фрагменту, но когда вызывается сборка maven, он всегда собирал фрагмент перед хостом и имел обыкновение давать сбой.

Плагины, которые определены вмастер пом:

 <plugin>
            <!-- enable tycho build extension -->
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-maven-plugin</artifactId>
            <version>${tycho-version}</version>
            <extensions>true</extensions>
        </plugin>
        <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
                <disableP2Mirrors>true</disableP2Mirrors>
                <resolver>p2</resolver>
                <target>
                    <artifact>
                        <groupId>com.x.y</groupId>
                        <artifactId>p2.build.target</artifactId>
                        <version>${project.version}</version>
                        <classifier>x</classifier>
                    </artifact>
                </target>
            </configuration>
        </plugin>

Мы не уверены, что maven-tycho-plugin мешает заказу реактора, поэтому любая помощь будет признательна.

1 Ответ

1 голос
/ 19 июля 2012

Tycho разрешает зависимости из файлов дескриптора Eclipse (MANIFEST.MF, feature.xml и т. Д.) И переупорядочивает модули так, чтобы необходимые артефакты создавались первыми.

...