Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: 8f05a9b05f80287f1fc63571c9582a3845b440ab (plain) (tree)
1
2
3
4
5
6
7
8
9
                                      
    
                                                         



                                                                             
 
               



                                               
   



                                                                                                     
                                    
                                
                                                  
                                    
                            
      





                                                                                   
     
                 
                        
                  
              


                                                                                       
                                
                                                                              
                                                            
                                                             
                            
                                                    






                                                               
                                      
        











                                                                                
       

                                                       
 
 

                                                                                     

                                                                                                

                                                                 
       

                                                 
                                                                                                        
       

                                                               
 
                                                    
 
          
                                                                               

                                                                                
       
                                                                                                  
    
                                                                                                 
 

                                                                                                   
                                                                                                                                        

                                                                                                                                        
                                                                                                       
       
                                                                                                              
 
                                                                                    
 
                                                                                               
                                                                                                                     
 
                                                                      
                                                                                                       
                                                            

        


                                                                                       
       
                                                                                                           
 
        
                                                                                                         
                  
                                                                           

                                                                      
       
                                                                                                            
 



                                                                                                   
                                                                                           
                                                                                                                 
 

        

                                                                                        
       
                                                                                               
 
        


                                                                              

                                                                            
        


                                                                 
       
                                                                                         
 

                                                         
                                                                                   
                                                                                                             
 












                                                                                                   
               
 









                                             











                                                                                 
                      
 
                                                                                                      
                                                                         
                      
                              
                                           
                
                               

                 
                               
                  
                       
 



                                    
                               




                               
                         


                                          
                             
                  
                         
                      








                                    
                       

             
              




                                                   



                                                              


                                                                                                          


                                            
                                                          
                                                

                       



                            


                                 

                            


                                  

                            
                                 



                             


                                 

                        


                                                    




                                                          








                                        
              

                                                       








                                                                                     
                                            

                            
                     















                                                                           

                     
              
            





                                                                                         
           

                                                      
                                   








                                     
                                          





                                      












                                                                                              
                                                                





                                         
              


                      


















                                                                   

                 




                                                      







                                                                

                        
                                                

                                                   
                         
                         
                         







                                                          
                                                       

                                                                
                 
                           
                                                          

                                                                               
                                             


                                                
                                                          
                          




                                                         





                                                                




                                                           
                         

                                                        
                                                
                                                       
                         
                     
                                        
                          
                                                                                                   


                                       
                     
                                                            
                      
                                                          






                                                                 
                          




                                                        


                                                                                                                                                     




                                                      
                         
                                                           
                                                        


                                                            
                          





                                                           








                                                              

                         

                                                            
                                                            
                          

                 




                                                  
                                                  

                                  
                                             

                                   



                                                      
                                                                               

                          

                                                     
                                                        
                                  


                                                     
                                                     
                                  


                                                     
                                                         
                                  

                 



                                                   




                                                     


                       
            
             
                             
                  
                                                                           

                                                        
                                                              



                                                                                             
                                                                    
             
                                                                      
                                                                                              
                                                                                                      


                                                                 
                                         

                                                                     

                                                                                    
                                                                                                            

                                                                                                            
                                                                             
                                                                                                       


                    
                                                
                                                                                



                            
            
                                       





                                                                
                  

                                                                                                            
                                                                

                                                                                   
           
                                                                                                             
                   

                    
                          





                                           
                           






                                                                  
                                                                    

                            









                                                          
                                     


                          


                                                             
                                                     





                                   
                                     

                          

                                                                                     
                  


                                                                                                                                                                      
                 
                                                   
                            
                   









                                                          
                                     


                          









                                                    
                                     








                                                          








                                                                  
                                                                    

                            












                                                          












                                                          



















                                                          












                                                                                                       
                                                                                                            







                                     














                                            
             







                                                        
                                                          



                               








                                                                
              


                             


                                               



                   















                                                                                     

                                                            





                                          







































                                                                                                                    


                          
                  

              






























                                                                                               


                                                                  



                                          
                                                



                                                 



























                                                                                                         
                                                                                 




































                                                                                   
 






































                                                                               
                           


                                                                   


                                                     

                                   
                            



                   




                                                                                                
                                                                                                     
                                   







                                                                                   
                                    














                                            





















                                                                                                   
             


                                                                                                          
          
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2019 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php

  Contributors:
  Igor Fedorenko - initial implementation
  Thanh Ha - improvements and maintenance
  David Williams - improvements and maintenance
  Lars Vogel - Bug 442042
