Skip to content

Instantly share code, notes, and snippets.

@lgersman
Created May 2, 2012 08:42
Show Gist options
  • Save lgersman/2575160 to your computer and use it in GitHub Desktop.
Save lgersman/2575160 to your computer and use it in GitHub Desktop.
ant task reading version/author/package from debian/changelog
<?xml version="1.0" encoding="UTF-8"?>
<project name="read-debian-changelog-scripted" default="build">
<scriptdef name="debian-changelog" language="javascript">
<attribute name="prefix"/>
<![CDATA[
importPackage(
java.lang,
java.util,
java.io,
javax.script
);
var prefix = attributes.get( 'prefix') || 'debian-changelog-';
// read property
var changelog = new java.util.Scanner(
new java.io.File( "debian/changelog")
).useDelimiter("\\Z").next();
var version = changelog.match( /\(([^\)]+)\)/)[1];
project.setProperty( prefix + 'version', version);
var pkg = changelog.match( /^([^\s]+)/)[1];
project.setProperty( prefix + 'package', pkg);
var maintainer = changelog.match( /^ -- ([^<]+) /m)[1];
project.setProperty( prefix + 'maintainer', maintainer);
]]>
</scriptdef>
<target name="build">
<debian-changelog />
<echo>
debian package : ${debian-changelog-package}
version : ${debian-changelog-version}
maintainer : ${debian-changelog-maintainer}
</echo>
<!-- same but with custom prefix -->
<debian-changelog prefix="mee-"/>
<echo>
debian package : ${mee-package}
version : ${mee-version}
maintainer : ${mee-maintainer}
</echo>
</target>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment