<project name="plexi.sharepoint" default="build" basedir=".">
  <description>SharePoint Adaptor</description>
  <property name="src.dir" location="src"/>
  <property name="test.dir" location="test"/>
  <property name="test.class" value="*Test"/>
  <property name="build.dir" location="build"/>
  <property name="generate.dir" location="${build.dir}/generate-src"/>
  <property name="build-generate.dir" location="${build.dir}/generate"/>
  <property name="build-src.dir" location="${build.dir}/src"/>
  <property name="build-test.dir" location="${build.dir}/test"/>
  <property name="build-instrument.dir" location="${build.dir}/instrument"/>
  <property name="adaptor.clone.dir" location="lib/plexi"/>
  <!-- Used for checking if adaptor.jar has been changed. -->
  <property name="adaptor.jar.default"
    value="${adaptor.clone.dir}/build/dist/adaptor/adaptor-withlib.jar"/>
  <property name="adaptor.jar" value="${adaptor.jar.default}"/>
  <property name="dist.dir" location="dist"/>
  <property name="resource.dir" location="resources"/>
  <property name="lib.dir" location="lib"/>
  <property name="junit.jar" location="${lib.dir}/junit-4.8.2.jar"/>
  <property name="adaptor.class"
    value="com.google.enterprise.adaptor.sharepoint.SharePointAdaptor"/>
  <property name="adaptor2.class"
    value="com.google.enterprise.adaptor.sharepoint.SharePointUserProfileAdaptor"/>
  <property name="adaptor.args" value=""/>
  <property name="cobertura.dir" value="${basedir}/../cobertura/"/>
  <!-- Adaptor suffix for distribution files. Useful for placing version numbers
       on our jars. -->
  <property name="adaptor.suffix" value=""/>

  <path id="adaptor.build.classpath">
    <pathelement location="${adaptor.jar}"/>
    <fileset dir="${lib.dir}">
      <include name="adaptor-withlib.jar"/>
    </fileset>
  </path>

  <path id="adaptor.run.classpath">
    <path refid="adaptor.build.classpath"/>
  </path>

  <path id="cobertura.classpath">
    <fileset dir="${cobertura.dir}" erroronmissingdir="false">
      <include name="cobertura.jar"/>
      <include name="lib/**/*.jar"/>
    </fileset>
  </path>

  <target name="-check-instrument-uptodate">
    <uptodate property="instrument.uptodate"
      targetfile="${build-instrument.dir}/cobertura.ser">
      <srcfiles dir="${build-src.dir}"/>
    </uptodate>
  </target>

  <target name="build"
    depends="-real-build,-check-instrument-uptodate,clean-instrument"
    description="Build source"/>

  <target name="-plexi-check-submodule">
    <condition property="plexi.is-not-submodule">
      <not>
        <equals arg1="${adaptor.jar.default}" arg2="${adaptor.jar}"/>
      </not>
    </condition>
    <condition property="tmp.plexi.valid-setup">
      <or>
        <isset property="plexi.is-not-submodule"/>
        <available file="${adaptor.clone.dir}/.git"/>
      </or>
    </condition>
    <fail unless="tmp.plexi.valid-setup">Invalid setup:
No lib/plexi submodule and using default adaptor.jar property.

