design / D20-001
RESTコンシューマーのエラーメッセージに関するパターンです。
Newer
Older
D20-001 / build.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<!--
  OSS-EAIプロジェクト用ビルドファイル
  
   - build.propertiesを修正してください。
   - buildタスクを実行すると、targetにWARが作成されます。
   - Eclipse上で実行する場合
       - 右クリック -> 実行 -> Ant実行 を選択
   - Antで実行する場合
       - $ ant を実行
-->
<project basedir="." default="build" name="OSS-EAI App">

  <property file="build.properties" />

  <!-- WARを作成 -->
  <target name="build" depends="clean, build.war" />

  <!-- 古いファイルを削除 -->
  <target name="clean">
    <delete dir="${target.dir}" />
  </target>

  <!-- 初期化 -->
  <target name="init">
    <mkdir dir="${target.dir}" />
    <mkdir dir="${target.dir}/classes" />
    <mkdir dir="${target.dir}/META-INF" />
    <!--
    <mkdir dir="${target.dir}/test/classes" />
    <mkdir dir="${target.dir}/reports" />
    -->

    <!-- オリジナルを更新しないようにコピー -->
    <copy todir="${target.dir}/META-INF">
      <fileset dir="WebContent/META-INF">
        <include name="MANIFEST.MF" />
      </fileset>
    </copy>
  </target>

  <!-- コンパイル -->
  <target name="compile" depends="init">
    <javac debug="true" destdir="${target.dir}/classes" encoding="${encoding}" source="${source.version}" target="${target.version}" includeantruntime="false">
      <!-- メインソース -->
      <src path="${main.dir}" />
      <!-- クラスパス -->
      <classpath>
        <fileset dir="WebContent/WEB-INF/lib" />
      </classpath>
    </javac>

    <!-- リソースコピー -->
    <copy todir="${target.dir}/classes">
      <fileset dir="${main.dir}">
        <include name="**/*.xml" />
        <include name="**/*.properties" />
      </fileset>
    </copy>

  </target>

  <!-- WAR作成 -->
  <target name="build.war" depends="compile">

    <!-- マニフェストにビルドの情報を設定します -->
    <tstamp>
      <format property="build.time" pattern="yyyy/MM/dd HH:mm:ss" />
    </tstamp>
    <manifest file="${target.dir}/META-INF/MANIFEST.MF" mode="update">
      <attribute name="Created-Timestamp" value="${build.time}" />
      <attribute name="Built-By" value="${artifact.vendor}" />
      <attribute name="Implementation-Title" value="${artifact.name}" />
      <attribute name="Implementation-Version" value="${artifact.version}" />
      <attribute name="Implementation-Vendor" value="${artifact.vendor}" />
      <attribute name="Build-Environment" value="${os.name} ${os.version} ${os.arch}" />

      <!--
                Jenkinsでビルドする場合は、コメントをはずしてください.
            -->
      <!--          
            <attribute name="JenkinsBuildId" value="${BUILD_ID}" />
            <attribute name="JenkinsBuildNumber" value="${BUILD_NUMBER}" />
            <attribute name="JenkinsJobName" value="${JOB_NAME}" />
            <attribute name="Revision" value="${SVN_REVISION}" />
-->
    </manifest>

    <!-- WAR -->
    <war destfile="${target.dir}/${artifact.name}.war" manifest="${target.dir}/META-INF/MANIFEST.MF" webxml="WebContent/WEB-INF/web.xml">
      <fileset dir="WebContent">
        <include name="**/*" />
      </fileset>
      <classes dir="${target.dir}/classes" />
      <!-- ソースディレクトリ配下の設定ファイルをクラスディレクトリに追加 -->
      <classes dir="${main.dir}">
        <include name="**/*.xml" />
      </classes>
    </war>

  </target>
  
  <!-- テスト用クラスパス定義 -->
<!--  
  <path id="test.classpath">
    <fileset dir="WebContent/WEB-INF/lib" />
    <fileset dir="${test.dir}/lib" />
    <pathelement location="${target.dir}/classes" />
    <pathelement location="${target.dir}/test/classes" />
  </path>
-->

  <!-- テスト・コンパイル -->
<!--
  <target name="test.compile" depends="compile">
    <javac debug="true" destdir="${target.dir}/test/classes" encoding="${encoding}" source="${source.version}" target="${target.version}" includeantruntime="false">
      <src path="${test.dir}" />
      <classpath refid="test.classpath" />
    </javac>
    <copy todir="${target.dir}/test/classes">
      <fileset dir="${test.dir}">
        <include name="**/*.xml" />
        <include name="**/*.xls" />
        <include name="**/*.properties" />
      </fileset>
    </copy>
  </target>
-->  
  
  <!-- テスト実行 -->
<!--  
  <target name="test" depends="test.compile">
    <junit printsummary="yes" haltonerror="false">
      <classpath refid="test.classpath" />
      <formatter type="xml" />
      <formatter type="plain" />
      <batchtest todir="${target.dir}/reports">
        <fileset dir="${test.dir}">
          <include name="**/*Test.java" />
        </fileset>
      </batchtest>
    </junit>
  </target>
-->
  
</project>