<project name="samples-common">
  <property name="gwt.root" location="../.." />
  <property name="project.tail" value="samples/${sample.root}" />
  <import file="${gwt.root}/common.ant.xml" />

  <!--
    Number of localworkers for sample compilation.  This depends on your
    hardware, so it's a good candidate to specify in local.ant.properties
    if this default isn't good for you.  Ideally, it should approximate
    the number of CPU cores in your machine.
  -->
  <property name="gwt.samples.localworkers" value="2" />

  <property name="sample.lower" value="${sample.root}" />
  <property name="sample.upper" value="${sample.module}" />

  <property name="gwt.args" value="" />

  <property.ensure name="gwt.user.jar" location="${gwt.build.lib}/gwt-user.jar" />
  <property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev.jar" />
  <property.ensure name="gwt.codeserver.jar" location="${gwt.build.lib}/gwt-codeserver.jar" />
  <condition property="type.maven">
    <available file="pom.xml" />
  </condition>

  <!-- In maven projects show a message indicating how to build the project using 'mvn' -->
  <target name="check.build.type" if="type.maven">
    <echo>
        ${sample.upper} is a maven project.
         - use 'mvn clean package' to build it.
         - or use 'mvn gwt:run' to run it in dev mode.
    </echo>
  </target>

  <!-- Mirror directory for scripts; makes building distro easier -->
  <property name="samples.scripts" value="${gwt.build.out}/samples-scripts" />
  <!-- Use the uppercase name rather than the lowercase name -->
  <property name="sample.build" value="${gwt.build.out}/samples/${sample.upper}" />

  <path id="gae.extraclasspath">
    <pathelement location="${gwt.tools.lib}/appengine/appengine-api-1.0-sdk-1.3.4.jar"/>
    <pathelement location="${gwt.tools.lib}/appengine/geronimo-jpa_3.0_spec-1.1.1.jar"/>
    <pathelement location="${gwt.tools.lib}/appengine/datanucleus-appengine-1.0.7.final.jar"/>
  </path>

  <!-- The libraries required by the server that will be copied into WEB-INF/lib. -->
  <fileset id="sample.server.libs" dir="${gwt.tools.lib}">
    <include name="" />
  </fileset>

  <target name="source" depends="check.build.type" description="Copy source to the output folder">
    <mkdir dir="${sample.build}/src" />
    <copy todir="${sample.build}/src">
      <fileset dir="src" />
    </copy>
    <if>
      <available file="war" type="dir" />
      <then>
        <mkdir dir="${sample.build}/war" />
        <copy todir="${sample.build}/war">
          <fileset dir="war" excludes="WEB-INF/classes/**"/>
        </copy>
      </then>
    </if>
    <if>
      <available file="pom.xml"/>
      <then>
        <copy tofile="${sample.build}/pom.xml" file="pom.xml"/>
      </then>
    </if>
    <if>
      <available file="README-MAVEN.txt"/>
      <then>
        <copy tofile="${sample.build}/README-MAVEN.txt" file="README-MAVEN.txt"/>
      </then>
    </if>
    <if>
      <available file="README.txt"/>
      <then>
        <copy tofile="${sample.build}/README.txt" file="README.txt"/>
      </then>
    </if>
    <if>
      <available file="user-build.xml"/>
      <then>
        <copy tofile="${sample.build}/build.xml" file="user-build.xml"/>
      </then>
    </if>
    <if>
      <available file="user-project"/>
      <then>
        <copy tofile="${sample.build}/.project" file="user-project"/>
      </then>
    </if>
    <if>
      <available file="user-classpath"/>
      <then>
        <copy tofile="${sample.build}/.classpath" file="user-classpath"/>
      </then>
    </if>
    <if>
      <available file="user-settings"/>
      <then>
        <copy todir="${sample.build}/.settings">
          <fileset dir="user-settings"/>
        </copy>
      </then>
    </if>
  </target>

  <target name="serverlibs" unless="type.maven" description="Copy server libs to the output folder">
    <mkdir dir="${sample.build}/war/WEB-INF/lib" />
    <copy todir="${sample.build}/war/WEB-INF/lib/" flatten="true">
      <fileset refid="sample.server.libs" />
    </copy>
  </target>

  <target name="compile" unless="type.maven" description="Compile all java files">
    <mkdir dir="${sample.build}/war/WEB-INF/classes" />
    <gwt.javac destdir="${sample.build}/war/WEB-INF/classes"
               excludes="**/super/**">
      <classpath>
        <pathelement location="${gwt.user.jar}" />
        <pathelement location="${gwt.dev.jar}" />
        <path refid="sample.extraclasspath" />
      </classpath>
    </gwt.javac>
  </target>

  <target name="gwtc" unless="type.maven" description="Compile to JavaScript">
    <outofdate>
      <sourcefiles>
        <fileset dir="${sample.path}" />
        <fileset dir="${sample.build}/war/WEB-INF/classes" />
        <fileset file="${gwt.user.jar}" />
        <fileset file="${gwt.dev.jar}" />
        <path refid="sample.extraclasspath" />
      </sourcefiles>
      <targetfiles path="${sample.build}/war/${sample.lower}/${sample.lower}.nocache.js" />
      <sequential>
        <mkdir dir="${sample.build}/war" />
        <java dir="${sample.build}" classname="com.google.gwt.dev.Compiler"
            fork="yes" failonerror="true">
          <classpath>
            <pathelement path="${sample.path}" />
            <path refid="sample.extraclasspath" />
            <pathelement location="${sample.build}/war/WEB-INF/classes" />
            <pathelement location="${gwt.user.jar}" />
            <pathelement location="${gwt.dev.jar}" />
          </classpath>
          <jvmarg value="-Xmx1g" />
          <arg value="-localWorkers" />
          <arg value="${gwt.samples.localworkers}" />
          <arg value="-war" />
          <arg file="${sample.build}/war" />
          <arg value="com.google.gwt.sample.${sample.lower}.${sample.upper}" />
        </java>
        <length property="sample.size">
          <fileset dir="${sample.build}/war/${sample.lower}" includes="*.cache.html,*.cache.js"/>
        </length>
        <echo message="output size for ${sample.upper} is ${sample.size} bytes"/>
      </sequential>
    </outofdate>
  </target>

  <macrodef name="webAppCreator">
    <attribute name="platform" />
    <attribute name="extension" default="" />
    <sequential>
      <outofdate>
        <sourcefiles />
        <targetfiles>
          <pathelement location="${samples.scripts}/${sample.upper}/build.xml" />
        </targetfiles>
        <sequential>
          <mkdir dir="${samples.scripts}/${sample.upper}" />
          <java classname="com.google.gwt.user.tools.WebAppCreator" classpath="${gwt.user.jar}:${gwt.dev.jar}" failonerror="true">
            <!-- Relative path is important! Paths will be relative in final distro -->
            <sysproperty key="gwt.devjar" value="../../gwt-dev.jar" />
            <arg value="-XnoEclipse" />
            <arg value="-overwrite" />
            <arg value="-out" />
            <arg file="${samples.scripts}/${sample.upper}" />
            <arg value="com.google.gwt.sample.${sample.lower}.${sample.upper}" />
          </java>
        </sequential>
      </outofdate>
    </sequential>
  </macrodef>

  <target name="scripts" unless="type.maven" description="Create launch scripts">
    <webAppCreator platform="linux" />
    <webAppCreator platform="windows" extension=".cmd" />
    <webAppCreator platform="mac" />
  </target>

  <target name="build" depends="source, serverlibs, compile, gwtc, scripts" description="Build and package this project" />

  <target name="checkstyle" description="Static analysis of source">
    <gwt.checkstyle outputdirectory="${sample.build}">
      <fileset dir="src" >
        <!-- ValidationMessages is generated and has funny method names -->
        <exclude name="main/java/com/google/gwt/sample/validation*/**/ValidationMessages.java" />
      </fileset>
    </gwt.checkstyle>
  </target>

  <target name="clean" description="Cleans this project's intermediate and output files">
    <delete dir="${sample.build}" />
    <delete includeemptydirs="true">
      <fileset dir="${samples.scripts}">
        <include name="*/${sample.upper}/**" />
      </fileset>
    </delete>
  </target>

  <target name="devmode" depends="source, compile" unless="type.maven"
    description="Run Super Dev Mode (pass -Dgwt.args=-nosuperDevMode to fallback to classic DevMode)">
    <property name="sample.package" value="com.google.gwt.sample.${sample.root}" />
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
      <classpath>
        <pathelement location="${sample.path}"/>
        <pathelement location="${gwt.user.jar}"/>
        <pathelement location="${gwt.dev.jar}"/>
        <pathelement location="${gwt.codeserver.jar}"/>
        <pathelement location="${sample.build}/war/WEB-INF/classes" />
        <path refid="sample.extraclasspath" />
      </classpath>
      <arg line="${gwt.args}"/>
      <arg line="-war"/>
      <arg value="${sample.build}/war"/>
      <arg value="${sample.package}.${sample.module}"/>
    </java>
  </target>
</project>