You need to run "git submodule init; git submodule update" to initialize the
lib/plexi submodule or add the the command line argument
-Dadaptor.jar=path/to/adaptor-withlib.jar to point to the adaptor library.
    </fail>
  </target>

  <target name="-plexi-test-uptodate" depends="-plexi-check-submodule">
    <condition property="plexi.uptodate">
      <or>
        <isset property="plexi.is-not-submodule"/>
        <uptodate targetfile="${adaptor.jar}">
          <srcfiles dir="${adaptor.clone.dir}"
            excludes=".git/** build/** dist/** **.swp"/>
        </uptodate>
      </or>
    </condition>
  </target>

  <target name="-plexi-build" depends="-plexi-test-uptodate"
    unless="plexi.uptodate">
    <echo message="Detected Plexi changes. Re-packaging Plexi..."/>
    <ant antfile="${adaptor.clone.dir}/build.xml" dir="${adaptor.clone.dir}"
      target="package" inheritAll="false">
      <property name="adaptorlib.suffix" value=""/>
    </ant>
  </target>

  <target name="-generate-test-uptodate">
    <uptodate property="generate.uptodate"
      targetfile="${build-generate.dir}/com/microsoft/schemas/sharepoint/soap/SiteData.wsdl">
      <srcfiles dir="${basedir}" includes="*.wsdl"/>
    </uptodate>
  </target>

  <target name="-generate" depends="-generate-test-uptodate"
    unless="generate.uptodate">
    <delete dir="${generate.dir}"/>
    <delete dir="${build-generate.dir}"/>
    <mkdir dir="${generate.dir}"/>
    <mkdir dir="${build-generate.dir}"/>

    <exec executable="wsimport">
      <arg value="-s"/>
      <arg value="${generate.dir}"/>
      <arg value="-d"/>
      <arg value="${build-generate.dir}"/>
      <arg value="-wsdllocation"/>
      <arg value="SiteData.wsdl"/>
      <arg value="SiteData.wsdl"/>
    </exec>
    <exec executable="wsimport">
      <arg value="-s"/>
      <arg value="${generate.dir}"/>
      <arg value="-d"/>
      <arg value="${build-generate.dir}"/>
      <arg value="-wsdllocation"/>
      <arg value="UserProfileService.wsdl"/>
      <arg value="UserProfileService.wsdl"/>
    </exec>
    <exec executable="wsimport">
      <arg value="-s"/>
      <arg value="${generate.dir}"/>
      <arg value="-d"/>
      <arg value="${build-generate.dir}"/>
      <arg value="-wsdllocation"/>
      <arg value="UserProfileChangeService.wsdl"/>
      <arg value="UserProfileChangeService.wsdl"/>
    </exec>

    <copy file="SiteData.wsdl"
      todir="${build-generate.dir}/com/microsoft/schemas/sharepoint/soap/"/>
    <copy file="UserProfileService.wsdl"
      todir="${build-generate.dir}/com/microsoft/webservices/sharepointportalserver/userprofileservice/"/>
    <copy file="UserProfileChangeService.wsdl"
      todir="${build-generate.dir}/com/microsoft/webservices/sharepointportalserver/userprofilechangeservice/"/>
  </target>

  <target name="-real-build" depends="-plexi-build,-generate">
    <mkdir dir="${build-src.dir}"/>

    <javac srcdir="${src.dir}" destdir="${build-src.dir}" debug="true"
      includeantruntime="false" encoding="utf-8">
      <compilerarg value="-Xlint:unchecked"/>
      <classpath refid="adaptor.build.classpath"/>
      <classpath location="${build-generate.dir}"/>
    </javac>

    <mkdir dir="${build-test.dir}"/>
    <!-- Compile JUnit helper -->
    <javac srcdir="${lib.dir}" destdir="${build-test.dir}" debug="true"
      includeantruntime="true" encoding="utf-8">
      <compilerarg value="-Xlint:unchecked"/>
      <classpath location="${junit.jar}"/>
      <include name="JUnitLogFixFormatter.java"/>
    </javac>

    <!-- Compile tests, excluding example tests. -->
    <javac srcdir="${test.dir}" destdir="${build-test.dir}" debug="true"
      includeantruntime="false" encoding="utf-8">
      <compilerarg value="-Xlint:unchecked"/>
      <classpath refid="adaptor.build.classpath"/>
      <classpath location="${build-src.dir}"/>
      <classpath location="${build-generate.dir}"/>
      <classpath location="${junit.jar}"/>
    </javac>
  </target>

  <target name="dist" description="Generate distribution binaries"
    depends="clean,test,package"/>

  <target name="package" description="Generate binaries" depends="build">
    <property name="dist.staging.dir" value="${build.dir}/dist/staging"/>

    <delete dir="${build.dir}/dist"/>
    <delete dir="${dist.dir}"/>

    <mkdir dir="${build.dir}/dist"/>
    <mkdir dir="${build.dir}/dist/staging"/>
    <mkdir dir="${dist.dir}"/>

    <!-- adaptor-sharepoint.jar -->
    <!-- Concatenate dependent JARs together into a comma-delimited list. -->
    <pathconvert pathsep=" " refid="adaptor.run.classpath"
      property="tmp.adaptor.classpath">
      <mapper type="flatten"/>
      <map from="" to="lib/"/>
    </pathconvert>
    <jar destfile="${dist.staging.dir}/adaptor-sharepoint${adaptor.suffix}.jar"
      basedir="${build-src.dir}">
      <fileset dir="${build-generate.dir}"/>
      <manifest>
        <attribute name="Main-Class" value="${adaptor.class}"/>
        <attribute name="Class-Path" value="${tmp.adaptor.classpath}"/>
      </manifest>
    </jar>

    <!-- lib/ -->
    <!-- Concatenate dependent JARs together into a comma-delimited list. -->
    <pathconvert pathsep="," refid="adaptor.run.classpath"
      property="tmp.adaptor.fileset">
      <!-- We remove the lib.dir from the paths to prevent trouble with comma
           and space in lib.dir. It also makes it nicer <echo>ing
           tmp.adaptorlib.fileset. -->
      <map from="${lib.dir}/" to=""/>
    </pathconvert>
    <copy todir="${dist.staging.dir}/lib" flatten="true">
      <fileset dir="${lib.dir}" includes="${tmp.adaptor.fileset}"/>
    </copy>

    <!-- adaptor-sharepoint-withlib.jar -->
    <jar filesetmanifest="mergewithoutmain"
      destfile="${dist.staging.dir}/adaptor-sharepoint${adaptor.suffix}-withlib.jar">
      <zipfileset
        src="${dist.staging.dir}/adaptor-sharepoint${adaptor.suffix}.jar"/>
      <zipgroupfileset dir="${dist.staging.dir}/lib"/>
      <manifest>
        <attribute name="Main-Class" value="${adaptor.class}"/>
      </manifest>
    </jar>

    <!-- adaptor-bin.zip -->
    <move file="${dist.staging.dir}"
      tofile="${build.dir}/dist/adaptor-sharepoint${adaptor.suffix}"/>
    <zip destfile="${dist.dir}/adaptor-sharepoint${adaptor.suffix}-bin.zip"
      basedir="${build.dir}/dist/adaptor-sharepoint${adaptor.suffix}"/>
  </target>

  <target name="clean" description="Remove build output">
    <delete dir="${build.dir}"/>
    <delete dir="${dist.dir}"/>
  </target>

  <target name="run" depends="build" description="Run default adaptor">
    <java classpath="${build-src.dir}" fork="true" classname="${adaptor.class}">
      <classpath refid="adaptor.run.classpath"/>
      <classpath location="${build-generate.dir}"/>
      <sysproperty key="java.util.logging.config.file"
        value="logging.properties"/>
      <sysproperty key="javax.net.ssl.keyStore" file="keys.jks"/>
      <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/>
      <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/>
      <sysproperty key="javax.net.ssl.trustStore" file="cacerts.jks"/>
      <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/>
      <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/>
      <arg line="${adaptor.args}"/>
    </java>
  </target>

  <target name="run-profile" depends="build" description="Run profile adaptor">
    <java classpath="${build-src.dir}" fork="true" classname="${adaptor2.class}">
      <classpath refid="adaptor.run.classpath"/>
      <classpath location="${build-generate.dir}"/>
      <sysproperty key="java.util.logging.config.file"
        value="logging.properties"/>
      <sysproperty key="javax.net.ssl.keyStore" file="keys.jks"/>
      <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/>
      <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/>
      <sysproperty key="javax.net.ssl.trustStore" file="cacerts.jks"/>
      <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/>
      <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/>
      <arg line="${adaptor.args}"/>
    </java>
  </target>

  <target name="coverage" depends="instrument,test,coverage-report"
    description="Run instrumented tests and generate coverage report"/>

  <target name="test" depends="build" description="Run JUnit tests">
    <junit printsummary="yes" haltonfailure="yes" forkmode="once" fork="true"
      dir="${basedir}" maxmemory="512m">
      <sysproperty key="net.sourceforge.cobertura.datafile"
        file="${build-instrument.dir}/cobertura.ser"/>
      <classpath refid="adaptor.run.classpath"/>
      <classpath refid="cobertura.classpath"/>
      <classpath location="${junit.jar}"/>
      <classpath location="${build-instrument.dir}"/>
      <classpath location="${build-src.dir}"/>
      <classpath location="${build-generate.dir}"/>
      <classpath location="${build-test.dir}"/>
      <formatter type="plain" usefile="false"/>
      <formatter classname="JUnitLogFixFormatter" usefile="false"/>
      <batchtest>
        <fileset dir="${test.dir}">
          <include name="**/${test.class}.java"/>
        </fileset>
      </batchtest>
    </junit>
  </target>

  <target name="instrument" depends="build" description="Instrument classes">
    <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
    <cobertura-instrument datafile="${build-instrument.dir}/cobertura.ser"
      todir="${build-instrument.dir}">
      <fileset dir="${build-src.dir}"/>
    </cobertura-instrument>
  </target>

  <target name="clean-instrument" unless="instrument.uptodate"
    description="Delete instrumented classes">
    <delete dir="${build-instrument.dir}"/>
  </target>

  <target name="coverage-report" description="Generates code coverage report">
    <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
    <cobertura-report datafile="${build-instrument.dir}/cobertura.ser"
      srcdir="${src.dir}" destdir="${build.dir}/coverage"/>
  </target>
</project>
