<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 
/*
 *  Copyright 2004 the mime4j project
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
 -->
<project default="jar" xmlns:j="jelly:core" xmlns:maven="jelly:maven" xmlns:ant="jelly:ant">

<!--    <goal name="generate-parsers">
        <j:set var="maven.javacc.javacc.grammar" value="src/java/org/mime4j/field/datetime/DateTimeParser.jj"/>
        <j:set var="maven.javacc.javacc.package" value="org.mime4j.field.datetime.parser"/>
        <attainGoal name="javacc:javacc-generate" />
        
        <j:set var="maven.javacc.javacc.grammar" value="src/java/org/mime4j/field/contenttype/ContentTypeParser.jj"/>
        <j:set var="maven.javacc.javacc.package" value="org.mime4j.field.contenttype.parser"/>
        <attainGoal name="javacc:javacc-generate" />
        
        <j:set var="maven.javacc.jjtree.grammar" value="src/java/org/mime4j/field/address/AddressListParser.jjt"/>
        <j:set var="maven.javacc.jjtree.package" value="org.mime4j.field.address.parser"/>
        <attainGoal name="javacc:jjtree-generate" />
        
        <j:set var="maven.javacc.javacc.grammar" value="src/java/org/mime4j/field/address/parser/AddressListParser.jj"/>
        <j:set var="maven.javacc.javacc.package" value="org.mime4j.field.address.parser"/>
        <attainGoal name="javacc:javacc-generate" />
    </goal>-->

    <postGoal name="dist:prepare-src-filesystem">
        <mkdir dir="${maven.dist.src.assembly.dir}/testmsgs" />
        <copy todir="${maven.dist.src.assembly.dir}/testmsgs">
            <fileset dir="${basedir}/testmsgs">
                <exclude name="*.mime4j.*"/>
            </fileset>
        </copy>
    </postGoal>
</project>
