<?xml version="1.0" ?>
<?xml-stylesheet type='text/xsl' href='interface.xsl'?>
<interface uri="http://gfxmonk.net/dist/0install/mkzero.xml" xmlns="http://zero-install.sourceforge.net/2004/injector/interface">
	<name>mkzero</name>
	<summary>zero-install feed publishing utility</summary>
	<publish mode="0tools" xmlns="http://gfxmonk.net/dist/0install"/>
	<homepage>https://github.com/gfxmonk/mkzero</homepage>
	<description>
mkzero is a wrapper around 0publish to make publishing and updating
zero install feeds simple.

It's sort of like a lightweight version of [0release]. But while
0release requires VCS integration and a releases directory and
tags a handful of build steps, `mkzero` requires very little,
and allows you to quickly publish new versions of your feeds.

It's designed so that you can have your own alias to it,
specifying as much default information as is reasonable. For
example, the author uses the following alias:

	alias mkzero-gfxmonk='0launch \
		http://gfxmonk.net/dist/0install/mkzero.xml \
		--namespace=&quot;http://gfxmonk.net/dist/0install&quot; \
		--dest=&quot;$HOME/Sites/gfxmonk/dist/0install&quot;'

Given this alias, often the only required invocation is:

	version +
	mkzero-gfxmonk feed-name.xml

To increment the current project's version number, create an
artifact, add it to the feed file, sign it with my GPG key and
copy it to the build directory of my website (which another
script will rsync to the remote server).

