Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] How to bundle a plugin extracted into the product?

Hi!

 

My Team is creating a product based on Eclipse Kepler RCP and we would like use Maven to build this one using Tycho.

Our product contains 3 projects:

- a parent: judok.designer

- a plugin: judok.designer.core

- a product: judok.designer.product

 

The POMs are as follows:

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

       <modelVersion>4.0.0</modelVersion>

       <groupId>at.gv.brz.bjujq</groupId>

       <artifactId>judok.designer</artifactId>

       <version>1.0.0-SNAPSHOT</version>

       <packaging>pom</packaging>

       <name>JUDOK Designer</name>

       <inceptionYear>2014</inceptionYear>

    <organization>

        <name>Bundesrechenzentrum GmbH</name>

        <url>http://brz.gv.at/</url>

    </organization>

 

       <properties>

             <plugin.tycho.version>0.20.0</plugin.tycho.version>

             <plugin.dependency.version>2.8</plugin.dependency.version>

            

             <dependency.commons-codec.version>1.9</dependency.commons-codec.version>

             <dependency.commons-collections4.version>4.0</dependency.commons-collections4.version>

        <dependency.commons-exec.version>1.2</dependency.commons-exec.version>

        <dependency.commons-io.version>2.4</dependency.commons-io.version>

        <dependency.commons-lang.version>3.3.2</dependency.commons-lang.version>

        <dependency.commons-logging.version>1.1.3</dependency.commons-logging.version>

        <dependency.spring.version>2.5.5</dependency.spring.version>

        <dependency.xerces.version>2.9.1</dependency.xerces.version>

            

             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

       </properties>

 

       <repositories>

             <repository>

                    <id>p2-kepler</id>

                    <layout>p2</layout>

                    <url>http://download.eclipse.org/releases/kepler</url>

             </repository>

             <repository>

            <id>p2-babel</id>

            <layout>p2</layout>

            <url>http://download.eclipse.org/technology/babel/update-site/R0.11.1/kepler</url>

        </repository>

       </repositories>

 

       <build>

             <plugins>

                 <plugin>

                <groupId>org.eclipse.tycho</groupId>

                <artifactId>tycho-compiler-plugin</artifactId>

                <version>${plugin.tycho.version}</version>

                <configuration>

                    <compilerArgument>-err:-forbidden</compilerArgument>

                </configuration>

            </plugin>

                    <plugin>

                           <groupId>org.eclipse.tycho</groupId>

                           <artifactId>target-platform-configuration</artifactId>

                           <version>${plugin.tycho.version}</version>

                           <configuration>

                                  <environments>

                                        <environment>

                                               <os>win32</os>

                                               <ws>win32</ws>

                                               <arch>x86</arch>

                                        </environment>

                                  </environments>

                           </configuration>

                    </plugin>

                    <plugin>

                           <groupId>org.eclipse.tycho</groupId>

                           <artifactId>tycho-maven-plugin</artifactId>

                           <version>${plugin.tycho.version}</version>

                           <extensions>true</extensions>

                    </plugin>

             </plugins>

       </build>

      

       <modules>

             <module>../judok.designer.core</module>

             <module>../judok.designer.product</module>

       </modules>

</project>

 

