added more extensive secretary testing, with simulated file uploads
[sgn.git] / Build.PL
blobaabfdc2397eda7389c2cae501e510a5023d53645
1 use Module::Build;
2 my $class = Module::Build->subclass(
3     class => 'Module::Build::SGNSite',
4     code  => <<'SUBCLASS',
6 # build action just runs make on programs
7 sub ACTION_build {
8    my $self = shift;
9    $self->SUPER::ACTION_build(@_);
10    system "make -C programs";
11    $? and die "make failed\n";
14 # override install to just copy the whole dir into the install_base
15 sub ACTION_install {
16    my $self = shift;
17    $self->SUPER::ACTION_install(@_);
19    my @install_dirs = qw|cgi-bin conf documents mason programs support_data t features js |;
21    require File::Spec;
22    my $tgt_dir = File::Spec->catdir($self->install_base,'sgn');
23    mkdir $tgt_dir;
24    system 'cp', '-rl', @install_dirs => $tgt_dir;
25    $? and die "SGN site copy failed\n";
28 sub ACTION_clean {
29    shift->SUPER::ACTION_clean(@_);
30    system "make -C programs clean";
31    $? and die "SGN site copy failed\n";
33 SUBCLASS
36 #my $class = 'Module::Build';
37 my $build = $class->new(
39     dist_name          => 'SGN',
40     license            => 'perl',
41     create_makefile_pl => 'passthrough',
43     module_name        => 'SGN::Context',
45     # current version of our core libraries distribution
46     dist_version => '0.1',
47     dist_author  => 'Lukas Mueller',
48     dist_abstract =>
49 'The code and content behind the Sol Genomics Network main website, http://solgenomics.net',
51     recursive_test_files => 1,
53     build_requires => {
54         'Class::MethodMaker' => 0,
56         'File::Temp'           => 0,
57         'HTML::Lint'           => 0,
58         'JSON'                 => 0,
59         'List::Util'           => 0,
60         'Test::More'           => 0,
61         'Test::Most'           => 0,
62         'Test::WWW::Mechanize' => 0,
63         'Test::WWW::Selenium'  => 0,
64         'Test::MockObject'     => 0,
65     },
66     requires => {
67         'perl'                => '5.10.0',
68         'autodie'             => 0,
69         'IPC::System::Simple' => 0,         #< required for autodie :all
70         'Apache::DBI'         => 0,
72         'Bio::Chado::Schema' => '0.05900',
74         'Bio::Root::Version'     => '1.006001',
75         'Bio::Graphics::FeatureFile' => 0,
77         'Cache::File' => 0,
80         'Catalyst::Runtime'                => '5.80024',
81         'Catalyst::Controller::CGIBin'     => '0.029',
82         'Catalyst::Action::RenderView'     => 0,
83         'Catalyst::Plugin::ErrorCatcher'   => 0,
84         'Catalyst::Plugin::ErrorCatcher::Email'
85                                            => 0,
86         'Catalyst::Plugin::StackTrace'     => 0,
87         'Catalyst::Plugin::Static::Simple' => 0,
88         'Catalyst::View::HTML::Mason'      => 0,
89         'Catalyst::View::JavaScript::Minifier::XS'
90                                            => '2.100000',
91         'CatalystX::GlobalContext'         => 0,
93         'CGI'                              => 0,
94         'CGI::Carp::DebugScreen'           => '0.16',
96         'DBIx::Class'             => 0,
97         'DBIx::Connector'         => 0,
98         'File::Flock'             => 0,
99         'File::NFSLock'           => 0,
100         'File::Temp'              => 0,
101         'Number::Bytes::Human'    => '0.07',
102         'GD'                      => 0,
103         'GD::Graph::Map'          => 0,
104         'GD::Graph::points'       => 0,
105         'GD::Text'                => 0,
106         'HTML::Entities'          => 0,
107         'HTML::Mason'             => 0,
108         'IO::String'              => 0,
109         'Image::Size'             => 0,
110         'JSAN::ServerSide'        => '==0.06',
111         'JSON'                    => 0,
112         'JSON::XS'                => '2.24',
113         'JSON::Any'               => 0,
114         'List::Util'              => 0,
115         'LWP::UserAgent'          => 0,
116         'Mail::Sendmail'          => 0,
117         'Math::Round::Var'        => 0,
118         'Memoize'                 => 0,
119         'Module::Build'           => '0.36',
120         'Module::Find'            => 0,
121         'Module::Pluggable::Object' => 0,
122         'Moose'                   => 0,
123         'MooseX::Declare'         => 0,
124         'MooseX::Method::Signatures' => '0.30',
125         'MooseX::Types::Path::Class' => 0,
126         'MooseX::Types::URI'      => 0,
127         'MooseX::Singleton'       => 0,
128         'Number::Format'          => 0,
129         'namespace::autoclean'    => 0,
130         'SOAP::Transport::HTTP'   => 0,
131         'Statistics::Descriptive' => 0,
132         'Storable'                => 0,
133         'Test::More'              => 0,
134         'Test::Class'             => 0,
135         'Test::WWW::Mechanize'    => 0,
136         'Text::ParseWords'        => 0,
137         'Tie::Function'           => 0,
138         'Tie::UrlEncoder'         => 0,
139         'Time::HiRes'             => 0,
140         'Try::Tiny'               => 0,
141         'URI'                     => 0,
142         'URI::Escape'             => 0,
143         'URI::FromHash'           => 0,
144         'XML::Generator'          => 0,
145         'XML::Twig'               => 0,
146         'YAML::Any'               => 0,
147         'File::Slurp'             => 0,
148         'Test::JSON'              => 0,
149         'Test::WWW::Mechanize::Catalyst' => 0,
150     },
152 $build->create_build_script;