(The `version` command above refers to
http://gfxmonk.net/dist/0install/version.xml )

### Required information:

**URI**:

Obviously, your feed needs an interface URI. This should not
change between invocations. If you don't want to provide the
full URI, you can use the `--namespace` argument to provide
the base URI, and your feed's filename will be appended to get
the full URI.

**version**:

If not given, this is assumed to be the contents of the
`VERSION` file in the current directory. If `mkzero` uses this
default, you will be prompted to accept the suggested version
number.

If `$build/feed-name-$version.tgz` already exists, you will
be prompted to overwrite it.

If version is &quot;date&quot;, `mkzero` will generate a version of the
form: &quot;YYYYMMDD.HHMM&quot;

**path(s)**:

The paths to include in your artifact (.tgz). You can use
`--path` multiple times to include multiple top-level files or
directories. If not given, the basename of your feed file is
assumed to be the single file or directory to include (i.e for
foo.xml, it would assume that only &quot;foo&quot; is to go in the
artifact).

### Paths used by mkzero:

**0inst/**

mkzero assumes a build directory of 0inst/ for placing the
generated .tgz files. You can pass --build or -b to change
this default.

### Optional information:

**dest**:
If supplied, mkzero will copy the following files into `dest`:

 - _feed-name_.xml -&gt; `$dest`/
 - `$build`/_feed-name_-`$version`.tgz -&gt; `$dest`/_feed-name_/

After copying the feed xml file, mkzero will sign it with your
default GPG key in order to enable remote execution.

--------

For full usage, see `mkzero --help`
	</description>
	<needs-terminal/>
	<rich-description xmlns="http://gfxmonk.net/dist/0install">
		<div xmlns="http://www.w3.org/1999/xhtml">
			<p>mkzero is a wrapper around 0publish to make publishing and updating zero install feeds simple.</p>
			<p>It's sort of like a lightweight version of [0release]. But while 0release requires VCS integration and a releases directory and tags a handful of build steps, <code>mkzero</code> requires very little, and allows you to quickly publish new versions of your feeds.</p>
			<p>It's designed so that you can have your own alias to it, specifying as much default information as is reasonable. For example, the author uses the following alias:</p>
			<pre><code>alias mkzero-gfxmonk='0launch \
    http://gfxmonk.net/dist/0install/mkzero.xml \
    --namespace=&quot;http://gfxmonk.net/dist/0install&quot; \
    --dest=&quot;$HOME/Sites/gfxmonk/dist/0install&quot;'
</code></pre>
			<p>Given this alias, often the only required invocation is:</p>
			<pre><code>version +
mkzero-gfxmonk feed-name.xml
</code></pre>
			<p>To increment the current project's version number, create an artifact, add it to the feed file, sign it with my GPG key and copy it to the build directory of my website (which another script will rsync to the remote server).</p>
			<p>(The <code>version</code> command above refers to http://gfxmonk.net/dist/0install/version.xml )</p>
			<h3 id="required-information">Required information:</h3>
			<p><strong>URI</strong>:</p>
			<p>Obviously, your feed needs an interface URI. This should not change between invocations. If you don't want to provide the full URI, you can use the <code>--namespace</code> argument to provide the base URI, and your feed's filename will be appended to get the full URI.</p>
			<p><strong>version</strong>:</p>
			<p>If not given, this is assumed to be the contents of the <code>VERSION</code> file in the current directory. If <code>mkzero</code> uses this default, you will be prompted to accept the suggested version number.</p>
			<p>If <code>$build/feed-name-$version.tgz</code> already exists, you will be prompted to overwrite it.</p>
			<p>If version is &quot;date&quot;, <code>mkzero</code> will generate a version of the form: &quot;YYYYMMDD.HHMM&quot;</p>
			<p><strong>path(s)</strong>:</p>
			<p>The paths to include in your artifact (.tgz). You can use <code>--path</code> multiple times to include multiple top-level files or directories. If not given, the basename of your feed file is assumed to be the single file or directory to include (i.e for foo.xml, it would assume that only &quot;foo&quot; is to go in the artifact).</p>
			<h3 id="paths-used-by-mkzero">Paths used by mkzero:</h3>
			<p>
				<strong>0inst/</strong>
			</p>
			<p>mkzero assumes a build directory of 0inst/ for placing the generated .tgz files. You can pass --build or -b to change this default.</p>
			<h3 id="optional-information">Optional information:</h3>
			<p><strong>dest</strong>: If supplied, mkzero will copy the following files into <code>dest</code>:</p>
			<ul>
				<li><em>feed-name</em>.xml -&gt; <code>$dest</code>/</li>
				<li><code>$build</code>/<em>feed-name</em>-<code>$version</code>.tgz -&gt; <code>$dest</code>/<em>feed-name</em>/</li>
			</ul>
			<p>After copying the feed xml file, mkzero will sign it with your default GPG key in order to enable remote execution.</p>
			<hr/>
			<p>For full usage, see <code>mkzero --help</code></p>
		</div>
	</rich-description>
	<group main="mkzero.py">
		<command name="run" path="mkzero.py">
			<runner interface="http://repo.roscidus.com/python/python">
				<version before="3.0"/>
			</runner>
		</command>
		<requires interface="http://0install.net/2007/interfaces/ZeroInstall.xml">
			<environment insert="" mode="prepend" name="PYTHONPATH"/>
			<environment insert="" mode="prepend" name="PATH"/>
		</requires>
		<requires interface="http://0install.net/2006/interfaces/0publish">
			<environment insert="" mode="prepend" name="PATH"/>
		</requires>
		<requires interface="http://repo.roscidus.com/python/python"/>
		<environment insert="" mode="prepend" name="PYTHONPATH"/>
		<implementation id="sha1new=191f4fed94e8fca50e723b496e03659d1f14e0f5" released="2010-07-31" version="20100731.0026">
			<manifest-digest sha256="a3f1820002995ddcac71c4831a0a426d8840e136a51d34ffaf0bd1d8f53047d4"/>
			<archive href="http://gfxmonk.net/dist/0install/mkzero/mkzero-20100731.0026.tgz" size="1894"/>
		</implementation>
		<implementation id="sha1new=2898b3779d5689c43d5fc0b76baea8ed05adfc53" released="2010-07-31" version="20100731.0052">
			<manifest-digest sha256="9eb1f260603300e4fa4f9793374d0b8ad23a49eb1c45d918b52b0af5e5025e13"/>
			<archive href="http://gfxmonk.net/dist/0install/mkzero/mkzero-20100731.0052.tgz" size="1912"/>
		</implementation>
		<implementation id="sha1new=72d102238d23338253b398110a80b620be5713eb" released="2011-01-03" version="20110103.1846">
			<manifest-digest sha256="3da92902137961d608daf179c53236b26c6472f761a34c1ecb7d3ab89b5ce53c"/>
			<archive href="http://gfxmonk.net/dist/0install/mkzero/mkzero-20110103.1846.tgz" size="1914"/>
		</implementation>
		<implementation id="sha1new=307af0cb09b85cc5cc42d37abbb5a67a835b218b" released="2011-07-31" version="20110731.1708">
			<manifest-digest sha256="5672f6a9e7d1cfaf540d421d778762e77964f431c92f0bb638dc33d211ab212a"/>
			<archive href="http://gfxmonk.net/dist/0install/mkzero/mkzero-20110731.1708.tgz" size="1913"/>
		</implementation>
		<implementation id="sha1new=dd27d419b6cf4c5c69bc97e96142eec270c16189" released="2011-10-10" version="20111010.2055">
			<manifest-digest sha256="24016796afb8b4cade6c300f6ca317cba3aad3f4f51c5f8925c0991ebb788573"/>
			<archive href="http://gfxmonk.net/dist/0install/mkzero/mkzero-20111010.2055.tgz" size="1970"/>
		</implementation>
		<implementation id="sha1new=40a696c2c73097cefc044ebb5e63736bf1c16335" released="2012-05-11" version="20120511.1050">
    <manifest-digest sha256="5075d0059ace6016af26972d50f299705b7962ef1f39aaa7d6ea8aee73941d5f"/>
    <archive href="http://gfxmonk.net/dist/0install/mkzero/mkzero-20120511.1050.tgz" size="1961"/>
  </implementation>
	</group>
</interface>
<!-- Base64 Signature
iEYEABECAAYFAk+sYj0ACgkQ/lhgK1iJTtKVfQCffj9uhEK69QkOBi3vLNU7Mcv4oyMAmwRgguNq
j1gqfG3N5PA1L6/J2bCw

-->

