<?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="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.tests.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" />
		<antcall target="common.javadoc.jar" />

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

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

	<target name="tests">
		<antcall target="common.tests.run" />
	</target>

</project>