<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.modeshape</groupId>
    <artifactId>modeshape-parent</artifactId>
    <version>2.6.0.Beta1</version>
    <relativePath>../../modeshape-parent</relativePath>
  </parent>
	<!-- The groupId and version values are inherited from parent -->
	<artifactId>modeshape-sequencer-java</artifactId>
	<packaging>jar</packaging>
	<name>ModeShape Java Sequencer</name>
	<description>
		ModeShape Sequencer that processes java sources
	</description>
	<url>http://www.modeshape.org</url>
	<!--
		Define the dependencies.  Note that all version and scopes default to those 
		defined in the dependencyManagement section of the parent pom.
	-->
	<dependencyManagement>
    <!-- Eclipse JDT artifacts declare their dependencies using ranges. (yikes!)
         So we need to specify exact versions, and we can do that in a dependencyManagement section.
         Here are the dependencies showing the last combination that we could get working:

            +- org.eclipse.equinox:common:jar:3.3.0-v20070426:compile
            +- org.eclipse.jdt:core:jar:3.3.0-v_771:compile
               +- org.eclipse.core:resources:jar:3.3.0-v20070604:compile
               |  \- org.eclipse.core:expressions:jar:3.3.0-v20070606-0010:compile
               \- org.eclipse.core:runtime:jar:3.3.100-v20070530:compile
                  +- org.eclipse:osgi:jar:3.3.0-v20070530:compile
                  +- org.eclipse.core:jobs:jar:3.3.0-v20070423:compile
                  +- org.eclipse.equinox:registry:jar:3.3.0-v20070522:compile
                  +- org.eclipse.equinox:preferences:jar:3.2.100-v20070522:compile
                  \- org.eclipse.core:contenttype:jar:3.2.100-v20070319:compile
    -->
    <dependencies>
      <dependency>
        <groupId>org.eclipse.equinox</groupId>
        <artifactId>common</artifactId>
        <version>3.3.0-v20070426</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jdt</groupId>
        <artifactId>core</artifactId>
        <version>3.3.0-v_771</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.core</groupId>
        <artifactId>resources</artifactId>
        <version>3.3.0-v20070604</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.core</groupId>
        <artifactId>expressions</artifactId>
        <version>3.3.0-v20070606-0010</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.core</groupId>
        <artifactId>runtime</artifactId>
        <version>3.3.100-v20070530</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse</groupId>
        <artifactId>osgi</artifactId>
        <version>3.3.0-v20070530</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.core</groupId>
        <artifactId>jobs</artifactId>
        <version>3.3.0-v20070423</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.equinox</groupId>
        <artifactId>registry</artifactId>
        <version>3.3.0-v20070522</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.equinox</groupId>
        <artifactId>preferences</artifactId>
        <version>3.2.100-v20070522</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.core</groupId>
        <artifactId>contenttype</artifactId>
        <version>3.2.100-v20070319</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
	<dependencies>
		<!-- 
			Common
		-->
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-common</artifactId>
		</dependency>
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-graph</artifactId>
		</dependency>
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-common</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.modeshape</groupId>
			<artifactId>modeshape-graph</artifactId>
			<version>${project.version}</version>
			<type>test-jar</type>
			<scope>test</scope>
		</dependency>
	    <dependency>
	      <groupId>org.modeshape</groupId>
	      <artifactId>modeshape-sequencer-classfile</artifactId>
			<version>${project.version}</version>
	    </dependency>
		<!-- 
			Testing (note the scope)
		-->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-library</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
		</dependency>
		<!-- 
			Logging (require SLF4J API for compiling, but use Log4J and its SLF4J binding for testing) 
		-->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
		<!-- 
			Eclipse Java Development Tools (JDT) parser and its (many) required libraries
		-->
    <dependency>
      <groupId>org.eclipse.equinox</groupId>
      <artifactId>common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jdt</groupId>
      <artifactId>core</artifactId>
      <exclusions>
	      <exclusion>
			    <groupId>org.eclipse.core.runtime.compatibility</groupId>
			    <artifactId>auth</artifactId>
	      </exclusion>
	      <exclusion>
			    <groupId>org.eclipse.equinox</groupId>
			    <artifactId>app</artifactId>
	      </exclusion>
	      <exclusion>
			    <groupId>org.eclipse</groupId>
			    <artifactId>text</artifactId>
	      </exclusion>
	      <exclusion>
			    <groupId>org.eclipse.core</groupId>
			    <artifactId>filesystem</artifactId>
	      </exclusion>
      </exclusions>
    </dependency>
	</dependencies>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
			</plugin>
		</plugins>
	</reporting>
  <build>
    <plugins>
			<!--
				Adding OSGI metadata to the JAR without changing the packaging type.
			-->
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<executions>
					<execution>
						<id>bundle-manifest</id>
						<phase>process-classes</phase>
						<goals>
							<goal>manifest</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
    </plugins>
  </build>
	<profiles>
		<profile>
			<id>assembly</id>
			<build>
	    	<plugins>
		      <plugin>
		        <artifactId>maven-assembly-plugin</artifactId>
					  <dependencies>
					    <dependency>
					      <groupId>${project.groupId}</groupId>
					      <artifactId>modeshape-assembly-descriptors</artifactId>
					      <version>${project.version}</version>
					    </dependency>
					  </dependencies>
		        <configuration>
		          <descriptorRefs>
		            <descriptorRef>sequencer-with-dependencies</descriptorRef>
		          </descriptorRefs>
							<finalName>${project.artifactId}-${project.version}</finalName>
		        </configuration>
		        <executions>
		          <execution>
		            <phase>package</phase>
		            <goals>
		              <goal>single</goal>
		            </goals>
		          </execution>
		        </executions>
		      </plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
