<!--

    Copyright (C) 2010 FuseSource, Corp. All rights reserved.
    http://fusesource.com

    The software in this package is published under the terms of the AGPL license
    a copy of which has been included with this distribution in the license.txt file.

-->

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.fusesource</groupId>
    <artifactId>fuse-project</artifactId>
<!--
    <version>99-master-SNAPSHOT</version>
-->
    <version>7.0.1.fuse-070</version>
  </parent>
  <groupId>org.fusesource.rider</groupId>
  <artifactId>project</artifactId>
  <packaging>pom</packaging>
  <version>2.1.521</version>

  <name>Rider :: Project</name>

  <url>http://rider.fusesource.org/</url>

  <organization>
    <name>FuseSource</name>
    <url>http://fusesource.com</url>
  </organization>

  <licenses>
    <license>
      <name>GNU AFFERO GENERAL PUBLIC LICENSE (AGPL) Version 3.0</name>
      <url>http://www.fsf.org/licensing/licenses/agpl.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <prerequisites>
    <maven>2.2.1</maven>
  </prerequisites>

  <properties>
    <forge-project-id>rider</forge-project-id>

    <!-- OSGi bundlebus properties -->
    <rider.osgi.import.rider.version>version="[$(version;==;${rider.osgi.version.clean}),$(version;=+;${rider.osgi.version.clean}))"</rider.osgi.import.rider.version>
    <rider.osgi.import.strict.version>version="[$(version;===;${rider.osgi.version.clean}),$(version;==+;${rider.osgi.version.clean}))"</rider.osgi.import.strict.version>
    <rider.osgi.import.default.version>[$(version;==;$(@)),$(version;+;$(@)))</rider.osgi.import.default.version>
    <rider.osgi.import.defaults>
      org.springframework.*;version="[3,4)",
      org.apache.commons.logging.*;version="[1.1,2)",
      org.apache.camel.*;version="[2.7,3)",
    </rider.osgi.import.defaults>
    <rider.osgi.import.before.defaults />
    <rider.osgi.import.additional />
    <rider.osgi.import.pkg>
      org.fuseource.camel.rider.*;${rider.osgi.import.rider.version},
      ${rider.osgi.import.before.defaults},
      ${rider.osgi.import.defaults},
      ${rider.osgi.import.additional},
      *
    </rider.osgi.import.pkg>
    <rider.osgi.activator />
    <rider.osgi.failok>false</rider.osgi.failok>
    <rider.osgi.private.pkg>!*</rider.osgi.private.pkg>
    <rider.osgi.export>${rider.osgi.export.pkg};${rider.osgi.version};-noimport:=true</rider.osgi.export>
    <rider.osgi.version>version=${project.version}</rider.osgi.version>
    <rider.osgi.split.pkg>-split-package:=first</rider.osgi.split.pkg>
    <rider.osgi.import>${rider.osgi.import.pkg}</rider.osgi.import>
    <rider.osgi.dynamic />
    <rider.osgi.symbolic.name>${project.groupId}.${project.artifactId}</rider.osgi.symbolic.name>
    <rider.osgi.exclude.dependencies>false</rider.osgi.exclude.dependencies>
    <rider.osgi.resource>{maven-resources}</rider.osgi.resource>
    <rider.osgi.embed.dependency></rider.osgi.embed.dependency>
    <rider.osgi.embed.transitive>false</rider.osgi.embed.transitive>



    <!-- environemnt stuff -->
    <scalate.mode>development</scalate.mode>

    <!--<fabric-version>99-master-SNAPSHOT</fabric-version>-->
    <!--<fabric-version>7.0-SNAPSHOT</fabric-version>-->
    <fabric-version>7.0.1.fuse-070</fabric-version>

    <!--
    <fmc-version>1.0-SNAPSHOT</fmc-version>
    -->
      <fmc-version>1.0.1.fuse-070</fmc-version>

    <rider-suntools-version>2.1.1</rider-suntools-version>
    <bundle-plugin-version>${maven-bundle-plugin-version}</bundle-plugin-version>
    <mvnplugins-plugin-version>${mvnplugins-version}</mvnplugins-plugin-version>


