1 <?xml version="1.0" encoding="UTF-8"?>
   2 <!--   
   3    Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
   4    
   5    DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   6    
   7    The contents of this file are subject to the terms of either the Universal Permissive License 
   8    v 1.0 as shown at http://oss.oracle.com/licenses/upl
   9    
  10    or the following license:
  11    
  12    Redistribution and use in source and binary forms, with or without modification, are permitted
  13    provided that the following conditions are met:
  14    
  15    1. Redistributions of source code must retain the above copyright notice, this list of conditions
  16    and the following disclaimer.
  17    
  18    2. Redistributions in binary form must reproduce the above copyright notice, this list of
  19    conditions and the following disclaimer in the documentation and/or other materials provided with
  20    the distribution.
  21    
  22    3. Neither the name of the copyright holder nor the names of its contributors may be used to
  23    endorse or promote products derived from this software without specific prior written permission.
  24    
  25    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
  26    IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  27    FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  28    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  29    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  30    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  31    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
  32    WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  33 -->
  34 <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">
  35         <modelVersion>4.0.0</modelVersion>
  36         <groupId>org.openjdk.jmc</groupId>
  37         <artifactId>missioncontrol</artifactId>
  38         <version>7.1.0-SNAPSHOT</version>
  39         <packaging>pom</packaging>
  40         <name>JDK Mission Control</name>
  41         <description>JDK Mission Control is an advanced set of tools that enables 
  42                 efficient and detailed analysis of the extensive of data collected by 
  43                 JDK Flight Recorder. The tool chain enables developers and 
  44                 administrators to collect and analyze data from Java applications 
  45                 running locally or deployed in production environments.
  46         </description>
  47         <url>http://jdk.java.net/jmc</url>
  48         <licenses>
  49                 <license>
  50                         <name>Universal Permissive License Version 1.0</name>
  51                         <url>http://oss.oracle.com/licenses/upl</url>
  52                         <distribution>repo</distribution>
  53                 </license>
  54         </licenses>
  55         <organization>
  56                 <name>Oracle</name>
  57                 <url>https://www.oracle.com</url>
  58         </organization>
  59         <issueManagement>
  60                 <system>JIRA</system>
  61                 <url>https://bugs.openjdk.java.net/projects/JMC/issues</url>
  62         </issueManagement>
  63         <mailingLists>
  64                 <mailingList>
  65                         <name>jmc dev</name>
  66                         <subscribe>http://mail.openjdk.java.net/mailman/listinfo/jmc-dev</subscribe>
  67                         <unsubscribe>http://mail.openjdk.java.net/mailman/listinfo/jmc-dev</unsubscribe>
  68                         <archive>http://mail.openjdk.java.net/pipermail/jmc-dev/</archive>
  69                 </mailingList>
  70         </mailingLists>
  71         <modules>
  72                 <module>application</module>
  73                 <module>releng</module>
  74         </modules>
  75         <properties>
  76                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  77                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  78                 <tycho.version>1.4.0</tycho.version>
  79                 <maven.buildnumber.version>1.4</maven.buildnumber.version>
  80                 <maven.deploy.version>2.8.2</maven.deploy.version>
  81                 <maven.directory.version>0.2</maven.directory.version>
  82                 <maven.enforcer.version>3.0.0-M1</maven.enforcer.version>
  83                 <maven.resources.version>3.0.2</maven.resources.version>
  84                 <spotbugs.version>3.1.10</spotbugs.version>
  85                 <buildId>${user.name}</buildId>
  86                 <!-- Critical Patch Update Id. Used in a release where _only_ the embedded
  87                      JDK has changed. Set to .[cpu sequence number], e.g. .1 -->
  88                 <patchId></patchId>
  89                 <!-- The version of the JDK to embed, e.g. 12.0.2 -->
  90                 <jdkVersion></jdkVersion>
  91                 <scmConnection>scm:hg:http://hg.openjdk.java.net/jmc/jmc</scmConnection>
  92         </properties>
  93         <scm>
  94                 <connection>${scmConnection}</connection>
  95         </scm>
  96         <distributionManagement>
  97                 <snapshotRepository>
  98                         <id>jmc-publish-snapshot</id>
  99                         <url>${snapshot.repo}</url>
 100                 </snapshotRepository>
 101         </distributionManagement>
 102         <profiles>
 103                 <profile>
 104                         <id>photon</id>
 105                         <activation>
 106                                 <activeByDefault>true</activeByDefault>
 107                         </activation>
 108                         <build>
 109                                 <plugins>
 110                                         <plugin>
 111                                                 <groupId>org.eclipse.tycho</groupId>
 112                                                 <artifactId>target-platform-configuration</artifactId>
 113                                                 <version>${tycho.version}</version>
 114                                                 <configuration>
 115                                                         <target>
 116                                                                 <artifact>
 117                                                                         <groupId>org.openjdk.jmc</groupId>
 118                                                                         <artifactId>platform-definition-photon</artifactId>
 119                                                                         <version>7.1.0-SNAPSHOT</version>
 120                                                                 </artifact>
 121                                                         </target>
 122                                                 </configuration>
 123                                         </plugin>
 124                                 </plugins>
 125                         </build>
 126                 </profile>
 127                 <profile>
 128                         <id>oxygen</id>
 129                         <build>
 130                                 <plugins>
 131                                         <plugin>
 132                                                 <groupId>org.eclipse.tycho</groupId>
 133                                                 <artifactId>target-platform-configuration</artifactId>
 134                                                 <version>${tycho.version}</version>
 135                                                 <configuration>
 136                                                         <target>
 137                                                                 <artifact>
 138                                                                         <groupId>org.openjdk.jmc</groupId>
 139                                                                         <artifactId>platform-definition-oxygen</artifactId>
 140                                                                         <version>7.1.0-SNAPSHOT</version>
 141                                                                 </artifact>
 142                                                         </target>
 143                                                 </configuration>
 144                                         </plugin>
 145                                 </plugins>
 146                         </build>
 147                 </profile>
 148                 <profile>
 149                         <id>2018-09</id>
 150                         <build>
 151                                 <plugins>
 152                                         <plugin>
 153                                                 <groupId>org.eclipse.tycho</groupId>
 154                                                 <artifactId>target-platform-configuration</artifactId>
 155                                                 <version>${tycho.version}</version>
 156                                                 <configuration>
 157                                                         <target>
 158                                                                 <artifact>
 159                                                                         <groupId>org.openjdk.jmc</groupId>
 160                                                                         <artifactId>platform-definition-2018-09</artifactId>
 161                                                                         <version>7.1.0-SNAPSHOT</version>
 162                                                                 </artifact>
 163                                                         </target>
 164                                                 </configuration>
 165                                         </plugin>
 166                                 </plugins>
 167                         </build>
 168                 </profile>
 169         </profiles>
 170         <build>
 171                 <plugins>
 172                         <plugin>
 173                                 <groupId>org.apache.maven.plugins</groupId>
 174                                 <artifactId>maven-deploy-plugin</artifactId>
 175                                 <version>${maven.deploy.version}</version>
 176                                 <configuration>
 177                                         <skip>true</skip>
 178                                 </configuration>
 179                         </plugin>
 180                         <plugin>
 181                                 <groupId>org.eclipse.tycho</groupId>
 182                                 <artifactId>target-platform-configuration</artifactId>
 183                                 <version>${tycho.version}</version>
 184                                 <configuration>
 185                                         <environments>
 186                                                 <environment>
 187                                                         <os>win32</os>
 188                                                         <ws>win32</ws>
 189                                                         <arch>x86_64</arch>
 190                                                 </environment>
 191                                                 <environment>
 192                                                         <os>linux</os>
 193                                                         <ws>gtk</ws>
 194                                                         <arch>x86_64</arch>
 195                                                 </environment>
 196                                                 <environment>
 197                                                         <os>macosx</os>
 198                                                         <ws>cocoa</ws>
 199                                                         <arch>x86_64</arch>
 200                                                 </environment>
 201                                         </environments>
 202                                 </configuration>
 203                         </plugin>
 204                         <plugin>
 205                                 <groupId>org.eclipse.tycho</groupId>
 206                                 <artifactId>tycho-maven-plugin</artifactId>
 207                                 <version>${tycho.version}</version>
 208                                 <extensions>true</extensions>
 209                         </plugin>
 210                         <plugin>
 211                                 <groupId>org.eclipse.tycho</groupId>
 212                                 <artifactId>tycho-compiler-plugin</artifactId>
 213                                 <version>${tycho.version}</version>
 214                                 <configuration>
 215                                         <useProjectSettings>false</useProjectSettings>
 216                                 </configuration>
 217                         </plugin>
 218                         <plugin>
 219                                 <groupId>org.eclipse.tycho</groupId>
 220                                 <artifactId>tycho-p2-repository-plugin</artifactId>
 221                                 <version>${tycho.version}</version>
 222                                 <configuration>
 223                                         <includeAllDependencies>true</includeAllDependencies>
 224                                 </configuration>
 225                         </plugin>
 226                         <plugin>
 227                                 <groupId>org.eclipse.tycho</groupId>
 228                                 <artifactId>tycho-packaging-plugin</artifactId>
 229                                 <version>${tycho.version}</version>
 230                                 <executions>
 231                                         <execution>
 232                                                 <id>build-qualifier</id>
 233                                                 <phase>validate</phase>
 234                                                 <goals>
 235                                                         <goal>build-qualifier</goal>
 236                                                 </goals>
 237                                         </execution>
 238                                 </executions>
 239                                 <configuration>
 240                                         <archive>
 241                                                 <manifestEntries>
 242                                                         <Built-By />
 243                                                 </manifestEntries>
 244                                         </archive>
 245                                 </configuration>
 246                         </plugin>
 247                         <plugin>
 248                                 <groupId>org.commonjava.maven.plugins</groupId>
 249                                 <artifactId>directory-maven-plugin</artifactId>
 250                                 <version>${maven.directory.version}</version>
 251                                 <executions>
 252                                         <execution>
 253                                                 <id>directories</id>
 254                                                 <goals>
 255                                                         <goal>highest-basedir</goal>
 256                                                 </goals>
 257                                                 <phase>initialize</phase>
 258                                                 <configuration>
 259                                                         <property>rootDir</property>
 260                                                 </configuration>
 261                                         </execution>
 262                                 </executions>
 263                         </plugin>
 264                         <plugin>
 265                                 <groupId>com.github.spotbugs</groupId>
 266                                 <artifactId>spotbugs-maven-plugin</artifactId>
 267                                 <version>${spotbugs.version}</version>
 268                                 <configuration>
 269                                         <effort>Max</effort>
 270                                         <threshold>Low</threshold>
 271                                         <excludeFilterFile>${rootDir}/configuration/spotbugs/spotbugs-exclude.xml</excludeFilterFile>
 272                                 </configuration>
 273                                 <executions>
 274                                         <execution>
 275                                                 <goals>
 276                                                         <goal>check</goal>
 277                                                 </goals>
 278                                         </execution>
 279                                 </executions>
 280                         </plugin>
 281                         <plugin>
 282                                 <groupId>org.codehaus.mojo</groupId>
 283                                 <artifactId>buildnumber-maven-plugin</artifactId>
 284                                 <version>${maven.buildnumber.version}</version>
 285                                 <executions>
 286                                         <execution>
 287                                                 <phase>initialize</phase>
 288                                                 <goals>
 289                                                         <goal>create</goal>
 290                                                 </goals>
 291                                                 <configuration>
 292                                                         <doCheck>false</doCheck>
 293                                                         <doUpdate>false</doUpdate>
 294                                                         <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
 295                                                         <revisionOnScmFailure>no.scm.config.in.pom</revisionOnScmFailure>
 296                                                 </configuration>
 297                                         </execution>
 298                                         <execution>
 299                                                 <id>build.date</id>
 300                                                 <phase>initialize</phase>
 301                                                 <goals>
 302                                                         <goal>create-timestamp</goal>
 303                                                 </goals>
 304                                                 <configuration>
 305                                                         <timestampFormat>yyyy-MM-dd</timestampFormat>
 306                                                         <timestampPropertyName>build.date</timestampPropertyName>
 307                                                 </configuration>
 308                                         </execution>
 309                                         <!-- TODO: Maybe add the create-metadata goal after we've made the switch to Mercurial -->
 310                                 </executions>
 311                         </plugin>
 312                         <plugin>
 313                                 <groupId>org.apache.maven.plugins</groupId>
 314                                 <artifactId>maven-enforcer-plugin</artifactId>
 315                                 <version>${maven.enforcer.version}</version>
 316                                 <executions>
 317                                         <execution>
 318                                                 <id>enforce-java</id>
 319                                                 <goals>
 320                                                         <goal>enforce</goal>
 321                                                 </goals>
 322                                                 <configuration>
 323                                                         <rules>
 324                                                                 <requireJavaVersion>
 325                                                                         <version>[1.8.0-40,)</version>
 326                                                                         <message>Building JMC requires Java 8 version JDK 1.8.0_40 or later</message>
 327                                                                 </requireJavaVersion>
 328                                                         </rules>
 329                                                 </configuration>
 330                                         </execution>
 331                                         <execution>
 332                                                 <id>enforce-maven</id>
 333                                                 <goals>
 334                                                         <goal>enforce</goal>
 335                                                 </goals>
 336                                                 <configuration>
 337                                                         <rules>
 338                                                                 <requireMavenVersion>
 339                                                                         <version>3.3.1</version>
 340                                                                         <message>Building JMC requires at least Maven 3.3.1</message>
 341                                                                 </requireMavenVersion>
 342                                                         </rules>
 343                                                 </configuration>
 344                                         </execution>
 345                                 </executions>
 346                         </plugin>
 347                 </plugins>
 348                 <pluginManagement>
 349                         <plugins>
 350                                 <plugin>
 351                                         <groupId>org.apache.maven.plugins</groupId>
 352                                         <artifactId>maven-resources-plugin</artifactId>
 353                                         <version>${maven.resources.version}</version>
 354                                         <executions>
 355                                                 <execution>
 356                                                         <id>copy-resources</id>
 357                                                         <phase>process-resources</phase>
 358                                                         <goals>
 359                                                                 <goal>copy-resources</goal>
 360                                                         </goals>
 361                                                         <configuration>
 362                                                                 <outputDirectory>${project.build.directory}/classes/license</outputDirectory>
 363                                                                 <resources>
 364                                                                         <resource>
 365                                                                                 <directory>${rootDir}/license</directory>
 366                                                                                 <includes>
 367                                                                                         <include>LICENSE.txt</include>
 368                                                                                 </includes>
 369                                                                         </resource>
 370                                                                 </resources>
 371                                                         </configuration>
 372                                                 </execution>
 373                                                 <execution>
 374                                                         <id>copy-resources-javadoc</id>
 375                                                         <phase>prepare-package</phase>
 376                                                         <goals>
 377                                                                 <goal>copy-resources</goal>
 378                                                         </goals>
 379                                                         <configuration>
 380                                                                 <outputDirectory>${project.build.directory}/apidocs/license</outputDirectory>
 381                                                                 <resources>
 382                                                                         <resource>
 383                                                                                 <directory>${rootDir}/license</directory>
 384                                                                                 <includes>
 385                                                                                         <include>LICENSE.txt</include>
 386                                                                                 </includes>
 387                                                                         </resource>
 388                                                                 </resources>
 389                                                         </configuration>
 390                                                 </execution>
 391                                                 <execution>
 392                                                         <id>copy-resources-to-linux</id>
 393                                                         <phase>prepare-package</phase>
 394                                                         <goals>
 395                                                                 <goal>copy-resources</goal>
 396                                                         </goals>
 397                                                         <configuration>
 398                                                                 <outputDirectory>${project.build.directory}/products/org.openjdk.jmc/linux/gtk/x86_64/legal
 399                                                                 </outputDirectory>
 400                                                                 <resources>
 401                                                                         <resource>
 402                                                                                 <directory>${rootDir}/license</directory>
 403                                                                                 <includes>
 404                                                                                         <include>LICENSE.txt</include>
 405                                                                                         <include>THIRDPARTYREADME.txt</include>
 406                                                                                         <include>COPYRIGHT</include>
 407                                                                                 </includes>
 408                                                                         </resource>
 409                                                                 </resources>
 410                                                         </configuration>
 411                                                 </execution>
 412                                                 <execution>
 413                                                         <id>copy-resources-to-windows</id>
 414                                                         <phase>prepare-package</phase>
 415                                                         <goals>
 416                                                                 <goal>copy-resources</goal>
 417                                                         </goals>
 418                                                         <configuration>
 419                                                                 <outputDirectory>${project.build.directory}/products/org.openjdk.jmc/win32/win32/x86_64/legal
 420                                                                 </outputDirectory>
 421                                                                 <resources>
 422                                                                         <resource>
 423                                                                                 <directory>${rootDir}/license</directory>
 424                                                                                 <includes>
 425                                                                                         <include>LICENSE.txt</include>
 426                                                                                         <include>THIRDPARTYREADME.txt</include>
 427                                                                                         <include>COPYRIGHT</include>
 428                                                                                 </includes>
 429                                                                         </resource>
 430                                                                 </resources>
 431                                                         </configuration>
 432                                                 </execution>
 433                                                 <execution>
 434                                                         <id>copy-resources-to-mac</id>
 435                                                         <phase>prepare-package</phase>
 436                                                         <goals>
 437                                                                 <goal>copy-resources</goal>
 438                                                         </goals>
 439                                                         <configuration>
 440                                                                 <outputDirectory>${project.build.directory}/products/org.openjdk.jmc/macosx/cocoa/x86_64/legal
 441                                                                 </outputDirectory>
 442                                                                 <resources>
 443                                                                         <resource>
 444                                                                                 <directory>${rootDir}/license</directory>
 445                                                                                 <includes>
 446                                                                                         <include>LICENSE.txt</include>
 447                                                                                         <include>THIRDPARTYREADME.txt</include>
 448                                                                                         <include>COPYRIGHT</include>
 449                                                                                 </includes>
 450                                                                         </resource>
 451                                                                 </resources>
 452                                                         </configuration>
 453                                                 </execution>
 454                                         </executions>
 455                                 </plugin>
 456                         </plugins>
 457                 </pluginManagement>
 458         </build>
 459 </project>