old/post-build.xml (105 lines of code) (raw):
<?xml version="1.0"?>
<project name="Dekaf Post-Build Operations">
<property name="ver">2.0.0-SNAPSHOT</property>
<property name="test-db">h2</property>
<property name="coverage-file-name">${teamcity.buildType.id}</property>
<target name="unpack-fw">
<mkdir dir="bin"/>
<unzip src="dist/dekaf-fw.zip" dest="bin" overwrite="true"/>
</target>
<target name="unpack-single">
<mkdir dir="bin"/>
<unzip src="dist/dekaf-single-templates.zip" dest="bin" overwrite="false"/>
</target>
<target name="unpack-tests">
<mkdir dir="bin"/>
<unzip src="dist/dekaf-tests.zip" dest="bin" overwrite="false"/>
</target>
<target name="unpack-tools">
<mkdir dir="tools"/>
<unzip src="dist/dekaf-tools.zip" dest="tools" overwrite="false"/>
</target>
<target name='unit-test' depends="unpack-fw,unpack-tests,unpack-tools"
description="Run unit tests">
<mkdir dir="coverage"/>
<java jar='bin/integration-tests.jar' fork='true' failonerror='true'>
<jvmarg value="-javaagent:${basedir}/tools/jacoco/lib/jacocoagent.jar=destfile=coverage/jacoco-unit.dat,includes=org.jetbrains.dekaf.*,excludes=*Test"/>
<jvmarg value='-ea'/>
<arg value="unit"/>
</java>
</target>
<target name='integration-test' depends="unpack-fw,unpack-tests,unpack-tools"
description="Run DB-integration tests">
<mkdir dir="coverage"/>
<java jar='bin/integration-tests.jar' fork='true' failonerror='true'>
<syspropertyset>
<propertyref prefix="test-db-"/>
</syspropertyset>
<jvmarg value="-javaagent:${basedir}/tools/jacoco/lib/jacocoagent.jar=destfile=coverage/jacoco-${coverage-file-name}.dat,includes=org.jetbrains.dekaf.*,excludes=*Test"/>
<jvmarg value='-ea'/>
<jvmarg value='-Dtest-db=${test-db}'/>
</java>
</target>
<target name="combine-jars" depends="unpack-fw,unpack-single"
description="Combine Core and RDBMS-specific jars into single jars">
<mkdir dir="temp/combined-jars"/>
<antcall target="combine-jar">
<param name="nr" value="1"/>
<param name="infix" value=""/>
<param name="suffix" value=""/>
<param name="excludeJars" value="*-test-*"/>
</antcall>
<antcall target="combine-jar">
<param name="nr" value="2"/>
<param name="infix" value=""/>
<param name="suffix" value="-sources"/>
<param name="excludeJars" value="*-test-*"/>
</antcall>
<antcall target="combine-jar">
<param name="nr" value="3"/>
<param name="infix" value="test-db-"/>
<param name="suffix" value=""/>
<param name="excludeJars" value="Z"/>
</antcall>
<antcall target="combine-jar">
<param name="nr" value="4"/>
<param name="infix" value="test-db-"/>
<param name="suffix" value="-sources"/>
<param name="excludeJars" value="Z"/>
</antcall>
<replace file="dist/dekaf-single.pom" token="2.0.0-SNAPSHOT" value="${ver}"/>
<replace file="dist/dekaf-single-test-db.pom" token="2.0.0-SNAPSHOT" value="${ver}"/>
<move file="dist/dekaf-single.pom" tofile="temp/combined-jars/dekaf-single-${ver}.pom"/>
<move file="dist/dekaf-single-test-db.pom" tofile="temp/combined-jars/dekaf-single-test-db-${ver}.pom"/>
<zip basedir="temp/combined-jars" destfile="dist/dekaf-single.zip" compress="false"/>
</target>
<target name="combine-jar">
<delete dir="temp/content-${nr}"/>
<mkdir dir="temp/content-${nr}"/>
<unjar src="bin/dekaf-single-${infix}${ver}${suffix}.jar" dest="temp/content-${nr}"/>
<unjar dest="temp/content-${nr}" overwrite="false">
<fileset dir="bin">
<include name="dekaf-*-${infix}${ver}${suffix}.jar"/>
<exclude name="dekaf-single*"/>
<exclude name="${excludeJars}"/>
</fileset>
<patternset>
<exclude name="META-INF/services/*"/>
</patternset>
</unjar>
<jar basedir="temp/content-${nr}"
destfile="temp/combined-jars/dekaf-single-${infix}${ver}${suffix}.jar"
manifest="temp/content-${nr}/META-INF/MANIFEST.MF"
/>
</target>
<target name="clean-temp"
description="Cleans the temporary directory">
<delete dir="temp"/>
</target>
<target name="clean" depends="clean-temp"
description="Cleans unpacked jars and temporary files">
<delete dir="bin"/>
<delete dir="coverage"/>
<delete dir="sources"/>
</target>
</project>