<?xml version="1.0"?>

<project name="vaadin-client" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
    <description>
        Compiles build helpers used when building other
        modules.
    </description>
    <include file="../common.xml" as="common" />
    <include file="../build.xml" as="vaadin" />
    <include file="../gwt-files.xml" as="gwtfiles" />

    <!-- global properties -->
    <property name="module.name" value="vaadin-client" />
    <property name="module.symbolic" value="com.vaadin.client" />
    <property name="result.dir" value="result" />

    <path id="classpath.compile.custom">
        <!-- Could possibly compile GWT files also here to verify that a) 
            the same dependencies are used and b) all dependencies have been declared -->
        <fileset file="${gwt.user.jar}" />
    </path>
    <path id="classpath.test.custom" />

    <target name="jar">
        <property name="jar.file" location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
        <antcall target="common.jar">
            <reference refid="client.gwt.includes" torefid="extra.jar.includes" />
        </antcall>
        <jar destfile="${jar.file}" update="true">
            <manifest>
                <attribute name="Vaadin-Package-Version" value="1" />
                <attribute name="Vaadin-Widgetsets" value="com.vaadin.DefaultWidgetSet" />
            </manifest>
        </jar>
        <!-- Hack to add validation dependency with source classifier -->
        <property name="pom.xml" location="${result.dir}/lib/${module.name}-${vaadin.version}.pom" />
        <copy file="${pom.xml}" tofile="${temp.pom}">
            <filterchain>
                <replacestring from="  &lt;/dependencies&gt;" to="    &lt;dependency&gt;
               &lt;groupId&gt;javax.validation&lt;/groupId&gt;
               &lt;artifactId&gt;validation-api&lt;/artifactId&gt;
               &lt;version&gt;1.0.0.GA&lt;/version&gt;
               &lt;scope&gt;compile&lt;/scope&gt;
               &lt;classifier&gt;sources&lt;/classifier&gt;
             &lt;/dependency&gt;
  &lt;/dependencies&gt;" />
            </filterchain>
        </copy>
        <move file="${temp.pom}" tofile="${pom.xml}" />
    </target>

    <target name="publish-local" depends="jar">
        <antcall target="common.sources.jar">
            <reference torefid="extra.jar.includes" refid="client.gwt.includes" />
        </antcall>
        <antcall target="common.javadoc.jar" />

        <antcall target="common.publish-local" />
    </target>

    <target name="clean">
        <antcall target="common.clean" />
    </target>

    <target name="checkstyle">
        <antcall target="common.checkstyle">
            <param name="cs.src" location="src" />
        </antcall>
    </target>

    <target name="test" depends="checkstyle">
        <antcall target="common.test.run" />
    </target>

</project>
