<project name="doma" default="update" basedir=".">

	<property name="newVersion" value="1.36.0-SNAPSHOT" />
	<property name="domaJarPattern" value="(doma-)(?:\d*\.\d*\.\d*(?:-RC\d)?(?:-SNAPSHOT)?)((?:-sources)?\.jar)" />

	<target name="update">
		<delete>
			<fileset dir="../doma-jpetstore">
				<include name="src/main/webapp/WEB-INF/lib/*" />
				<include name="libsrc/*" />
				<filename regex="${domaJarPattern}"/>
			</fileset>
			<fileset dir="../doma-tutorial">
				<include name="lib/*" />
				<include name="libsrc/*" />
				<filename regex="${domaJarPattern}" />
			</fileset>
		</delete>
		<replaceregexp
			match="/${domaJarPattern}"
			replace="/\1${newVersion}\2" encoding="UTF-8" flags="g">
			<fileset dir="../doma-tutorial" includes=".classpath" />
			<fileset dir="../doma-tutorial" includes=".factorypath" />
			<fileset dir="../doma-jpetstore" includes=".classpath" />
			<fileset dir="../doma-jpetstore" includes=".factorypath" />
		</replaceregexp>
		<replaceregexp
			match="(&lt;artifactId&gt;doma[^&lt;]*?&lt;/artifactId&gt;\s+&lt;version&gt;)(?:[^&lt;]+)(&lt;/version&gt;)"
			replace="\1${newVersion}\2" encoding="UTF-8" flags="g">
			<fileset dir="." includes="**/pom.xml" />
			<fileset dir="../doma-it" includes="**/pom.xml" />
			<fileset dir="../doma-gen" includes="**/pom.xml" />
			<fileset dir="../doma-gen-it" includes="**/pom.xml" />
			<fileset dir="../doma-jpetstore" includes="**/pom.xml" />
			<fileset dir="../doma-tutorial" includes="**/pom.xml" />
		</replaceregexp>
		<replaceregexp
			match="('org.seasar.doma:doma:)(?:[^']+)(')"
			replace="\1${newVersion}\2" encoding="UTF-8" flags="g">
			<fileset dir="../doma-tutorial" includes="**/build.gradle" />
		</replaceregexp>
		<replaceregexp
			match="(private static final String VERSION = &quot;)[^&quot;]*(&quot;)"
			replace="\1${newVersion}\2" encoding="UTF-8" flags="g">
			<fileset dir="." includes="**/Artifact.java" />
			<fileset dir="../doma-gen" includes="**/Artifact.java" />
		</replaceregexp>
	</target>

	<tstamp>
		<format property="releaseDate" pattern="yyyy-MM-dd" locale="ja,JP"/>
	</tstamp>
	<property name="zipDir" value="target/site/download/${releaseDate}"/>

	<target name="dist">
		<mkdir dir="${zipDir}"/>
		<zip zipfile="${zipDir}/doma-${ver}.zip">
			<zipfileset prefix="doma" dir=".">
				<exclude name="**/bin**"/>
				<exclude name="**/target/**"/>
				<exclude name="**/site/**"/>
				<exclude name="how-to-release.txt"/>
			</zipfileset>
			<zipfileset prefix="doma/lib" dir="target">
				<include name="doma-${ver}.jar"/>
			</zipfileset>
			<zipfileset prefix="doma/libsrc" dir="target">
				<include name="doma-${ver}-sources.jar"/>
			</zipfileset>
			<zipfileset prefix="doma/doc" dir="target/site">
				<exclude name="**/download/**"/>
			</zipfileset>
		</zip>
		<ant dir="../doma-tutorial" antfile="build-dist.xml" target="dist">
			<property name="zipDir" value="../doma/${zipDir}"/>
		</ant>
		<ant dir="../doma-jpetstore" antfile="build-dist.xml" target="dist">
			<property name="zipDir" value="../doma/${zipDir}"/>
		</ant>
	</target>
</project>