<!-- TODO move to fabric?? -->
	<commons-io-version>1.4_2</commons-io-version>
    <felix-version>2.1.0</felix-version>
    <guava.osgi.version.clean>11.0.1</guava.osgi.version.clean>
    <guava-version>10_1</guava-version>
    <org.apache.servicemix.bundles.jzlib.version>1.0.7_1</org.apache.servicemix.bundles.jzlib.version>
    <sshj.version>0.7.0</sshj.version>
    <scalate-sitegen-version>${scalate-version}</scalate-sitegen-version>

<!-- inherited from fabric... 
    <activemq-version>5.5.1-fuse-00-06</activemq-version>
    <camel-version>2.8.0-fuse-01-06</camel-version>
    <jaxb-version>2.1.12</jaxb-version>
    <osgi-version>4.1.0</osgi-version>
    <jetty-plugin-version>7.2.1.v20101111</jetty-plugin-version>
    <wagon-webdav-plugin-version>1.0-beta-7</wagon-webdav-plugin-version>
    <war-plugin-version>2.1.1</war-plugin-version>
-->


    <!-- plugin version info -->
    <assembly-plugin-version>2.2</assembly-plugin-version>
    <changes-plugin-version>2.3</changes-plugin-version>
    <compiler-plugin-version>2.3.2</compiler-plugin-version>
    <deploy-plugin-version>2.5</deploy-plugin-version>
    <eclipse-plugin-version>2.8</eclipse-plugin-version>
    <idea-plugin-version>2.3-20100704</idea-plugin-version>
    <install-plugin-version>2.3.1</install-plugin-version>
    <license-plugin-version>1.7.0</license-plugin-version>
    <jar-plugin-version>2.3.1</jar-plugin-version>
    <jxr-maven-plugin>2.0-beta-1</jxr-maven-plugin>
    <project-info-reports-plugin-version>2.2</project-info-reports-plugin-version>
    <release-plugin-version>2.1</release-plugin-version>
    <resources-plugin-version>2.4.3</resources-plugin-version>
    <scm-plugin-version>1.4</scm-plugin-version>
    <site-plugin-version>3.0-beta-3</site-plugin-version>
    <source-plugin-version>2.1.2</source-plugin-version>
    <surefire-plugin-version>2.6</surefire-plugin-version>
    <surefire-report-plugin-vesrion>2.6</surefire-report-plugin-vesrion>
    <taglist-plugin-version>2.4</taglist-plugin-version>
  </properties>

  <repositories>
      <repository>
        <id>release-proxy.fusesource.org</id>
        <name>FuseSource Release Proxy Repository</name>
        <url>http://repo.fusesource.com/nexus/content/groups/m2-release-proxy</url>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
        <releases>
          <enabled>true</enabled>
        </releases>
      </repository>
    <repository>
      <id>fusesource-nexus-snapshots</id>
      <name>Fusesource Nexus Snapshots</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/subscriber-snapshot</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>    
    <repository>
      <id>release.fusesource.org</id>
      <name>FuseSource Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/releases</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <repository>
      <id>ea.fusesource.org</id>
      <name>FuseSource Early Access Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/ea</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>release-proxy.fusesource.org</id>
      <name>FuseSource Release Proxy Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/m2-release-proxy</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <id>release.fusesource.org</id>
      <name>FuseSource Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/releases</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <id>ea.fusesource.org</id>
      <name>FuseSource Early Access Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/ea</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>fusesource-nexus-subscriber</id>
      <name>Fusesource Nexus Subscriber</name>
      <!--
            <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
      -->
      <url>http://repo.fusesource.com/nexus/content/repositories/subscriber</url>
    </repository>
    <snapshotRepository>
      <id>fusesource-nexus-subscriber-snapshot</id>
      <name>Fusesource Nexus Subscriber Snapshot</name>
      <!--
            <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
      -->
      <url>http://repo.fusesource.com/nexus/content/repositories/subscriber-snapshot</url>
    </snapshotRepository>
    <site>
      <id>website.fusesource.org</id>
      <name>website</name>
      <url>dav:http://fusesource.com/forge/dav/rider/maven/${project.version}</url>
    </site>
  </distributionManagement>
  <dependencies>

    <!-- test -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.7</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <modules>
    <module>ide-jclouds</module>
    <module>rider-util</module>
    <!--
    <module>rider-archetypes</module>
    <module>rider-model</module>
    <module>rider-localjmx</module>
    <module>org.fusesource.sun.tools.attach</module>
