<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or
    more contributor license agreements. See the NOTICE file
    distributed with this work for additional information regarding
    copyright ownership. The ASF licenses this file to you under the
    Apache License, Version 2.0 (the "License"); you may not use
    this file except in compliance with the License. You may obtain
    a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
    applicable law or agreed to in writing, software distributed
    under the License is distributed on an "AS IS" BASIS, WITHOUT
    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions
    and limitations under the License.
-->
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>14</version>
    </parent>
	<groupId>org.apache.sling.ide</groupId>
	<artifactId>reactor</artifactId>
	<version>1.0.0</version>
	<packaging>pom</packaging>
	<name>Sling IDE Tools: Reactor</name>
    <url>http://sling.apache.org</url>
    
    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/tooling/ide</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/tooling/ide</developerConnection>
        <url>http://svn.apache.org/viewvc/sling/trunk/tooling/ide</url>
    </scm>

	<modules>
		<module>target-definition</module>
		<module>api</module>
        <module>api-test</module>
        <module>artifacts</module>
		<module>impl-resource</module>
        <module>impl-resource-test</module>
		<module>vlt-wrapper</module>                
		<module>impl-vlt</module>
		<module>impl-vlt-test</module>
		<module>eclipse-core</module>
		<module>eclipse-ui</module>
		<module>feature</module>
		<module>eclipse-m2e-ui</module>
		<module>eclipse-m2e-test</module>
		<module>m2e-feature</module>
		<module>p2update</module>
	</modules>

	<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>
				<version>${tycho.version}</version>
				<configuration>
					<target>
						<artifact>
							<groupId>${project.groupId}</groupId>
							<artifactId>org.apache.sling.ide.target-definition</artifactId>
							<version>${project.version}</version>
						</artifact>
					</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-versions-plugin</artifactId>
				<version>${tycho.version}</version>
			</plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>ianal-maven-plugin</artifactId>
                <version>1.0-alpha-1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>verify-legal-files</goal>
                        </goals>
                        <configuration>
                            <!-- Fail the build if any artifacts are missing legal files -->
                            <strict>true</strict>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>derby.log</exclude>
                        <exclude>.gitignore</exclude>
                        <exclude>README.md</exclude>
                        
                        <!-- Eclipse build related files -->
                        <exclude>*.launch</exclude>
                        <exclude>build.properties</exclude>
                        <exclude>.options</exclude>
                        <exclude>META-INF/MANIFEST.MF</exclude>
                        
                        <!-- test data -->
                        <exclude>**/*.binary</exclude>
                        
                        <!-- prevent failures when eclipse-test is not activated as a submodule -->
                        <exclude>eclipse-test/**</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>verify</phase>
                    </execution>
                </executions>
            </plugin>
		</plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                      <source>1.6</source>
                      <target>1.6</target>
                    </configuration>
                </plugin>
                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <!--
                    We embed some bundles that are not available on p2 update sites. To make the build seamless, we copy them early in the process.
                 -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.apache.maven.plugins
                                        </groupId>
                                        <artifactId>
                                            maven-dependency-plugin
                                        </artifactId>
                                        <versionRange>
                                            [2.8,)
                                        </versionRange>
                                        <goals>
                                            <goal>copy</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
	</build>

    <pluginRepositories>
        <pluginRepository>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>
        </pluginRepository>
    </pluginRepositories>    

	<properties>
		<tycho.version>0.20.0</tycho.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

    <profiles>
        <profile>
            <id>sign</id>
            <activation>
                <property>
                    <name>jarsigner.alias</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jarsigner-plugin</artifactId>
                        <version>1.3</version>
                        <executions>
                            <execution>
                                <id>sign</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <configuration>
                            <passphrase>${gpg.passphrase}</passphrase>
                            <useAgent>${gpg.useagent}</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.eclipse.tycho</groupId>
                        <artifactId>tycho-surefire-plugin</artifactId>
                        <version>${tycho.version}</version>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>eclipse-test</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>eclipse-test</module>
            </modules>
        </profile>
    </profiles>
</project>
