<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0">
    <channel>
      <title>manatlan's news</title>
      <link>http://manatlan.com/</link>
      <description>manatlan's news</description>
      <webMaster>me@manatlan.com</webMaster>

      <language>en</language>

		<item>
			<title><![CDATA[The 0.5 release of GG is out]]></title>
			<link><![CDATA[http://manatlan.com/blog/the_0_5_release_of_gg_is_out]]></link>
			<guid><![CDATA[http://manatlan.com/blog/the_0_5_release_of_gg_is_out]]></guid>
			<description><![CDATA[<p>The <a href="/page/gg">0.5 release of GG</a> is out. It comes with some bugfixes, and a lot of patchs from steve (mainly : "no need to pass pointers to slices or maps, they are basically reference types anyway" ... thanks a lot : I had forgotten that ... and sure: it removes a lot of &amp;/* in the code). There is no new feature ;-(. But I'm still working on a badly named "gg+" which is able to guess the gg'makefile for a set of files (using ast/token package). In fact, I would like to add this kind of feature in <a href="/page/gg">GG</a> (but it will double the number of lines, sure ;-), and it's a little bit more complex than expected.</p>

<p>With this new version, <a href="/page/gg">GG</a> comes with its <a href="/page/gg">own page</a> on this website, which try to explain its features, and how it works. (but I'm agree : I can do a lot better ;-).</p>
]]></description>
            <author>manatlan</author>
			<pubDate>Thu, 03 Dec 2009 19:53:09 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[GG in Go language]]></title>
			<link><![CDATA[http://manatlan.com/blog/gg_in_go_language]]></link>
			<guid><![CDATA[http://manatlan.com/blog/gg_in_go_language]]></guid>
			<description><![CDATA[<p>Finally, I released a version of <a href="/page/gg">gg</a> in the <a href="http://golang.org/">go language</a>. It's work as <a href="/blog/google_go_language_and_the_gg_builder">gg.py</a>, but uses commandline flags to do a little more (verbose/clear/don't run/full build).</p>

<p><a href="/page/gg">see more</a></p>
]]></description>
            <author>manatlan</author>
			<pubDate>Tue, 17 Nov 2009 15:01:06 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Google Go language and the GG builder]]></title>
			<link><![CDATA[http://manatlan.com/blog/google_go_language_and_the_gg_builder]]></link>
			<guid><![CDATA[http://manatlan.com/blog/google_go_language_and_the_gg_builder]]></guid>
			<description><![CDATA[<p>Just a quick&amp;dirty builder for <a href="http://golang.org/">go language</a> projects, using the marvelous <a href="http://en.wikipedia.org/wiki/YAML">yaml</a> language.
It's named <a href="/files/gg.py">"GG"</a>, and it's full of magics. And it let me build my go projects easily, so perhaps it will help you too.
It's just a proof of concept, because I don't like make and makefiles, perhaps because all my editors use spaces instead of tabs ;-). I'm pretty sure that <a href="/files/gg.py">GG</a> is not as powerful as make ;-), and it miss some flags in the <a href="/files/gg.py">GG</a> command line (but perhaps in the future ?!). Patches are welcome ;-)</p>

<p>3 modes :</p>

<h2>Run one file</h2>

<pre><code>gg.py file.go
</code></pre>

<p>Will simply compile, build (executable named <code>file</code>) and run the executable.</p>

<h2>Run shebang project</h2>

<p>"shebang project", because you can declare your construction in the first line of your script ... using the yaml one line syntax :</p>

<p>if your script <code>file.go</code> starts like that :</p>

<pre><code>//gg:{exe: file.go, module.a: f1.go f2.go f3.go}
package main
...
</code></pre>

<p>and you run :</p>

<pre><code>gg.py file.go
</code></pre>

<p>Will create the "module.a", using f<code>X</code>.go files. And it will build the executable <code>exe</code> with file.go, and run it.</p>

<p>Of course, you can build many executables (or none) or many packages or none. But <a href="/files/gg.py">GG</a> will run the executable only if there is only one !</p>

<h2>Run makefile project</h2>

<p>If you dont like the bang project, or don't wan't to repeat your construction. You can create a simple yaml file, "makefile.gg" like that :</p>

<pre><code>my_exe:
   f1.go
   f2.go

module1.a:
   g1.go
   g2.go

module2.a:
   h1.go
</code></pre>

<p>and run <a href="/files/gg.py">GG</a> like that:</p>

<pre><code>gg.py makefile.gg
</code></pre>

<p><strong>Notes</strong></p>

<ul>
<li>It uses your GOARCH/GOBIN environment variables !</li>
<li>It needs <a href="http://pypi.python.org/pypi/PyYAML/">pyyaml</a> !</li>
<li>Released under the terms of the <strong>BSD License</strong></li>
</ul>

<p><a href="/files/gg.py">Download</a> <strong>BUT</strong> <a href="/page/gg">Now GG is available in the go language</a></p>
]]></description>
            <author>manatlan</author>
			<pubDate>Sun, 15 Nov 2009 15:55:59 GMT</pubDate>
		</item>
    </channel>
</rss>