-->

    <!-- requires Tycho to be installed -->
<!--
    <module>eclipse-tooling</module>
-->
  </modules>

  <build>
    <defaultGoal>install</defaultGoal>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.scala-tools</groupId>
          <artifactId>maven-scala-plugin</artifactId>
          <version>${scala-plugin-version}</version>
          <executions>
            <execution>
              <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <jvmArgs>
              <jvmArg>-Xmx1024m</jvmArg>
            </jvmArgs>
            <args>
              <!-- arg>-unchecked</arg -->
              <arg>-deprecation</arg>
            </args>
            <scalaVersion>${scala-version}</scalaVersion>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${felix-version}</version>
          <extensions>true</extensions>
          <configuration>
            <excludeDependencies>${rider.osgi.exclude.dependencies}</excludeDependencies>
            <instructions>
              <Bundle-Name>${project.artifactId}</Bundle-Name>
              <Bundle-SymbolicName>${rider.osgi.symbolic.name}</Bundle-SymbolicName>
              <Bundle-Activator>${rider.osgi.activator}</Bundle-Activator>
              <Export-Package>${rider.osgi.export}</Export-Package>
              <Import-Package>${rider.osgi.import}</Import-Package>
              <DynamicImport-Package>${rider.osgi.dynamic}</DynamicImport-Package>
              <Private-Package>${rider.osgi.private.pkg}</Private-Package>
              <Implementation-Title>Fuse IDE</Implementation-Title>
              <Implementation-Version>${project.version}</Implementation-Version>
              <Include-Resource>${rider.osgi.resource}</Include-Resource>
              <_versionpolicy>${rider.osgi.import.default.version}</_versionpolicy>
              <_failok>${rider.osgi.failok}</_failok>
              <Export-Service>${rider.osgi.services.export}</Export-Service>
              <Embed-Dependency>${rider.osgi.embed.dependency}</Embed-Dependency>
              <Embed-Transitive>${rider.osgi.embed.transitive}</Embed-Transitive>
            </instructions>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
	    <!--
		    Inherited...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>${maven.compiler.source}</source>
          <target>${maven.compiler.target}</target>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.5</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      -->

      <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <inherited>true</inherited>
          <executions>
              <execution>
                  <id>cleanVersions</id>
                  <phase>generate-sources</phase>
                  <goals>
                      <goal>cleanVersions</goal>
                  </goals>
                  <configuration>
                      <versions>
                          <rider.osgi.version.clean>${project.version}</rider.osgi.version.clean>
                      </versions>
                  </configuration>
              </execution>
          </executions>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin-version}</version>
        <configuration>
          <systemPropertyVariables>
            <scalate.package.resources>${scalate.package.resources}</scalate.package.resources>
            <scalate.generate.src>${scalate.generate.src}</scalate.generate.src>
          </systemPropertyVariables>

          <forkMode>once</forkMode>
          <!-- these settings are mandatory to avoid SureFire giving a bogus system property to the web container -->
          <useSystemClassLoader>false</useSystemClassLoader>
          <useManifestOnlyJar>false</useManifestOnlyJar>
          <includes>
            <include>**/*Test.*</include>
          </includes>
          <excludes>
            <exclude>**/ParseFromToToTest.*</exclude>
          </excludes>
        </configuration>
      </plugin>

    </plugins>
  </build>

  <profiles>

    <!-- enables extra repositories which may have some
         goodies that have not reached central yet -->
    <profile>
      <id>download</id>
      <repositories>
        <repository>
          <id>repo1.maven</id>
          <name>Maven Central Repo</name>
          <url>http://repo1.maven.org/maven2/</url>
        </repository>
        <repository>
          <id>fusesource.m2</id>
          <name>FuseSource Community Release Repository</name>
          <url>http://repo.fusesource.com/nexus/content/repositories/public</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>
        </repository>
        <repository>
          <id>fusesource-nexus-staging</id>
          <name>FuseSource Community Release Repository</name>
          <url>http://repo.fusesource.com/nexus/content/groups/m2-release-proxy</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>
        </repository>
        
        <repository>
          <id>fusesource.m2-snapshot</id>
          <name>FuseSource Community Snapshot Repository</name>
          <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>false</enabled>
          </releases>
        </repository>
        <repository>
          <id>fusesource.nexus.m2-snapshot</id>
          <name>FuseSource Community Snapshot Repository</name>
          <url>http://repo.fusesource.com/nexus/content/groups/public-snapshots</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>false</enabled>
          </releases>
        </repository>

        <repository>
          <id>java.net.m2</id>
          <name>java.net Maven 2 Repo</name>
          <url>http://download.java.net/maven/2</url>
        </repository>
        <repository>
          <id>openqa-releases</id>
          <name>OpenQA Releases</name>
          <url>http://archiva.openqa.org/repository/releases</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>

        <!-- TODO it seems down!
        <repository>
          <id>glassfish-repo-archive</id>
          <name>Nexus repository collection for Glassfish</name>
          <url>http://maven.glassfish.org/content/groups/glassfish</url>
          <snapshots>
            <updatePolicy>never</updatePolicy>
          </snapshots>
        </repository>

        <repository>
          <id>scala</id>
          <name>Scala Tools</name>
          <url>http://scala-tools.org/repo-releases/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>snapshots.scala-tools.org</id>
          <name>Scala-Tools Maven2 Snapshot Repository</name>
          <url>http://scala-tools.org/repo-snapshots</url>
          <snapshots>
            <enabled>true</enabled>
            <checksumPolicy>fail</checksumPolicy>
          </snapshots>
          <releases>
            <enabled>true</enabled>
            <checksumPolicy>fail</checksumPolicy>
          </releases>
        </repository>
      -->
        <repository>
          <id>apache.snapshots</id>
          <name>Apache Development Snapshot Repository</name>
          <url>https://repository.apache.org/content/repositories/snapshots</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
          <id>fusesource.nexus.m2-snapshot</id>
          <name>FuseSource Community Snapshot Repository</name>
          <url>http://repo.fusesource.com/nexus/content/groups/public-snapshots</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>false</enabled>
          </releases>
        </pluginRepository>
        <pluginRepository>
          <id>fusesource.m2</id>
          <name>FuseSource Community Release Repository</name>
          <url>http://repo.fusesource.com/nexus/content/repositories/public</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>
        </pluginRepository>

      </pluginRepositories>
    </profile>

    <profile>
      <id>distro</id>
      <modules>
        <module>tools</module>
        <module>rider-overlay</module>
        <module>rider-docs</module>
        <module>camel-site</module>
        <module>rider-website</module>
        <module>rider-distro</module>
      </modules>
    </profile>

    <profile>
      <id>web</id>
      <modules>
        <module>tools</module>
        <module>rider-overlay</module>
      </modules>
    </profile>
    <!--
        Do a license check by running       : mvn -P license license:check
        Update the license check by running : mvn -P license license:format
      -->
    <profile>
      <id>license</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.mycila.maven-license-plugin</groupId>
            <artifactId>maven-license-plugin</artifactId>
            <version>1.7.0</version>
            <configuration>
              <quiet>false</quiet>
              <header>src/main/resources/license-header.txt</header>
              <aggregate>true</aggregate>
              <includes>
                <include>src/**</include>
                <include>**/pom.xml</include>
              </includes>
              <excludes>
                <exclude>**/.git/**</exclude>
                <exclude>**/camel-web-oryx/**</exclude>
                <exclude>**/src/main/resources/META-INF/services/jersey-server-components</exclude>
                <exclude>**/WEB-INF/_scalate/**</exclude>


                <!-- ignore files produced during a build -->
                <exclude>**/target/**</exclude>

                <!-- ignore binary files -->
                <exclude>**/*.jpg</exclude>
                <exclude>**/*.png</exclude>
                <exclude>**/*.gif</exclude>
                <exclude>**/*.ico</exclude>
                <exclude>**/*.keystore</exclude>
              </excludes>
              <useDefaultExcludes>false</useDefaultExcludes>
              <mapping>
                <ssp>DYNASCRIPT_STYLE</ssp>
                <jj>JAVADOC_STYLE</jj>
                <index>SCRIPT_STYLE</index>
                <jersey-server-components>SCRIPT_STYLE</jersey-server-components>
              </mapping>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>
</project>
