<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.javastro.vodsl</groupId>
  <artifactId>mavenbase</artifactId>
  <version>0.4.4</version>
  <name>maven-base</name>
  <description>Base POM for Maven</description>
  <packaging>pom</packaging>
  <url>https://javastro.github.io</url>
   <properties>
      <vodsl.version>0.4.4-SNAPSHOT</vodsl.version>
      <xtextVersion>2.25.0</xtextVersion>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <tycho-version>2.3.0</tycho-version>
      <tycho-extras-version>2.3.0</tycho-extras-version>
		<!-- Define overridable properties for tycho-surefire-plugin -->
		<platformSystemProperties></platformSystemProperties>
		<moduleProperties></moduleProperties>
		<systemProperties></systemProperties>
		<tycho.testArgLine></tycho.testArgLine>
   </properties>
<!--	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.eclipse.xtext</groupId>
				<artifactId>xtext-dev-bom</artifactId>
				<version>${xtextVersion}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
-->
   <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>tycho-source-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
               <execution>
                  <id>plugin-source</id>
                  <goals>
                     <goal>plugin-source</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-source-feature-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
               <execution>
                  <id>source-feature</id>
                  <phase>package</phase>
                  <goals>
                     <goal>source-feature</goal>
                  </goals>
                  <configuration>
                     <excludes>
                        <feature id="org.eclipse.fx.runtime.min.feature"/>
                     </excludes>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
               <execution>
                  <id>attach-p2-metadata</id>
                  <phase>package</phase>
                  <goals>
                     <goal>p2-metadata</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
               <target>
                  <artifact>
                     <groupId>org.javastro.vodsl</groupId>
                     <artifactId>eclipse.vodsl.target</artifactId>
                     <version>${project.version}</version>
                  </artifact>
               </target>
               <environments>
                  <environment>
                     <os>macosx</os>
                     <ws>cocoa</ws>
                     <arch>x86_64</arch>
                  </environment>
                  <environment>
                     <os>win32</os>
                     <ws>win32</ws>
                     <arch>x86_64</arch>
                  </environment>
                  <environment>
                     <os>linux</os>
                     <ws>gtk</ws>
                     <arch>x86_64</arch>
                  </environment>
               </environments>
            </configuration>
         </plugin>
      </plugins>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.eclipse.xtend</groupId>
               <artifactId>xtend-maven-plugin</artifactId>
               <version>${xtextVersion}</version>
               <executions>
                  <execution>
                     <goals>
                        <goal>compile</goal>
                        <goal>xtend-install-debug-info</goal>
                        <goal>testCompile</goal>
                        <goal>xtend-test-install-debug-info</goal>
                     </goals>
                  </execution>
               </executions>
               <configuration>
                  <outputDirectory>${basedir}/xtend-gen</outputDirectory>
                  <testOutputDirectory>${basedir}/xtend-gen</testOutputDirectory>
               </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>
               </dependencies>
               <configuration>
                  <timestampProvider>jgit</timestampProvider>
                  <jgit.ignore>pom.xml</jgit.ignore>
