Skip to content

Instantly share code, notes, and snippets.

@beberlei
Created May 13, 2012 12:11
Show Gist options
  • Save beberlei/2688118 to your computer and use it in GitHub Desktop.
Save beberlei/2688118 to your computer and use it in GitHub Desktop.
FPM Package Management with Ant
fpm.name=${project.name}
fpm.packagename=${project.name}
fpm.build_dir=${commons.basedir}/${commons.builddir.name}/fpm
fpm.version=${project.version}
fpm.maintainer=
fpm.packagetype=deb
fpm.url=
fpm.dependencies=
fpm.description=
fpm.postinst=
fpm.preinst=
fpm.postrm=
fpm.prerm=
fpm.architecture=all
<project name="ant-build-commons-extension-fpm" basedir=".">
<description>
This build file contains all targets related to
FPM package generation.
</description>
<property file="${basedir}/build.fpm.properties" />
<fileset id="fpm.all_project_files" dir="${basedir}">
<exclude name="**/.git/**" />
<exclude name="**/.svn/**" />
<exclude name="**/build/**" />
</fileset>
<fileset id="fpm.package_files" dir="${fpm.build_dir}/src">
<include name="src/**" />
<include name="vendor/**" />
<include name="symfony/**" />
</fileset>
<fileset id="fpm.debian_files" dir="${fpm.build_dir}/src/debian">
<include name="**" />
</fileset>
<target name="-fpm:clean">
<delete dir="${fpm.build_dir}" />
</target>
<target name="-fpm:prepare" depends="-fpm:clean">
<mkdir dir="${fpm.build_dir}" />
<mkdir dir="${fpm.build_dir}/src" />
<mkdir dir="${fpm.build_dir}/build" />
<copy todir="${fpm.build_dir}/src">
<fileset refid="fpm.all_project_files" />
</copy>
<copy todir="${fpm.build_dir}/build"><fileset refid="fpm.debian_files" /></copy>
<mkdir dir="${fpm.build_dir}/build/var/www/${fpm.packagename}" />
<copy todir="${fpm.build_dir}/build/var/www/${fpm.packagename}"><fileset refid="fpm.package_files" /></copy>
</target>
<target name="fpm:package" depends="-fpm:prepare">
<exec executable="fpm">
<arg value="-s" />
<arg value="dir" />
<arg value="-t" />
<arg value="${fpm.packagetype}" />
<arg value="-n" />
<arg value="${fpm.packagename}" />
<arg value="-v" />
<arg value="${fpm.version}" />
<arg value="-m" />
<arg value="${fpm.maintainer}" />
<arg value="--url" />
<arg value="${fpm.url}" />
<arg value="--description" />
<arg value="${fpm.decription}" />
<arg line="${fpm.dependencies}" />
<arg line="${fpm.postinst}" />
<arg line="${fpm.preinst}" />
<arg line="${fpm.postrm}" />
<arg line="${fpm.prerm}" />
<arg value="-a" />
<arg value="${fpm.architecture}" />
<arg value="-p" />
<arg value="${fpm.build_dir}/${fpm.packagename}_${fpm.version}.${fpm.packagetype}" />
<arg value="${fpm.build_dir}/build" />
</exec>
</target>
<target name="-fpm:package:before~hooked"
depends="fpm:package"
extensionOf="-package:main~hook" />
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment