Skip to main content
summaryrefslogblamecommitdiffstats
blob: 12bba18c6f9f958791a3ac51f21f9c034f4ca53b (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                                      
                                                    






                                                                       
                                                                            









                                                                                                       
                                   


                            
                                    
                                        
                                        
                                                                 
                                                                                                       
                                    
                                                                      
                                                                              
                                           


                                                                                             
                                                                                                            
                                                             
                                                                                 
                                                                                         
                                                                                                     
                                                                                                   
                                                                                               
                                                                                      
                                                                                                                                   

               





                                                                                                 
                 
                                   








                                                                      
                                                             






                                           
                                                           
                 




                                                                 







                                                   





                                                              

                                                               

                                                                           
                                                                          
                       


                                                               
               




















                                 











                                                       













                                                              
                                                               







                                        

                                                          















                                                  



                                                      



















                                                     




                      









                                                        




                                                            















                                                                





                                                                 















                                                  


                                              






                                                        
























































                                                              

                 




                                                         


                                                           




                                                 

                        






                                                   










                                                
                             
                                              
                              




                                                                                                                        
                 
                




                                                          
                                                     










                                                                       

                                                       








                                
                 





                       



                                                                                           
                                                                                        



















                                                                    


             
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (C) 2013, 2018 EclipseSource and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v10.html

  Contributors:
     EclipseSource - initial implementation
     Mikael Barbero (Eclipse Foundation) - clean-up and parent factorization
-->
<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>

  <name>Eclipse Packaging Project (EPP) parent</name>

  <groupId>org.eclipse.epp</groupId>
  <artifactId>org.eclipse.epp-parent</artifactId>
  <version>4.9.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <java.version>1.8</java.version>
    <maven.version>3.1.1</maven.version>
    <tycho.version>1.2.0</tycho.version>
    <tycho.extras.version>${tycho.version}</tycho.extras.version>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/epp/org.eclipse.epp.packages.git</tycho.scmUrl>
    <cbi.version>1.1.5</cbi.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
    <build>${maven.build.timestamp}</build>
    <!-- The location that is used to assemble the single EPP configuration p2 repository -->
    <eclipse.epp.archiveDirectory>${basedir}/../../archive/</eclipse.epp.archiveDirectory>
    <!-- The location that is used to assemble the single EPP configuration p2 repository -->
    <eclipse.epp.targetRepository>${eclipse.epp.archiveDirectory}/repository/</eclipse.epp.targetRepository>
    <!-- ID used to generate the filename of the packages -->
    <eclipse.simultaneous.release.id>2018-09-M1</eclipse.simultaneous.release.id>
    <!-- Timestamp used in various places, e.g. the about dialog (see about.mappings) -->
    <eclipse.simultaneous.release.build>${maven.build.timestamp}</eclipse.simultaneous.release.build>
    <!-- Human readable name of the release, e.g. used in the about dialog (see about.mappings) -->
    <eclipse.simultaneous.release.name>2018-09 M1 (4.9.0M1)</eclipse.simultaneous.release.name>
    <!-- Upstream p2 repository, used as a source for pre-compiled build artifacts -->
    <eclipse.simultaneous.release.repository>http://download.eclipse.org/staging/2018-09/</eclipse.simultaneous.release.repository>
  </properties>

  <!--
     See maven-enforcer-plugin configuration to actually break the build if run with older maven.
     prerequisites section is kept for now as even if it doesn't break the build, it is used by
     other plugins like versions-maven-plugin which check and warn for using plugins with older
     than they require Maven version.
  -->
  <prerequisites>
    <maven>${maven.version}</maven>
  </prerequisites>

  <pluginRepositories>
    <pluginRepository>
      <id>eclipse-tycho</id>
      <url>https://oss.sonatype.org/content/repositories/public/</url>
    </pluginRepository>
    <pluginRepository>
      <id>eclipse-cbi</id>
      <url>https://repo.eclipse.org/content/groups/cbi/</url>
    </pluginRepository>
  </pluginRepositories>

  <repositories>
    <repository>
      <id>eclipse-simultaneous-release</id>
      <layout>p2</layout>
      <url>${eclipse.simultaneous.release.repository}</url>
    </repository>
    <repository>
      <id>license-feature</id>
      <url>http://download.eclipse.org/cbi/updates/license/</url>
      <layout>p2</layout>
    </repository>
  </repositories>

  <build>
    <plugins>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <extensions>true</extensions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <includePackedArtifacts>true</includePackedArtifacts>
          <!-- The Parallel Package feature.xml includes a number of other
               features that are marked as optional, and unfortunately they
               seem to be missing in Mars. Ignoring these options features
               for now.
          <dependency-resolution>
            <optionalDependencies>ignore</optionalDependencies>
          </dependency-resolution>
            -->
          <environments>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-buildtimestamp-jgit</artifactId>
            <version>${tycho.extras.version}</version>
          </dependency>
          <dependency> 
            <groupId>org.eclipse.tycho.extras</groupId> 
            <artifactId>tycho-sourceref-jgit</artifactId> 
            <version>${tycho.extras.version}</version> 
          </dependency> 
        </dependencies>
        <configuration>
          <timestampProvider>jgit</timestampProvider>
          <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
          <format>yyyyMMdd-HHmm</format>
          <sourceReferences> 
            <generate>true</generate> 
          </sourceReferences> 
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>regex-property</id>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>eclipse.epp.id</name>
              <value>${project.artifactId}</value>
              <regex>epp\.package\.(\d*)</regex>
              <replacement>$1</replacement>
              <failIfNoMatch>false</failIfNoMatch>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>${maven.version}</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>${java.version}</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>

    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-maven-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.4</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.8</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <includeAllDependencies>true</includeAllDependencies>
            <compress>true</compress>
          </configuration>
          <executions>
            <execution>
              <id>default-assemble-repository</id>
              <phase></phase>
              <configuration>
                <skip>true</skip>
              </configuration>
            </execution>
            <execution>
              <id>default-archive-repository</id>
              <phase></phase>
              <configuration>
                <skip>true</skip>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-source-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
          </configuration>
          <executions>
            <execution>
              <id>plugin-source</id>
              <goals>
                <goal>plugin-source</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200a-plugin</artifactId>
          <version>${tycho.extras.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200b-plugin</artifactId>
          <version>${tycho.extras.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.cbi.maven.plugins</groupId>
          <artifactId>eclipse-jarsigner-plugin</artifactId>
          <version>${cbi.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.6</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-source-feature-plugin</artifactId>
          <version>${tycho.extras.version}</version>
          <configuration>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
          </configuration>
          <executions>
            <execution>
              <id>source-feature</id>
              <phase>package</phase>
              <goals>
                <goal>source-feature</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-p2-extras-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <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>
            <execution>
              <id>archive-products</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>archive-products</goal>
                </goals>
            </execution>
          </executions>
          <configuration>
            <formats>
              <linux>tar.gz</linux>
              <macosx>tar.gz</macosx>
              <win32>zip</win32>
            </formats>
            <products>
              <product>
                <id>${project.artifactId}</id>
                <rootFolder>eclipse</rootFolder>
                <rootFolders>
                  <macosx>Eclipse.app</macosx>
                </rootFolders>
                <archiveFileName>${build}_eclipse-${eclipse.epp.id}-${eclipse.simultaneous.release.id}</archiveFileName>
              </product>
            </products>
            <profile>${project.artifactId}</profile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.cbi.maven.plugins</groupId>
          <artifactId>eclipse-dmg-packager</artifactId>
          <version>${cbi.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.6</version>
          <executions>
            <execution>
              <id>copy-zips-to-archive-folder</id>
              <phase>pre-integration-test</phase>
              <configuration>
                <target>
                  <copy todir="${basedir}/../../archive">
                    <fileset dir="${project.build.directory}/products">
                      <include name="*.zip" />
                      <include name="*linux*.tar.gz" />
                      <include name="*.dmg" />
                    </fileset>
                  </copy>
                </target>
              </configuration>
              <goals>
                <goal>run</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>

    <!--
       This profile needs to stay disabled for release builds, but may serve as a testing
       facility when carrying out tests with various p2 repositories. One possible use case
       is to add a p2 repository to the build that provides newer or different artifacts.
       In order to do this one needs to activate this profile explicitly and provide the
       p2 repository URL with a Java property.

       Example: -Depp.wormhole.repository=file:///tmp/myown.p2.repo/
      -->
    <profile>
      <id>p2.wormhole</id>
      <activation>
        <property>
          <name>epp.wormhole.repository</name>
        </property>
      </activation>
      <repositories>
        <repository>
          <id>epp.wormhole.repository</id>
          <layout>p2</layout>
          <url>${epp.wormhole.repository}</url>
        </repository>
      </repositories>
    </profile>

  </profiles>

</project>

Back to the top