2015-11-06 2 views
2

Я пытаюсь использовать tycho-p2-director-plugin для материализации продукта, но плагин, похоже, удаляет артефакты рядом с концом выполнения. Кроме того, выстроенная очередь плагинов называется странной: «tycho-p2-repository-plugin» -> «tycho-packaging-plugin» -> «maven-clean-plugin» -> «tycho-p2-director- плагин».tycho-p2-director-plugin удаляет сгенерированные артефакты

Ниже приводится pom.xml проекта продукта:

... 
<packaging>eclipse-repository</packaging> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.eclipse.tycho</groupId> 
      <artifactId>tycho-p2-director-plugin</artifactId> 
      <version>0.24.0</version> 
      <executions> 
       <execution> 
        <id>materialize-products</id> 
        <goals> 
         <goal>materialize-products</goal> 
        </goals> 
       </execution> 
      </executions> 
       <configuration> 
        <products> 
         <product> 
          <id>productSample</id> 
         </product> 
        </products> 
       </configuration> 
     </plugin>  
    </plugins> 
</build> 

Ниже приводится выход вызова «МВН пакет» по проекту продукта:

[INFO] ------------------------------------------------------------------------ 
[INFO] Building com.product.project 1.2.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- tycho-packaging-plugin:0.24.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ com.product.project --- 
[INFO] The project's OSGi version is 1.2.0.201511061039 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean-1) @ com.product.project --- 
[INFO] Deleting C:\test\com.product.project\target 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ com.product.project --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory C:\test\com.product.project\src\main\resources 
[INFO] 
[INFO] --- target-platform-configuration:0.24.0:target-platform (default-target-platform) @ com.product.project --- 
[INFO] 
[INFO] --- tycho-p2-publisher-plugin:0.24.0:publish-products (default-publish-products) @ com.product.project --- 
[INFO] 
[INFO] --- tycho-p2-publisher-plugin:0.24.0:publish-categories (default-publish-categories) @ com.product.project --- 
[INFO] 
[INFO] --- tycho-p2-publisher-plugin:0.24.0:attach-artifacts (default-attach-artifacts) @ com.product.project --- 
[INFO] 
[INFO] --- tycho-p2-repository-plugin:0.24.0:assemble-repository (default-assemble-repository) @ com.product.project --- 
[INFO] 
[INFO] --- tycho-p2-repository-plugin:0.24.0:archive-repository (default-archive-repository) @ com.product.project --- 
[INFO] Building zip: C:\test\com.product.project\target\com.product.project-1.2.0-SNAPSHOT.zip 
[INFO] 
[INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ com.product.project >>> 
[INFO] 
[INFO] --- tycho-packaging-plugin:0.24.0:build-qualifier-aggregator (default-build-qualifier-aggregator) @ com.product.project --- 
[INFO] The project's OSGi version is 1.2.0.201511061039 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean-1) @ com.product.project --- 
[INFO] Deleting C:\test\com.product.project\target 
[INFO] 
[INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ com.product.project <<< 
[INFO] 
[INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ com.product.project --- 
[INFO] No sources in project. Archive not created. 
[INFO] 
[INFO] --- tycho-p2-director-plugin:0.24.0:materialize-products (materialize-products) @ com.product.project --- 
[INFO] Installing product productSample for environment win32/win32/x86 to C:\test\com.product.project\target\products\productSample\win32\win32\x86 
Installation failed. 
The installable unit productSample has not been found. 
Application failed, log file location: C:\test\workspace\.metadata\.log 

Это очевидно Тихо-p2 -director-plugin не найдет никаких файлов, поскольку maven-clean-plugin каким-то образом вызывается после tycho-packaging-plugin! Есть идеи, почему это происходит?

ответ

4

есть плагин maven clean в жизненном цикле по умолчанию [1] в eclipse-репозитории, , но по умолчанию он преобразуется в фазу жизненного цикла 'initialize'.

чистый вызов с id 'default-clean-1' в вашем журнале сборки кажется мне странным.

Это может быть вызвано разветвленным жизненным циклом maven. Плагин maven-source может быть ответственным за это (по крайней мере, я бы не ожидал выполнения плагина maven-source-plugin при создании типа упаковки eclipse-repository)

Похоже, что [2] связан. Попробуйте либо удалить maven-source-plugin, либо если вам это действительно нужно, попробуйте вместо этого использовать его цель jar-no-fork.

[1] https://dev.eclipse.org/mhonarc/lists/tycho-user/msg03724.html

[2] Difference between Maven source plugin jar and jar-no-fork goal?

+0

Спасибо @jsievers оба ваши рекомендации работали для меня. Сначала я удалил maven-source-plugin из родительского pom и работал. После этого, так как это необходимо использовать в другом месте, я просто переопределить Maven-источник-плагин в pom.xml он проекта продукта: –

+1

<- язык: Ланг-XML -> \t org.apache. Maven.плагины \t Maven-источник-плагин \t \t \t \t \t \t \t \t \t прикрепляются-источники \t \t \t \t проверить \t \t \t \t \t \t \t \t \t банку-нет-вилка \t \t \t \t \t \t \t \t \t

+0

Ничего себе, я не знаю ли я когда-либо мог бы решить это без вашего ответа , благодаря! – thSoft