https://github.com/genome/genome
Tip revision: 1260120b5b1b9cc4c25e9e5e4c35c6e628ee0508 authored by Chris Miller on 28 August 2013, 21:59:26 UTC
revamped tool to work on newer file formats instead of just using Varscan input
revamped tool to work on newer file formats instead of just using Varscan input
Tip revision: 1260120
Build.PL
#!/usr/bin/env genome-perl
# Use local perl, not some perl on an application server!
use Config;
use Module::Build;
BEGIN {
unshift @INC, "$ENV{PWD}/blib/lib";
}
my $class = Module::Build->subclass (
class => 'Pod::Builder',
code => <<'EOS',
sub ACTION_clean {
# FIXME: is this safe?
use File::Path qw/rmtree/;
rmtree "./_build";
rmtree "./blib";
rmtree "./gmt-bindoc";
rmtree "./genome-bindoc";
unlink "./Build";
unlink "./MYMETA.yml";
}
sub ACTION_ur_docs {
use File::Copy qw/copy/;
$ENV{ANSI_COLORS_DISABLED} = 1;
eval {
local @INC = @INC;
unshift @INC, 'blib/lib';
die $@ if $@;
eval "use Genome::Search";
die $@ if $@;
foreach my $exec ('genome','gmt') {
UR::Namespace::Command::Update::Pod->execute(
class_name => 'Genome::Search',
executable_name => $exec,
targets => ['Genome::Search'],
output_path => 'cmd-bindoc'
);
}
};
die "failed to extract pod: $!: $@" if ($@);
}
sub ACTION_docs {
my $self = shift;
$self->depends_on('code');
#$self->depends_on('ur_docs');
$self->depends_on('manpages', 'html');
}
sub man1page_name {
my ($self, $file) = @_;
$file =~ s/.pod$//;
return $self->SUPER::man1page_name($file);
}
EOS
);
my $build = $class->new(
module_name => 'Genome::Search',
dist_version => 0.06,
license => 'lgpl',
requires => {
'perl' => 'v5.8.7',
'UR' => '0.29',
'Carp' => '',
'File::Basename' => '',
'File::Temp' => '',
'File::Find' => '',
'IO::File' => '',
'IO::String' => '',
'IO::Socket' => '',
'Sys::Hostname' => '',
'Plack' => '',
'Cache::Memcached' => '',
'AnyEvent' => '',
'Net::Server' => '',
'Starman' => '',
'Path::Class' => '',
'XML::LibXML' => '',
'XML::LibXSLT' => '',
'XML::Simple' => '',
},
cpan_client => 'cpanm',
etc_files => {
'etc/solr/solr-tomcat.xml' => 'solr/solr-tomcat.xml',
'etc/solr/tomcat.policy' => 'solr/tomcat.policy',
'etc/solr/web.xml' => 'solr/web.xml',
'etc/solr/conf/admin-extra.html' => 'solr/conf/admin-extra.html',
'etc/solr/conf/elevate.xml' => 'solr/conf/elevate.xml',
'etc/solr/conf/mapping-ISOLatin1Accent.txt' => 'solr/conf/mapping-ISOLatin1Accent.txt',
'etc/solr/conf/protwords.txt' => 'solr/conf/protwords.txt',
'etc/solr/conf/schema.xml' => 'solr/conf/schema.xml',
'etc/solr/conf/scripts.conf' => 'solr/conf/scripts.conf',
'etc/solr/conf/solrconfig.xml' => 'solr/conf/solrconfig.xml',
'etc/solr/conf/spellings.txt' => 'solr/conf/spellings.txt',
'etc/solr/conf/stopwords.txt' => 'solr/conf/stopwords.txt',
'etc/solr/conf/synonyms.txt' => 'solr/conf/synonyms.txt',
'etc/solr/conf/xslt/luke.xsl' => 'solr/conf/xslt/luke.xsl',
'etc/genome_solr.xml' => 'tomcat/genome_solr.xml',
'etc/genome' => 'apache/genome',
'etc/init/genome-task-runner.conf' => 'init/genome-task-runner.conf',
'etc/init/genome-search-index-queue.conf' => 'init/genome-search-index-queue.conf',
'etc/cron.daily/genome-task-cleanup.sh' => 'cron.daily/genome-task-cleanup.sh',
},
install_path => {
'solr' => '/var/cache/genome/solr/',
'apache' => '/etc/apache2/sites-available/',
'tomcat' => '/etc/tomcat6/Catalina/localhost/',
'init' => '/etc/init',
'cron.daily' => '/etc/cron.daily',
},
);
$build->add_build_element('psql');
$build->add_build_element('etc');
$build->add_build_element('solr');
$build->add_build_element('tomcat');
$build->add_build_element('apache');
$build->add_build_element('psgi');
$build->add_build_element('css');
$build->add_build_element('txt');
$build->add_build_element('png');
$build->add_build_element('html');
$build->add_build_element('jpg');
$build->add_build_element('gif');
$build->add_build_element('js');
$build->add_build_element('as');
$build->add_build_element('swf');
$build->add_build_element('sql');
$build->add_build_element('php');
$build->add_build_element('xsl');
$build->add_build_element('xml');
$build->add_build_element('conf');
$build->add_build_element('sh');
$build->create_build_script;