<?xml version="1.0" encoding="ISO-8859-15"?><project>
  <parent>
    <artifactId>james-project</artifactId>
    <groupId>org.apache.james</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.james</groupId>
  <artifactId>james-mime4j</artifactId>
  <name>Apache James mime4j</name>
  <version>0.3-SNAPSHOT</version>
  <description>Java stream based MIME message parser</description>
  <url>http://james.apache.org/mime4j/index.html</url>
  <issueManagement>
    <url>http://sourceforge.net/tracker/?group_id=108895&amp;atid=654176</url>
  </issueManagement>
  <inceptionYear>2004</inceptionYear>
  <developers>
    <developer>
      <id>niklas</id>
      <name>Niklas Therning</name>
      <email>niklas(at)apache(dot)org</email>
      <organization>Trillian AB</organization>
    </developer>
    <developer>
      <id>jcheng</id>
      <name>Joe Cheng</name>
      <email>code(at)joecheng(dot)com</email>
      <organization></organization>
    </developer>
  </developers>
  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/james/mime4j/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/james/mime4j/trunk</developerConnection>
    <url>http://svn.apache.org/viewvc/james/mime4j/trunk/</url>
  </scm>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>javacc-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>generate-jjtree</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>jjtree</goal>
            </goals>
            <configuration>
              <!-- <nodePackage>org.apache.jsieve.parser.generated</nodePackage> -->
              <outputDirectory>${project.build.directory}/generated-sources/jjtree/org/mime4j/field/address/parser</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>generate-javacc</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>javacc</goal>
            </goals>
            <configuration>
              <sourceDirectory>${project.build.directory}/generated-sources/jjtree/org/mime4j/field/address/parser</sourceDirectory>
              <packageName>org.mime4j.field.address.parser</packageName>
            </configuration>
          </execution>
          <execution>
            <id>generate-javacc2</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>javacc</goal>
            </goals>
            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/org/mime4j/field/datetime</sourceDirectory>
              <packageName>org.mime4j.field.datetime.parser</packageName>
            </configuration>
          </execution>
          <execution>
            <id>generate-javacc3</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>javacc</goal>
            </goals>
            <configuration>
              <sourceDirectory>${basedir}/src/main/javacc/org/mime4j/field/contenttype</sourceDirectory>
              <packageName>org.mime4j.field.contenttype.parser</packageName>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.4</source>
          <target>1.4</target>
          <encoding>iso8859-1</encoding>
        </configuration>
      </plugin>      
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <mode>development</mode>
              <url>${pom.url}</url>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>bin</descriptorRef>
            <descriptorRef>src</descriptorRef>
          </descriptorRefs>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <repositories>
    <repository>
      <snapshots>
        <checksumPolicy>ignore</checksumPolicy>
      </snapshots>
      <id>bago-dist-m1</id>
      <name>Temporary Repository</name>
      <url>http://people.apache.org/~bago/maven/dist-m1</url>
      <layout>legacy</layout>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.8</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.2</version>
    </dependency>
  </dependencies>
  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jxr-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
        <configuration>
          <targetjdk>1.4</targetjdk>
          <rulesets>
            <ruleset>/rulesets/basic.xml</ruleset>
            <ruleset>/rulesets/controversial.xml</ruleset>
          </rulesets>
          <format>xml</format>
          <linkXref>true</linkXref>
          <sourceEncoding>utf-8</sourceEncoding>
          <minimumTokens>100</minimumTokens>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>
</project>