<!--                   <format>'v'yyyyMMdd</format> -->
                  <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree><!-- set to error to prevent build continuing -->
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-clean-plugin</artifactId>
               <version>2.5</version>
               <configuration>
                  <filesets>
                     <fileset>
                        <directory>${basedir}/xtend-gen</directory>
                        <includes>
                           <include>**/*</include>
                        </includes>
                     </fileset>
                  </filesets>
               </configuration>
            </plugin>
 			<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-resources-plugin
										</artifactId>
										<versionRange>
											[2.4.3,)
										</versionRange>
										<goals>
											<goal>resources</goal>
											<goal>testResources</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.codehaus.mojo
										</groupId>
										<artifactId>
											build-helper-maven-plugin
										</artifactId>
										<versionRange>
											[1.9.1,)
										</versionRange>
										<goals>
											<goal>add-resource</goal>
											<goal>add-source</goal>
											<goal>add-test-resource</goal>
											<goal>add-test-source</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.eclipse.tycho
										</groupId>
										<artifactId>
											tycho-compiler-plugin
										</artifactId>
										<versionRange>
											[0.23.1,)
										</versionRange>
										<goals>
											<goal>compile</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.eclipse.tycho
										</groupId>
										<artifactId>
											tycho-packaging-plugin
										</artifactId>
										<versionRange>
											[0.23.1,)
										</versionRange>
										<goals>
											<goal>build-qualifier</goal>
											<goal>build-qualifier-aggregator</goal>
											<goal>validate-id</goal>
											<goal>validate-version</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
				<plugin>
					<!-- 
						Can be removed after first generator execution
						https://bugs.eclipse.org/bugs/show_bug.cgi?id=480097
					-->
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-compiler-plugin</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<compilerArgument>-err:-forbidden</compilerArgument>
						<useProjectSettings>false</useProjectSettings>
					</configuration>
				</plugin>
				<!-- to skip running (and compiling) tests use commandline flag: -Dmaven.test.skip
					To skip tests, but still compile them, use: -DskipTests
					To allow all tests in a pom to pass/fail, use commandline flag: -fae (fail
					at end) -->
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-surefire-plugin</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<!-- THE FOLLOWING LINE MUST NOT BE BROKEN BY AUTOFORMATTING -->
						<argLine>${tycho.testArgLine} ${platformSystemProperties} ${systemProperties} ${moduleProperties}</argLine>
						<failIfNoTests>false</failIfNoTests>
						<useUIHarness>false</useUIHarness>
					</configuration>
				</plugin>
	
         </plugins>
      </pluginManagement>
   </build>
   <repositories>
       <repository>
         <id>eclipse-2021-03</id>
         <url>https://download.eclipse.org/releases/2021-03</url>
         <layout>p2</layout>
      </repository>
      <repository>
        <id>fxdiagram</id>
        <url>http://vo.jb.man.ac.uk/eclipse/fxdiagram</url>
        <layout>p2</layout>
        <releases>
           <enabled>true</enabled> 
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
     </repository>
     <repository>
         <id>codehaus-snapshots</id>
         <name>disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478</name>
         <url>http://nexus.codehaus.org/snapshots/</url>
         <releases>
            <enabled>false</enabled>
         </releases>
         <snapshots>
            <enabled>false</enabled>
         </snapshots>
      </repository>   
      <repository>
          <id>openfx</id>
          <url>http://downloads.efxclipse.bestsolution.at/p2-repos/openjfx-11/repository/</url>
          <layout>p2</layout>
          <releases><enabled>true</enabled></releases>
      </repository>
   </repositories>
   <pluginRepositories>
      <pluginRepository>
         <id>codehaus-snapshots</id>
         <name>disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478</name>
         <url>http://nexus.codehaus.org/snapshots/</url>
         <releases>
            <enabled>false</enabled>
         </releases>
         <snapshots>
            <enabled>false</enabled>
         </snapshots>
      </pluginRepository>
   </pluginRepositories>
   
      <developers>
      <developer>
         <id>pah</id>
         <name>Paul Harrison</name>
         <email>paul.harrison@manchester.ac.uk</email>
         <organization>Manchester University, JBCA</organization>
         <organizationUrl>http://www.jb.man.ac.uk/</organizationUrl>
         <roles>
            <role>Developer</role>
            <role>Admin</role>
         </roles>
      </developer>
   </developers>
   <organization>
      <name>JBCA, University of Manchester</name>
      <url>http://www.jb.man.ac.uk/</url>
   </organization>
   <licenses>
      <license>
         <url>https://www.gnu.org/licenses/agpl-3.0.html</url>
         <name>AGPL-3.0</name>
      </license>
   </licenses>
   <scm>
      <url>https://github.com/pahjbo/vodsl</url>
      <connection>scm:git:git://github.com/pahjbo/vodsl.git</connection>
      <developerConnection>scm:git:git@github.com:pahjbo/vodsl.git</developerConnection>
   </scm>
   <issueManagement>
      <url>https://github.com/pahjbo/vodsl/issues</url>
   </issueManagement>
   <distributionManagement>
      <snapshotRepository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
   </distributionManagement>
   <profiles>
      <profile>
         <id>release</id>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>3.1.0</version>
                  <executions>
                     <execution>
                        <id>attach-javadocs</id>
                        <goals>
                           <goal>jar</goal>
                        </goals>
                        <configuration>
                           <additionalparam>-Xdoclint:none</additionalparam>
                           <failOnError>false</failOnError>
                           <!-- 
                              Javadoc 8 became much more strict by default - switch this off -->
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-gpg-plugin</artifactId>
                  <version>1.6</version>
                  <executions>
                     <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>sign</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-source-plugin</artifactId>
                  <version>3.1.0</version>
                  <executions>
                     <execution>
                        <id>attach-sources</id>
                        <goals>
                           <goal>jar-no-fork</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.sonatype.plugins</groupId>
                  <artifactId>nexus-staging-maven-plugin</artifactId>
                  <version>1.6.8</version>
                  <extensions>true</extensions>
                  <configuration>
                     <serverId>ossrh</serverId>
                     <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                     <autoReleaseAfterClose>false</autoReleaseAfterClose>
                  </configuration>
               </plugin>
			   <plugin>
			      <groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5.3</version>
				</plugin>
               
<!-- not yet
               <plugin>
                  <groupId>com.github.github</groupId>
                  <artifactId>site-maven-plugin</artifactId>
                  <version>0.12</version>
                  <configuration>
                     <message>Building site for ${project.version}</message>
                  </configuration>
                  <executions>
                     <execution>
                        <goals>
                           <goal>site</goal>
                        </goals>
                        <phase>site-deploy</phase>
                        <configuration>
                           <merge>true</merge>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
 -->
            </plugins>
         </build>
    </profile>
  	<profile>
			<id>macos</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
			</activation>
			<properties>
				<!-- THE FOLLOWING LINE MUST NOT BE BROKEN BY AUTOFORMATTING -->
				<platformSystemProperties>-XstartOnFirstThread</platformSystemProperties>
			</properties>
		</profile>
		<profile>
			<id>jdk9-or-newer</id>
			<activation>
				<jdk>[9,)</jdk>
			</activation>
			<properties>
				<moduleProperties>--add-modules=ALL-SYSTEM</moduleProperties>
			</properties>
		</profile>
	</profiles>

</project>