-->
<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>org.eclipse</groupId>
  <artifactId>eclipse-platform-parent</artifactId>
  <version>4.13.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <!--
    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.
    If version number changed in one place, be sure to change in the other.
  -->
  <prerequisites>
    <maven>3.5.4</maven>
  </prerequisites>
  <properties>
    <!-- As of Tycho 0.22, skipTests takes priority, if maven.test.skip also specified,
      with different value. See https://bugs.eclipse.org/442976.
      During production builds, we run with -DskipTests=true -->
    <skipTests>false</skipTests>
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
    <macSigner.forceContinue>false</macSigner.forceContinue>
    <buildTimestamp>${maven.build.timestamp}</buildTimestamp>
    <buildType>I</buildType>
    <buildId>${buildType}${buildTimestamp}</buildId>
     <!--
      releaseName should match the yearly "release train" name.
      For example, "Mars", "Mars.1", "Luna SR2", etc.
      It will show up in "about box",
      such as Version: Mars (4.5), for main features.
      See bug 328139.
    -->
    <releaseName>2019-09</releaseName>
    <!--
      The releaseNumbers below, for SDK and Platform, might be
      thought of as the "marketing number" or "branding number",
      and in fact are used in the branding bundle of the corresponding products.
      In practice, the SDK number and Platform number are always the same,
      though in theory they would not always have to be ... so we'll use
      separate numbers. Also in practice, they are almost always the same as
      or nearly the same as the "product feature" numbers, but for example, for
      the initial release, some prefer we not use the trailing zero, but instead
      merely "4.5, instead of 4.5.0". And, hypothetically, there might be a time
      in the future when the platform for a new release was "merely service",
      but we'd still want the "marketing number" to be increased to reflect
      "a new yearly release".
    -->
    <releaseNumberSDK>4.13</releaseNumberSDK>
    <releaseNumberPlatform>4.13</releaseNumberPlatform>


    <!-- Using snapshot, or locally built (forked) snapshot version for bug 484000.
         Need to enable the tycho-snapshot-repo in <pluginRepositories> further down!
         Do not use snapshot version for pom-version-updater defined in build-functions.shsource
         Use released version for pom-updater
      <tycho.version>1.1.0-SNAPSHOT</tycho.version>
      <tycho-extras.version>1.1.0-SNAPSHOT</tycho-extras.version>
    -->

	<!-- using released version (normal case)
	     when upgrading make sure you change pom-version-updater version in build-functions.shsource
    -->
    <tycho.version>1.5.0-SNAPSHOT</tycho.version>
    <tycho-extras.version>1.5.0-SNAPSHOT</tycho-extras.version>

    <cbi-plugins.version>1.1.7</cbi-plugins.version>

    <!--  
      The tycho-eclipserun-plugin will create its instance of Eclipse from this
      'eclipiserun-repo' repository, such as for computing .api-descriptions and
      generating API Tools reports.
    -->
    <eclipserun-repo>https://download.eclipse.org/eclipse/updates/4.13-I-builds/</eclipserun-repo>
    
    <comparator.repo>https://download.eclipse.org/eclipse/updates/4.13-I-builds</comparator.repo>

    <!--
      NOTE: this EMF and ECF URL must match exactly what is in the eclipse-sdk-prereqs.target file.
      We use it (the EMF repo and ECF repo) not only for resolving pre-reqs during the build, but also in 'repository' POM for mirroring
      a copy of the EMF features and ECF features into our own repository. This is required since we merely "require" EMF (not "include"
      it).
      And, of course, in the PDE target file, the URL is expected to be the actual URL, not a variable.
    -->
    <emf-repo.url>https://download.eclipse.org/modeling/emf/emf/builds/milestone/S201907100440/</emf-repo.url>

    <ecf-repo.url>https://download.eclipse.org/rt/ecf/3.14.5/site.p2/</ecf-repo.url>

    <!-- only used when Tycho snapshot repo is enabled in <pluginRepositories> further down -->
    <tycho-snapshot-repo.url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</tycho-snapshot-repo.url>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <cbi-jdt-repo.url>https://repo.eclipse.org/content/repositories/eclipse-staging/</cbi-jdt-repo.url>
    <cbi-ecj-version>3.19.0.v20190826-1051</cbi-ecj-version>

    <!--
      Production bundles are produced by ignoring the compiler warnings specified
      by ${code.ignoredWarnings} (see further down).
      Good citizens don't override those default settings for their production bundles.
    -->
    <code.ignoredWarnings>-warn:-deprecation,unavoidableGenericProblems,warningToken</code.ignoredWarnings>

    <!--
      Test bundles may override the list of ignored warnings by setting this at the top of their pom.xml:
      <properties>
      <code.ignoredWarnings>${tests.ignoredWarnings}</code.ignoredWarnings>
      </properties>
      Good citizens use those default settings for their test bundles.
    -->
    <tests.ignoredWarnings>-warn:-deprecation,raw,unchecked,discouraged,warningToken</tests.ignoredWarnings>

    <!--
      repo for released versions of CBI. Note, we intentionally use as specific a repo as possible.
      See bug 471835.
    -->
    <eclipse-repo.url>https://repo.eclipse.org/content/repositories/cbi/</eclipse-repo.url>
    <cbi-snapshots-repo.url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</cbi-snapshots-repo.url>


    <!--
      This eclipse-p2-repo.url is specifically for the build-individual-bundles profile.
      See that profile for longer comment.
    -->
    <eclipse-p2-repo.url>This_URL_set_in_build-individual-bundles_profile</eclipse-p2-repo.url>

    <!--
      If configuration is not specified at all, in signing plugin, the default
      is 'false' (do not exclude inner jars, that is inner jars are signed).
    -->
    <defaultSigning-excludeInnerJars>false</defaultSigning-excludeInnerJars>

    <!--
      Valid options: error, warning, and ignore
      jgit.dirtyWorkingTree checking was added as of Tycho 0.19.0
      see: https://bugs.eclipse.org/419030
    -->
    <jgit.dirtyWorkingTree-platformDefault>ignore</jgit.dirtyWorkingTree-platformDefault>

    <qualifier.format>'v'yyyyMMdd-HHmm</qualifier.format>

    <compare-version-with-baselines.skip>true</compare-version-with-baselines.skip>
    <previous-release.baseline>https://download.eclipse.org/eclipse/updates/4.12/</previous-release.baseline>

    <!--
      Declaration of properties that contribute to the arg line for the tycho-surefire-plugin.
      The properties are declared empty by default and are overridden by automatic activation
      of the profiles 'macos' and 'jdk9-or-newer' or specific configuration in modules.
    -->
    <!-- any additional surefire args; to be defined by a test-plugin -->
    <surefire.testArgLine></surefire.testArgLine>
    <!-- platform/OS specific JVM args -->
    <surefire.platformSystemProperties></surefire.platformSystemProperties>
    <!-- properties related to Java modules on Java 9+ -->
    <surefire.moduleProperties></surefire.moduleProperties>
    <!-- system specific JVM args; if needed provided by system properties to the build command -->
    <surefire.systemProperties></surefire.systemProperties>
  </properties>

  <organization>
    <name>Eclipse Foundation</name>
    <url>https://www.eclipse.org/</url>
  </organization>

  <issueManagement>
    <system>Bugzilla</system>
    <url>https://bugs.eclipse.org/bugs/</url>
  </issueManagement>

  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>Eclipse Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/eclipse-releases/</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>Eclipse Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/eclipse-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
  <pluginRepositories>

    <!-- Released Tycho versions are available on maven central, which is now mirrored to Eclipse.org.
         The tycho-snapshot-repo is only needed when using snapshots. -->
    <pluginRepository>
      <id>tycho-snapshots</id>
      <url>${tycho-snapshot-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>

    <pluginRepository>
      <id>cbi-jdt</id>
      <url>${cbi-jdt-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
    <!--pluginRepository>
      <id>cbi-snapshots</id>
      <url>${cbi-snapshots-repo.url}</url>
      <snapshots>
      <enabled>true</enabled>
      </snapshots>
    </pluginRepository-->
    <pluginRepository>
      <id>eclipse</id>
      <url>${eclipse-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <build>
    <plugins>
      <plugin>
        <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>
        <configuration>
          <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=453757
            <resolveWithExecutionEnvironmentConstraints>false</resolveWithExecutionEnvironmentConstraints>
          -->
          <target>
            <artifact>
              <groupId>org.eclipse</groupId>
              <artifactId>eclipse-sdk-prereqs</artifactId>
              <version>4.13.0-SNAPSHOT</version>
            </artifact>
          </target>
          <environments>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>ppc64le</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-source-plugin</artifactId>
        <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.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>filter-resources</id>
            <goals>
              <goal>resources</goal>
            </goals>
            <phase>process-resources</phase>
            <configuration>
              <outputDirectory>${project.build.directory}/resources</outputDirectory>
              <escapeString>\</escapeString>
            </configuration>
          </execution>
          <execution>
            <id>saveproperties</id>
            <configuration>
              <outputDirectory>${project.build.directory}</outputDirectory>
              <overwrite>true</overwrite>
              <resources>
                <resource>
                  <directory>saveproperties</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <!--
          This 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.
          If version number changed in one place, be sure to change in the other.
        -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M2</version>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>3.5.4</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
       <groupId>org.eclipse.tycho.extras</groupId>
       <artifactId>tycho-p2-extras-plugin</artifactId>
       <version>${tycho.version}</version>
       <executions>
         <execution> <!-- Checks versions are properly bumped from one stream to the other -->
           <id>compare-attached-artifacts-with-release</id>
           <goals>
             <goal>compare-version-with-baselines</goal>
           </goals>
           <configuration>
             <skip>${compare-version-with-baselines.skip}</skip>
             <baselines>
               <baseline>${previous-release.baseline}</baseline>
             </baselines>
             <comparator>zip</comparator>
           </configuration>
         </execution>
       </executions>
     </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-eclipserun-plugin</artifactId>
          <!-- this is actually present in any 0.14+ version -->
          <version>${tycho-extras.version}</version>
          <configuration>
            <executionEnvironment>JavaSE-1.8</executionEnvironment>
            <repositories>
              <repository>
                <id>eclipse</id>
                <layout>p2</layout>
                <url>${eclipserun-repo}</url>
              </repository>
            </repositories>
            <!--
              This is to fix some lucene 3.x compatibility issues.
              Required for 4.2 and earlier. Not for 4.3 and later.
              <argLine>-Dhelp.lucene.tokenizer=standard</argLine>
            -->
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-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>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.jdt</groupId>
              <artifactId>ecj</artifactId>
              <version>${cbi-ecj-version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <compilerArgs>
              <args>${code.ignoredWarnings}</args>
              <args>-verbose</args>
              <args>-inlineJSR</args>
              <args>-enableJavadoc</args>
              <args>-encoding</args>
              <args>${project.build.sourceEncoding}</args>
              <args>-proceedOnError</args>
              <!-- Use this form, for Tycho 22 or less.
                <args>-log</args>
                <args>${project.build.directory}/@dot.xml</args>
              -->
            </compilerArgs>
            <!-- Use this form for Tycho 23 or greater -->
            <log>xml</log>
            <logDirectory>${project.build.directory}/compilelogs</logDirectory>
            <showWarnings>true</showWarnings>
            <excludeResources>
              <exclude>**/package.html</exclude>
            </excludeResources>
            <useProjectSettings>false</useProjectSettings>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho.version}</version>
          <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>
            <strictBinIncludes>false</strictBinIncludes>
            <format>${qualifier.format}</format>
            <timestampProvider>jgit</timestampProvider>
            <jgit.ignore>
              pom.xml
              .polyglot.build.properties
            </jgit.ignore>
            <jgit.dirtyWorkingTree>${jgit.dirtyWorkingTree-platformDefault}</jgit.dirtyWorkingTree>
            <sourceReferences>
              <generate>true</generate>
            </sourceReferences>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
            <additionalFileSets combine.children="append">
              <fileSet>
                <directory>${project.build.directory}</directory>
                <includes>
                  <include>.api_description</include>
                </includes>
              </fileSet>
            </additionalFileSets>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <argLine>${surefire.testArgLine} ${surefire.platformSystemProperties} ${surefire.systemProperties} ${surefire.moduleProperties}</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-source-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <distinctSourceRoots>true</distinctSourceRoots>
            <strictSrcIncludes>false</strictSrcIncludes>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-director-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${tycho.version}</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>
            <reuseBrandingPlugin>false</reuseBrandingPlugin>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <baselineMode>warn</baselineMode>
            <baselineReplace>all</baselineReplace>
            <baselineRepositories>
              <repository>
                <url>${comparator.repo}</url>
              </repository>
            </baselineRepositories>
            <ignoredPatterns>
              <pattern>META-INF/ECLIPSE_.RSA</pattern>
              <pattern>META-INF/ECLIPSE_.SF</pattern>
            </ignoredPatterns>
            <generateDownloadStatsProperty>true</generateDownloadStatsProperty>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>sonar-maven-plugin</artifactId>
          <version>3.3.0.603</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>java13patch413</id>
      <properties>
        <qualifier.format>'v'yyyyMMdd-HHmm'_BETA_JAVA13'</qualifier.format>
 
        <featureToPatch>org.eclipse.jdt</featureToPatch>
        <featureToPatchPDE>org.eclipse.pde</featureToPatchPDE>

        <!--
          For future versions, in addition to changing this value of "featureToPatchVersion",
          the same value needs to be edited in
          .../java13patch413/org.eclipse.jdt.java13patch/feature.xml
          and
          .../java13patch413/org.eclipse.jdt-feature-dummy/feature.xml
          and it of course, must "match" what ever version was produced by the build specified
          a few lines below, as the eclipse-p2-repo-java13patch413 p2 repository, as well as the lower
          bound, in 'versionRangeForPatch'.
 
          Also, when new patch created, should update the wiki at
          https://wiki.eclipse.org/Java13
        -->
        <!-- This needs the version of the feature to be patched. -->
        <featureToPatchVersion>3.18.100.v20190828-1800</featureToPatchVersion>
        <featureToPatchVersionPDE>3.14.100.v20190828-1800</featureToPatchVersionPDE>
        <!-- Can specify an exact range here, or something of a loose range, depending on what's needed. -->
        <versionRangeForPatch>[3.18.100.v20190828-1800,3.19.0.v20191201-1800)</versionRangeForPatch>
        <versionRangeForPatchPDE>[3.14.100.v20190828-1800,3.14.200.v20191201-1800)</versionRangeForPatchPDE>
        <!-- Comment this line when a patch is required on top of I-build -->
        <comparator.repo>https://download.eclipse.org/eclipse/updates/4.13milestones/</comparator.repo>
      </properties>
      <repositories>
       <repository>
         <id>eclipse-p2-repo-java13patch413</id>
         <url>https://download.eclipse.org/eclipse/updates/4.13milestones/</url>
         <layout>p2</layout>
       </repository>
     </repositories>
   </profile>
   <profile>
      <id>build-individual-bundles</id>
      <activation>
        <property>
          <!-- Enable if aggregatorBuild property is not set -->
          <name>!aggregatorBuild</name>
        </property>
      </activation>
      <properties>
        <!--
          This eclipse-p2-repo.url is specifically for the build individual bundles profile and Gerrit jobs.
          Default is set to I-builds for main development cycle.
          For maintenance streams should always be "M-builds".
          Ideally, this value would be provided by the environment, see bug 489789.
        -->
        <eclipse-p2-repo.url>https://download.eclipse.org/eclipse/updates/4.13-I-builds</eclipse-p2-repo.url>
      </properties>
      <repositories>
        <repository>
          <id>eclipse</id>
          <url>${eclipse-p2-repo.url}</url>
          <layout>p2</layout>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>eclipse-sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho.version}</version>
            <configuration>
              <includePackedArtifacts>false</includePackedArtifacts>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-extras.version}</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>${cbi-plugins.version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
            <configuration>
              <excludeInnerJars>${defaultSigning-excludeInnerJars}</excludeInnerJars>
              <!--
               The default timeout is 0 seconds which means "wait forever": https://www.eclipse.org/cbi/sitedocs/eclipse-jarsigner-plugin/sign-mojo.html#timeoutMillis
               We don't want to wait until the build finally aborts, so, setting a timeout (see bug 507369).
               Increasing timeout from 60000 to 120000 (see bug 544823).
              -->
              <timeoutMillis>120000</timeoutMillis>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-extras.version}</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <version>${tycho.version}</version>
            <executions>
              <execution>
                <id>p2-metadata</id>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>eclipse-pack</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho.version}</version>
            <configuration>
              <includePackedArtifacts>false</includePackedArtifacts>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-extras.version}</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-extras.version}</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <version>${tycho.version}</version>
            <executions>
              <execution>
                <id>p2-metadata</id>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>bree-libs</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.eclipse.tycho</groupId>
              <artifactId>tycho-compiler-plugin</artifactId>
              <version>${tycho.version}</version>
              <configuration>
                <!--
                  this tells Tycho to use JRE libraries that match bundle runtime execution environment
                  http://wiki.eclipse.org/Tycho/Release_Notes/0.14
                  TODO provide CBI-specific wiki that explains how to setup BREE libraries and toolchain.xml
                -->
                <useJDK>BREE</useJDK>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>partial-build</id>
      <activation>
        <property>
          <name>eclipse-sdk-repo.url</name>
        </property>
      </activation>
      <repositories>
        <repository>
          <id>eclipse-sdk-repo</id>
          <url>${eclipse-sdk-repo.url}</url>
          <layout>p2</layout>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>default-toolsjar</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <file>
          <exists>${java.home}/../lib/tools.jar</exists>
        </file>
      </activation>
      <properties>
        <toolsjar>${java.home}/../lib/tools.jar</toolsjar>
      </properties>
    </profile>
    <profile>
      <id>missing-toolsjar</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <file>
          <exists>${java.home}/../Classes/classes.jar</exists>
        </file>
      </activation>
      <properties>
        <toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
      </properties>
    </profile>
    <profile>
      <id>api-generation</id>
      <activation>
        <property>
          <name>!longnotexistingproperty</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-cbi-plugin</artifactId>
            <version>${cbi-plugins.version}</version>
            <executions>
              <execution>
                <!--
                    Default lifecycle phase: 'GENERATE_SOURCES'
                    See https://maven.apache.org/ref/3.5.4/maven-core/lifecycles.html
                -->
                <goals>
                  <goal>generate-api-build-xml</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-eclipserun-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>eclipse-run</goal>
                </goals>
                <phase>compile</phase>
                <configuration>
                  <!-- actual indexer call -->
                  <appArgLine>-data target/apibuild-workspace -application org.eclipse.ant.core.antRunner -buildfile
                    target/.apibuild.xml</appArgLine>
                  <dependencies>
                    <!-- list of bundles that we need -->
                    <dependency>
                      <artifactId>org.eclipse.ant.core</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.apache.ant</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.pde.api.tools</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.pde.build</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.pde.core</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.equinox.launcher</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.osgi.compatibility.state</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                    <dependency>
                      <artifactId>javax.annotation</artifactId>
                      <type>eclipse-plugin</type>
                    </dependency>
                  </dependencies>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
       <id>api-check</id>
       <activation>
         <activeByDefault>false</activeByDefault>
       </activation>
       <build>
         <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>check-skip-api-analysis</id>
                <phase>verify</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <skip>${skipAPIAnalysis}</skip>
                  <exportAntProperties>true</exportAntProperties>
                  <target>
                    <condition property="skipAPIAnalysis" value="true">
                      <not>
                        <available file="${basedir}/META-INF/MANIFEST.MF" property="isBundle"/>
                      </not>
                    </condition>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-dependency-tools-plugin</artifactId>
            <version>${tycho-extras.version}</version>
            <executions>
              <execution>
                <id>list-dependencies</id>
                <goals>
                  <goal>list-dependencies</goal>
                </goals>
                <phase>verify</phase>
                <configuration>
                  <skip>${skipAPIAnalysis}</skip>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-eclipserun-plugin</artifactId>
            <version>1.4.0</version>
            <executions>
              <execution>
                <id>api-analysis</id>
                <goals>
                  <goal>eclipse-run</goal>
                </goals>
                <phase>verify</phase>
                <configuration>
                  <skip>${skipAPIAnalysis}</skip>
                  <applicationsArgs>
                    <!-- need to set workspace to a dir that's not a child of the project --> 
                    <arg>-data</arg>
                    <args>${project.basedir}/../target/${project.artifactId}-apiAnalyzer-workspace</args>
                    <args>-application</args>
                    <args>org.eclipse.pde.api.tools.apiAnalyzer</args>
                    <args>-project</args>
                    <args>${project.basedir}</args>
                    <args>-baseline</args>
                    <args>default</args>
                    <args>-dependencyList</args>
                    <args>${project.build.directory}/dependencies-list.txt</args>
                    <args>-failOnError</args>
                  </applicationsArgs>
                  <jvmArgs>
                  	<jvmArg>-Xmx2048M</jvmArg>
                  </jvmArgs>
                  <repositories>
                    <repository>
                      <layout>p2</layout>
                      <url>${previous-release.baseline}</url>
                    </repository>
                  </repositories>
                  <dependencies>
                    <dependency>
                      <artifactId>org.eclipse.pde.api.tools</artifactId>
                      <type>p2-installable-unit</type>
                    </dependency>
                    <dependency>
                      <artifactId>javax.annotation</artifactId>
                      <type>p2-installable-unit</type>
                    </dependency>
                    <dependency>
                      <artifactId>org.eclipse.osgi.compatibility.state</artifactId>
                      <type>p2-installable-unit</type>
                    </dependency>
                    <!-- This will constitute the default baseline -->
                    <dependency>
                      <artifactId>${project.artifactId}</artifactId>
                      <type>p2-installable-unit</type>
                    </dependency>
                  </dependencies>
                </configuration>
              </execution>
            </executions>
          </plugin>
         </plugins>
      </build>
    </profile>

    <profile>
      <id>update-branding-plugins-about.mappings</id>
      <activation>
        <file>
          <exists>${basedir}/about.mappings</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
              <execution>
                <id>process-about.mappings</id>
                <phase>prepare-package</phase>
                <configuration>
                  <outputDirectory>${project.build.directory}</outputDirectory>
                  <overwrite>true</overwrite>
                  <resources>
                    <resource>
                      <directory>${basedir}</directory>
                      <includes>
                        <include>about.mappings</include>
                      </includes>
                      <filtering>true</filtering>
                    </resource>
                  </resources>
                </configuration>
                <goals>
                  <goal>copy-resources</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-packaging-plugin</artifactId>
            <version>${tycho.version}</version>
            <configuration>
              <additionalFileSets>
                <fileSet>
                  <directory>${project.build.directory}</directory>
                  <includes>
                    <include>about.mappings</include>
                  </includes>
                </fileSet>
              </additionalFileSets>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>coverage</id>
      <properties>
        <!-- Since we append output of various tests, write to a common folder besides tests -->
        <!-- it's recommended to override that to an absolute value in specific Hudson configurations
          and Sonar integration -->
        <jacoco.destFile>${project.basedir}/../target/jacoco.exec</jacoco.destFile>
        <sonar.jacoco.reportPath>${jacoco.destFile}</sonar.jacoco.reportPath>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.4</version>
            <executions>
              <execution>
                <id>jacoco-agent</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <append>true</append>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>macos</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <surefire.platformSystemProperties>-XstartOnFirstThread</surefire.platformSystemProperties>
      </properties>
    </profile>

    <profile>
      <id>jdk9-or-newer</id>
      <activation>
        <jdk>[9,)</jdk>
      </activation>
      <properties>
        <surefire.moduleProperties>--add-modules=ALL-SYSTEM</surefire.moduleProperties>
      </properties>
    </profile>
  </profiles>
  <scm>
    <connection>scm:git:https://git.eclipse.org/r/platform/eclipse.platform.releng.aggregator</connection>
  </scm>
</project>

Back to the top