<?xml version="1.0" encoding="UTF-8"?>
<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>
    <groupId>org.springframework.javaconfig</groupId>
    <artifactId>spring-javaconfig</artifactId>
    <packaging>jar</packaging>
    <name>Spring JavaConfig</name>
    <version>1.0.0.m3</version>
    <description>
        The Spring JavaConfig project provides a type-safe, pure-Java option for configuring Spring
        Application Contexts. While most people currently use XML to configure bean definitions in their Application
        Contexts, Spring's versatility and metadata based internal handling of bean definitions means alternatives to
        XML config are easy to implement.
    </description>
    <url>http://www.springframework.org/javaconfig</url>
    <issueManagement>
        <system>JIRA</system>
        <url>http://jira.springframework.com/browse/SJC</url>
    </issueManagement>
    <ciManagement>
        <system>Bamboo</system>
        <url>http://build.springframework.org:8085/bamboo/browse/SJC</url>
    </ciManagement>
    <inceptionYear>2005</inceptionYear>
    <developers>
        <developer>
            <id>johnsonr</id>
            <name>Rod Johnson</name>
            <email>rod.johnson@springsource.com</email>
            <organization>SpringSource</organization>
            <organizationUrl>http://www.springsource.com</organizationUrl>
            <roles>
                <role>Developer</role>
            </roles>
            <timezone>-7</timezone>
        </developer>
        <developer>
            <id>costin_leau</id>
            <name>Costin Leau</name>
            <email>costin.leau@springsource.com</email>
            <organization>SpringSource</organization>
            <organizationUrl>http://www.springsource.com</organizationUrl>
            <roles>
                <role>Project Admin</role>
                <role>Developer</role>
            </roles>
            <timezone>+1</timezone>
        </developer>
        <developer>
            <id>cbeams</id>
            <name>Chris Beams</name>
            <email>chris.beams@springsource.com</email>
            <organization>SpringSource</organization>
            <organizationUrl>http://www.springsource.com</organizationUrl>
            <roles>
                <role>Developer</role>
            </roles>
            <timezone>-7</timezone>
        </developer>
    </developers>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <scm>
        <connection>scm:svn:https://springframework.svn.sourceforge.net/svnroot/springframework/spring-javaconfig/tags/spring-javaconfig-1.0.0.m3</connection>
        <developerConnection>scm:svn:https://springframework.svn.sourceforge.net/svnroot/springframework/spring-javaconfig/tags/spring-javaconfig-1.0.0.m3</developerConnection>
        <url>http://fisheye3.cenqua.com/browse/springframework/spring-javaconfig/tags/spring-javaconfig-1.0.0.m3</url>
    </scm>
    <organization>
        <name>Spring Framework</name>
        <url>http://www.springframework.org</url>
    </organization>
    <profiles>
    <!-- profile used for building:
         1) spring-javaconfig-${version}.zip (minimal)
         2) spring-javaconfig-${version}-with-dependencies.zip
         2) spring-javaconfig-${version}-with-minimal-dependencies.zip
         execute with `mvn -P release javadoc:javadoc docbkx:generate-pdf docbkx:generate-html install` -->
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>no-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>src/assembly/no-dependencies.xml</descriptor>
                                    </descriptors>
                                </configuration>
                            </execution>
                            <execution>
                                <id>with-minimal-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                        <descriptor>src/assembly/with-minimal-dependencies.xml</descriptor>
                                    </descriptors>
                                </configuration>
                            </execution>
                            <execution>
                                <id>with-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <descriptors>
                                      <descriptor>src/assembly/with-dependencies.xml</descriptor>
                                    </descriptors>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <build>
        <extensions>
            <extension>
                <groupId>org.springframework.aws</groupId>
                <artifactId>spring-aws-maven</artifactId>
                <version>1.2.2</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <forkMode>once</forkMode>
                    <includes>
                        <include>**/*Tests.java</include>
                    </includes>
                    <excludes>
                        <exclude>**/Abstract*.java</exclude>
                    </excludes>
                    <systemProperties>
                        <!-- The following is a workaround for an issue with Cobertura where reports always
                            result in 100% coverage. See http://jira.codehaus.org/browse/MCOBERTURA-61 -->
                        <property>
                            <name>net.sourceforge.cobertura.datafile</name>
                            <value>target/cobertura/cobertura.ser</value>
                        </property>
                    </systemProperties>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <configuration>
                    <!-- See http://mojo.codehaus.org/cobertura-maven-plugin/usage.html#Check for more info -->
                    <check>
                        <haltOnFailure>true</haltOnFailure>
                        <branchRate>0</branchRate>
                        <lineRate>0</lineRate>
                        <packageLineRate>0</packageLineRate>
                        <packageBranchRate>0</packageBranchRate>
                        <totalBranchRate>83</totalBranchRate>
                        <totalLineRate>83</totalLineRate>
                    </check>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <excludeTransitive>false</excludeTransitive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.agilejava.docbkx</groupId>
                <artifactId>docbkx-maven-plugin</artifactId>
                <version>2.0.6</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate-html</goal>
                            <goal>generate-pdf</goal>
                        </goals>
                        <phase>pre-site</phase>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.docbook</groupId>
                        <artifactId>docbook-xml</artifactId>
                        <version>4.4</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
                <configuration>
                    <sourceDirectory>src/main/docbook</sourceDirectory>
                    <targetDirectory>target/docbook</targetDirectory>
                    <includes>index.xml</includes>
                    <chunkedOutput>true</chunkedOutput>
                    <htmlStylesheet>css/html.css</htmlStylesheet>
                    <xincludeSupported>true</xincludeSupported>
                    <htmlCustomization>src/main/docbook/resources/xsl/html_chunk.xsl</htmlCustomization>
                    <foCustomization>src/main/docbook/resources/xsl/fopdf.xsl</foCustomization>
                    <entities>
                        <entity>
                            <name>version</name>
                            <value>${pom.version}</value>
                        </entity>
                        <entity>
                            <name>refdoc</name>
                            <value>http://static.springframework.org/spring/docs/2.5.x/reference</value>
                        </entity>
                    </entities>
                    <postProcess>
                        <copy todir="target/site/reference/pdf">
                            <fileset dir="target/docbook">
                                <include name="**/*.pdf" />
                            </fileset>
                        </copy>
                        <copy todir="target/site/reference/html">
                            <fileset dir="target/docbook">
                                <include name="**/*.html" />
                            </fileset>
                        </copy>
                        <copy todir="target/site/reference/html">
                            <fileset dir="src/main/docbook/resources">
                                <include name="**/*.css" />
                                <include name="**/*.png" />
                                <include name="**/*.gif" />
                                <include name="**/*.jpg" />
                            </fileset>
                        </copy>
                        <move file="target/site/reference/pdf/index.pdf" tofile="target/site/reference/pdf/spring-javaconfig-reference.pdf" failonerror="false" />
                    </postProcess>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <!-- required dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.1_3</version>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1</version>
            <exclusions>
                <exclusion>
                    <groupId>logkit</groupId>
                    <artifactId>logkit</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>avalon-framework</groupId>
                    <artifactId>avalon-framework</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
            <optional>false</optional>
        </dependency>

        <!-- optional dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>2.2.3</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm-commons</artifactId>
            <version>2.2.3</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjlib</artifactId>
            <version>1.5.3</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.5.3</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.5.3</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.2.1</version>
            <optional>true</optional>
        </dependency>

        <!-- test-scoped dependencies -->
        <dependency>
            <!-- required in order to make available @javax.annotation.Required -->
            <groupId>javaee</groupId>
            <artifactId>javaee-api</artifactId>
            <version>5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>1.8.0.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>2.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <aggregate>true</aggregate>
                    <groups>
                        <group>
                            <title>Spring JavaConfig</title>
                            <packages>org.springframework.config.java*</packages>
                        </group>
                    </groups>
                    <stylesheetfile>${basedir}/src/main/javadoc/stylesheet.css</stylesheetfile>
                    <overview>${basedir}/src/main/javadoc/overview.html</overview>
                    <links>
                        <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
                        <link>http://static.springframework.org/spring/docs/2.5.x/api/</link>
                        <link>http://asm.objectweb.org/asm223/javadoc/user</link>
                        <link>http://cglib.sourceforge.net/apidocs</link>
                        <link>http://logging.apache.org/log4j/docs/api/</link>
                        <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
                        <link>http://aopalliance.sourceforge.net/doc</link>
                    </links>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <configuration>
                    <formats>
                        <format>html</format>
                        <format>xml</format>
                    </formats>
                </configuration>
            </plugin>
        </plugins>
    </reporting>
    <distributionManagement>
        <downloadUrl>http://www.springframework.org/javaconfig</downloadUrl>
        <repository>
            <id>spring-milestone</id>
            <name>Spring Milestone Repository</name>
            <url>s3://maven.springframework.org/milestone</url>
        </repository>
        <snapshotRepository>
            <id>spring-snapshot</id>
            <name>Spring Snapshot Repository</name>
            <url>s3://maven.springframework.org/snapshot</url>
        </snapshotRepository>
        <site>
            <id>static.springframework.org</id>
            <url>
                scp://static.springframework.org/var/www/domains/springframework.org/static/htdocs/spring-javaconfig/site
            </url>
        </site>
    </distributionManagement>
    <properties>
        <spring.version>2.5</spring.version>
    </properties>
</project>
