<!-- 
  vi:ts=2:sw=2:expandtab 
-->
<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">
  <parent>
    <groupId>org.jboss</groupId>
    <artifactId>jboss-parent</artifactId>
    <version>5</version>
    <relativePath>../build/pom.xml</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.jboss.reloaded</groupId>
  <artifactId>jboss-reloaded-vdf-bootstrap-minimal</artifactId>
  <version>0.1.2</version>
  <packaging>jar</packaging>
  <name>JBoss Reloaded VDF Bootstrap (Minimal)</name>
  <url>http://www.jboss.org</url>
  <description>
  </description>

  <properties>
    <!-- Versioning -->
    <version.org.jboss.bootstrap>2.1.0-alpha-4</version.org.jboss.bootstrap>
    <version.org.jboss.deployers_jboss.deployers.vfs>2.2.0.Alpha4</version.org.jboss.deployers_jboss.deployers.vfs>
    <version.org.jboss_jbossxb>2.0.2.Beta2</version.org.jboss_jbossxb>
    <version.org.jboss_jboss.common.core>2.2.17.GA</version.org.jboss_jboss.common.core>
    <version.junit_junit>4.7</version.junit_junit>
    <version.org.jboss.shrinkwrap>1.0.0-alpha-9</version.org.jboss.shrinkwrap>
    <version.org.jboss.threads>2.0.0.CR4</version.org.jboss.threads>
  </properties>

  <!-- SCM -->
  <scm>
    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/reloaded/tags/jboss-reloaded-vdf-bootstrap-minimal-0.1.2</connection>
    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/reloaded/tags/jboss-reloaded-vdf-bootstrap-minimal-0.1.2</developerConnection>
    <url>http://anonsvn.jboss.org/repos/jbossas/projects/reloaded/tags/jboss-reloaded-vdf-bootstrap-minimal-0.1.2</url>
  </scm>

  <build>

    <plugins>
    
      <!-- Compiler -->
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <showDeprecation>false</showDeprecation>
          <showWarnings>true</showWarnings>
          <optimize>true</optimize>
          <compilerVersion>1.6</compilerVersion>
          <fork>true</fork>
          <argLine>-Xmx512M</argLine>
          <executable>${JAVA_HOME}/bin/javac</executable>
        </configuration>
      </plugin>

      <!-- Surefire -->
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <redirectTestOutputToFile>true</redirectTestOutputToFile>
          <trimStackTrace>false</trimStackTrace>
          <printSummary>true</printSummary>
          <includes>
            <include>**/*UnitTest.java</include>
          </includes>
          <forkMode>always</forkMode>
        </configuration>
      </plugin>

      <!-- Enforce Maven Environment -->
      <plugin>
        <artifactId>maven-enforcer-plugin
        </artifactId>
        <executions>
          <execution>
            <id>enforce-maven-environment</id>
            <goals>
              <goal>enforce</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <rules>
            <requireMavenVersion>
              <version>[2.0.9,2.2.1)</version> <!-- Must be Maven 2.0.9 >= x > 2.2.1  -->
            </requireMavenVersion>
            <requireJavaVersion>
              <version>1.6.0</version> <!-- Must be JDK6 -->
            </requireJavaVersion>
          </rules>
        </configuration>
      </plugin>      

    </plugins>

  </build>

  <dependencyManagement>
  </dependencyManagement>

  <dependencies>

    <!-- 
    Required dependencies (as support for VDF is not implicit
    in jboss-bootstrap-impl-mc alone
     -->
    <dependency>
      <groupId>org.jboss.bootstrap</groupId>
      <artifactId>jboss-bootstrap-impl-mc</artifactId>
      <version>${version.org.jboss.bootstrap}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.deployers</groupId>
      <artifactId>jboss-deployers-vfs</artifactId>
      <version>${version.org.jboss.deployers_jboss.deployers.vfs}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss</groupId>
      <artifactId>jbossxb</artifactId>
      <version>${version.org.jboss_jbossxb}</version>
    </dependency>

      <!-- 
      TODO: Should be a VFS dependency not declared?  Or is optional?
      Needed to prevent via VFS:
      java.lang.NoClassDefFoundError: org/jboss/util/collection/ConcurrentNavigableMap 
      at org.jboss.virtual.plugins.context.file.FileSystemContextFactory.getVFS(FileSystemContextFactory.java:65)
      at org.jboss.virtual.VFS.getVFS(VFS.java:187)
      at org.jboss.virtual.VFS.createNewRoot(VFS.java:202)
      at VdfTestCase.testVdfBoot(VdfTestCase.java:111)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: java.lang.ClassNotFoundException: org.jboss.util.collection.ConcurrentNavigableMap
      at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
      ... 26 more -->
    <dependency>
      <groupId>org.jboss</groupId>
      <artifactId>jboss-common-core</artifactId>
      <version>${version.org.jboss_jboss.common.core}</version>
    </dependency>
    
    <!-- org.jboss.shrinkwrap -->
    <dependency>
      <groupId>org.jboss.shrinkwrap</groupId>
      <artifactId>shrinkwrap-api</artifactId>
      <version>${version.org.jboss.shrinkwrap}</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.shrinkwrap</groupId>
      <artifactId>shrinkwrap-impl-base</artifactId>
      <version>${version.org.jboss.shrinkwrap}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.shrinkwrap</groupId>
      <artifactId>shrinkwrap-extension-vfs3</artifactId>
      <version>${version.org.jboss.shrinkwrap}</version>
      <scope>provided</scope>
    </dependency>

    <!-- Test Dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${version.junit_junit}</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
      <groupId>org.jboss.threads</groupId>
      <artifactId>jboss-threads</artifactId>
      <version>${version.org.jboss.threads}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.threads</groupId>
      <artifactId>jboss-threads-metadata</artifactId>
      <version>${version.org.jboss.threads}</version>
      <scope>test</scope>
    </dependency>

  </dependencies>
</project>
