NAME

PkgForge::BuildTopic - A PkgForge class to represent the current build task

VERSION

This documentation refers to PkgForge::BuildTopic version 1.1.10

SYNOPSIS

use PkgForge::BuildTopic;

my $topic = PkgForge::BuildTopic->new( job        => $job,
                                       resultsdir => $results,
                                       sources    => \@sources );

$topic->logger->info('Hello World');

$topic->store_logs(@files);

$topic->store_results(@rpms);

DESCRIPTION

This class is designed to be used internally by PkgForge::Builder classes. It exists purely for convenience to simplify passing around all the information necessary for building the current Job on a particular platform. It has methods for storing the generated files into the correct locations for a job on a particular platform.

ATTRIBUTES

job

This is the PkgForge::Job object for the current task. This attribute must be specified.

logdir

This is the directory into which pkgforge logs for a build task should be stored whilst the job is being built. This directory should be on a local file system. Once the task is finished the logfile will be copied to the results directory for the specific task (which may be on a network filesystem).

resultsdir

This is the directory into which results and log files will be stored for this particular build of this job on a platform. This attribute must be specified.

sources

This is a reference to an array of PkgForge::Source objects which will be built for this task. They should be a subset of Source objects from the specified Job which are of the applicable type for the current Builder but no validity checks are done.

debug

This is a boolean which controls whether debugging messages are printed. The default is false (i.e. no debug messages).

SUBROUTINES/METHODS

logger

This is a Log::Dispatch object which can be used to send log messages to the correct location for the current build job on a particular platform.

store_logs(@files)

This method will store the specified list of log files into the correct location for the current job on the current build platform.

store_results(@files)

This method will store the specified list of package files into the correct location for the current job on the current build platform.

finish()

This method can be used when you are finished with the build topic. It will copy the pkgforge build log file into the results directory for the task.

CONFIGURATION AND ENVIRONMENT

This module does not use any configuration files.

DEPENDENCIES

This module is powered by Moose and uses MooseX::Types and Moose::LogDispatch.

SEE ALSO

PkgForge, PkgForge::Builder, PkgForge::Builder::RPM

PLATFORMS

This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform which is supported by Perl.

ScientificLinux5, Fedora13

BUGS AND LIMITATIONS

Please report any bugs or problems (or praise!) to bugs@lcfg.org, feedback and patches are also always very welcome.

AUTHOR

Stephen Quinney <squinney@inf.ed.ac.uk>

LICENSE AND COPYRIGHT

Copyright (C) 2010-2011 University of Edinburgh. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.