<?php

/*
 * This generator expect only log from autobuilder in simple format:
 * TIME_OF_BUILD BUILD_TARGET BUILD_MODE MACHINE
 *
 * where TIME_OF_BUILD is epoch
 *
 * All what it does is parsing log and output it in reverse order (new builds 
 * first) in RSS 2.0 format.
 *
 * (C) 2007 Marcin Juszkiewicz
 *
 * License: MIT
 *
 */

$build_link_base 'http://www.angstrom-distribution.org/unstable/autobuild/';

$builder_log_date file('autobuilder.log');

if(empty(
$builder_log_date))
    die(
"No logs\n");

$builder_log_date array_reverse($builder_log_date);

$rss_xml = new xmlWriter();

if(!
$rss_xml)
    die(
"Unable to create XML Writer\n");

$rss_xml->openMemory();

$rss_xml->startDocument('1.0','utf-8');
$rss_xml->startElement('rss');
$rss_xml->writeAttribute('version''2.0');

$rss_xml->startElement('channel');

$rss_xml->writeElement('title''Ångström autobuilder updates');
$rss_xml->writeElement('link'$build_link_base);
$rss_xml->writeElement('description''Ångström autobuilder updates list');

foreach(
$builder_log_date as $build)
{
    
$build str_replace("\n"""$build);
    
$data explode(' '$build);

    
$rss_xml->startElement('item');
    
$rss_xml->writeElement('title'"{$data[1]} ({$data[2]}) built for {$data[3]} (" date('c'$data[0]) . ")");
    
$rss_xml->writeElement('link'"{$build_link_base}{$data[3]}/");
    
$rss_xml->writeElement('pubDate'date('r'$data[0]));

    
$rss_xml->endElement();
}

$rss_xml->endElement();
$rss_xml->endElement();

echo 
$rss_xml->outputMemory(true);   

echo 
"\n";
?>