--

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

       <modelVersion>4.0.0</modelVersion>

 

       <parent>

             <groupId>at.gv.brz.bjujq</groupId>

             <artifactId>judok.designer</artifactId>

             <version>1.0.0-SNAPSHOT</version>

             <relativePath>../judok.designer</relativePath>

       </parent>

 

       <artifactId>judok.designer.core</artifactId>

       <packaging>eclipse-plugin</packaging>

 

       <dependencies>

             <dependency>

                    <groupId>commons-codec</groupId>

                    <artifactId>commons-codec</artifactId>

                    <version>${dependency.commons-codec.version}</version>

             </dependency>

             <dependency>

                    <groupId>org.apache.commons</groupId>

                    <artifactId>commons-collections4</artifactId>

                    <version>${dependency.commons-collections4.version}</version>

             </dependency>

             <dependency>

                    <groupId>org.apache.commons</groupId>

                    <artifactId>commons-exec</artifactId>

                    <version>${dependency.commons-exec.version}</version>

             </dependency>

             <dependency>

                    <groupId>commons-io</groupId>

                    <artifactId>commons-io</artifactId>

                    <version>${dependency.commons-io.version}</version>

             </dependency>

             <dependency>

                    <groupId>org.apache.commons</groupId>

                    <artifactId>commons-lang3</artifactId>

                    <version>${dependency.commons-lang.version}</version>

             </dependency>

        <dependency>

            <groupId>commons-logging</groupId>

            <artifactId>commons-logging</artifactId>

            <version>${dependency.commons-logging.version}</version>

        </dependency>

             <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context</artifactId>

            <version>${dependency.spring.version}</version>

            <exclusions>

                <exclusion>

                    <groupId>commons-logging</groupId>

                    <artifactId>commons-logging</artifactId>

                </exclusion>

            </exclusions>

        </dependency>

       </dependencies>

 

       <build>

             <plugins>

                    <plugin>

                           <groupId>org.apache.maven.plugins</groupId>

                           <artifactId>maven-dependency-plugin</artifactId>

                           <version>${plugin.dependency.version}</version>

                           <executions>

                                  <execution>

                                        <id>copy-dependencies</id>

                                        <phase>process-sources</phase>

                                        <goals>

                                               <goal>copy-dependencies</goal>

                                        </goals>

                                        <configuration>

                                               <outputDirectory>${basedir}/lib</outputDirectory>

                                               <includeGroupIds>commons-codec,org.apache.commons,commons-io,commons-logging,org.springframework,aopalliance</includeGroupIds>

                                               <stripVersion>true</stripVersion>

                                         </configuration>

                                  </execution>

                           </executions>

                    </plugin>

             </plugins>

             <pluginManagement>

                    <plugins>

                           <plugin>

                                  <groupId>org.eclipse.m2e</groupId>

                                  <artifactId>lifecycle-mapping</artifactId>

                                  <version>1.0.0</version>

                                  <configuration>

                                        <lifecycleMappingMetadata>

                                               <pluginExecutions>

                                                      <pluginExecution>

                                                            <pluginExecutionFilter>

                                                                   <groupId>org.apache.maven.plugins</groupId>

                                                                   <artifactId>maven-dependency-plugin</artifactId>

                                                                   <versionRange>[2.0,)</versionRange>

                                                                   <goals>

                                                                          <goal>copy-dependencies</goal>

                                                                   </goals>

                                                            </pluginExecutionFilter>

                                                            <action>

                                                                   <execute />

                                                            </action>

                                                      </pluginExecution>

                                               </pluginExecutions>

                                        </lifecycleMappingMetadata>

                                  </configuration>

                           </plugin>

                    </plugins>

             </pluginManagement>

       </build>

</project>

 

--

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

       <modelVersion>4.0.0</modelVersion>

 

    <parent>

        <groupId>at.gv.brz.bjujq</groupId>

        <artifactId>judok.designer</artifactId>

        <version>1.0.0-SNAPSHOT</version>

        <relativePath>../judok.designer</relativePath>

    </parent>

   

       <artifactId>judok.designer.product</artifactId>

       <packaging>eclipse-repository</packaging>

 

       <properties>

             <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

       </properties>

      

       <dependencies>

             <dependency>

                    <groupId>at.gv.brz.bjujq</groupId>

                    <artifactId>judok.designer.core</artifactId>

                    <version>1.0.0-SNAPSHOT</version>

             </dependency>

       </dependencies>

 

       <build>

             <plugins>

                    <plugin>

                           <groupId>org.eclipse.tycho</groupId>

                           <artifactId>tycho-p2-director-plugin</artifactId>

                           <version>${plugin.tycho.version}</version>

                           <executions>

                                  <execution>

                                        <id>materialize-products</id>

                                        <goals>

                                               <goal>materialize-products</goal>

                                        </goals>

                                  </execution>

                                  <execution>

                                        <id>archive-products</id>

                                        <goals>

                                               <goal>archive-products</goal>

                                        </goals>

                                  </execution>

                           </executions>

                    </plugin>

             </plugins>

       </build>

 

</project>

 

Our product can be built successfully, but the plugin judok.designer.core  will be bundled as JAR. Is it possible to bundle this one without creating an archive from it?

 

Thanks!

 

mit freundlichen Grüßen / best regards / cordiales saludos / meilleures salutations

 

Gabor Ilyes-Veisz

B-JU-JQ

 

Bundesrechenzentrum GmbH
Hintere Zollamtsstraße 4, 1030 Wien
DVR: 0875597

 

E-Mail: Gergoe-Gabor.Ilyes-Veisz@xxxxxxxxx

Web: www.brz.gv.at

 

Support Green IT. Think before you print and save a tree.

 

Angaben gemäß §14 UGB:
Firmenbuchnummer: 160573m
Firmenbuchgericht: HG Wien
Sitz der Gesellschaft: Wien

 

------------------------------
This message may contain confidential and/or legally privileged information and is intended for use by the indicated addressee only.
If you are not the intended addressee:
(a) any disclosure, reproduction, distribution or action you take on the basis of the contents of this message (except for this instruction) is strictly prohibited;
(b) please return the complete message to the sender and delete any copies there of from your system; and
(c) this message is not a solicitation for purchase or sale or an offer or agreement of any kind whatsoever that binds the sender.

 


Back to the top