changing the backend and some caching properties of the ontology browser
[sgn.git] / Build.PL
blob8648c7628e0e2e8b89131a2748908f728ba55cf5
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 features js mason programs static support_data t |;
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";
27    #put the documents symlink in place also
28    symlink 'static/documents' => "$tgt_dir/documents"
29     or die "$! symlinking static/documents => $tgt_dir/documents";
32 sub ACTION_clean {
33    shift->SUPER::ACTION_clean(@_);
34    system "make -C programs clean";
35    $? and die "SGN site copy failed\n";
37 SUBCLASS
40 #my $class = 'Module::Build';
41 my $build = $class->new(
43     dist_name          => 'SGN',
44     license            => 'perl',
45     create_makefile_pl => 'passthrough',
47     module_name        => 'SGN::Context',
49     # current version of our core libraries distribution
50     dist_version => '0.1',
51     dist_author  => 'Lukas Mueller',
52     dist_abstract =>
53 'The code and content behind the Sol Genomics Network main website, http://solgenomics.net',
55     recursive_test_files => 1,
57     build_requires => {
58         'Class::MethodMaker' => 0,
60         'File::Temp'           => 0,
61         'HTML::Lint'           => 0,
62         'JSON'                 => 0,
63         'List::Util'           => 0,
64         'Test::More'           => 0,
65         'Test::Most'           => 0,
66         'Test::WWW::Mechanize' => 0,
67         'Test::WWW::Mechanize::Catalyst' => '0.50',
68         'Test::WWW::Selenium'  => 0,
69         'Test::MockObject'     => 0,
72     },
73     requires => {
74         'perl'                => '5.10.0',
75         'autodie'             => 0,
76         'IPC::System::Simple' => 0,         #< required for autodie :all
77         'Apache::DBI'         => 0,
79         'Bio::Chado::Schema' => '0.05900',
81         'Bio::Root::Version'     => '1.006001',
82         'Bio::Graphics::FeatureFile' => 0,
84         'Cache::File' => 0,
87         'Catalyst::Runtime'                => '5.80024',
88         'Catalyst::Controller::CGIBin'     => '0.029',
89         'Catalyst::Action::RenderView'     => 0,
90         'Catalyst::Plugin::ErrorCatcher'   => 0,
91         'Catalyst::Plugin::ErrorCatcher::Email'
92                                            => 0,
93         'Catalyst::Plugin::StackTrace'     => 0,
94         'Catalyst::Plugin::Static::Simple' => 0,
95         'Catalyst::View::HTML::Mason'      => 0,
96         'Catalyst::View::JavaScript::Minifier::XS'
97                                            => '2.100000',
98         'CatalystX::GlobalContext'         => 0,
100         'CGI'                              => 0,
101         'CGI::Carp::DebugScreen'           => '0.16',
103         'DBIx::Class'             => 0,
104         'DBIx::Connector'         => 0,
105         'File::Flock'             => 0,
106         'File::NFSLock'           => 0,
107         'File::Temp'              => 0,
108         'Number::Bytes::Human'    => '0.07',
109         'GD'                      => 0,
110         'GD::Graph::Map'          => 0,
111         'GD::Graph::points'       => 0,
112         'GD::Text'                => 0,
113         'HTML::Entities'          => 0,
114         'HTML::FormFu'            => 0,
115         'HTML::Mason'             => 0,
116         'IO::String'              => 0,
117         'Image::Size'             => 0,
118         'JSAN::ServerSide'        => '==0.06',
119         'JSON'                    => 0,
120         'JSON::XS'                => '2.24',
121         'JSON::Any'               => 0,
122         'List::Util'              => 0,
123         'LWP::UserAgent'          => 0,
124         'Mail::Sendmail'          => 0,
125         'Math::Round::Var'        => 0,
126         'Memoize'                 => 0,
127         'Module::Build'           => '0.36',
128         'Module::Find'            => 0,
129         'Module::Pluggable::Object' => 0,
130         'Moose'                   => 0,
131         'MooseX::Declare'         => 0,
132         'MooseX::Method::Signatures' => '0.30',
133         'MooseX::Types::Path::Class' => 0,
134         'MooseX::Types::URI'      => 0,
135         'MooseX::Singleton'       => 0,
136         'Number::Format'          => 0,
137         'namespace::autoclean'    => 0,
138         'SOAP::Transport::HTTP'   => 0,
139         'Statistics::Descriptive' => 0,
140         'Storable'                => 0,
141         'Test::More'              => 0,
142         'Test::Class'             => 0,
143         'Test::WWW::Mechanize'    => 0,
144         'Text::ParseWords'        => 0,
145         'Tie::Function'           => 0,
146         'Tie::UrlEncoder'         => 0,
147         'Time::HiRes'             => 0,
148         'Try::Tiny'               => 0,
149         'URI'                     => 0,
150         'URI::Escape'             => 0,
151         'URI::FromHash'           => 0,
152         'XML::Generator'          => 0,
153         'XML::Twig'               => 0,
154         'YAML::Any'               => 0,
155         'File::Slurp'             => 0,
156         'Test::JSON'              => 0,
157         'Test::WWW::Mechanize::Catalyst' => 0,
158         'WWW::Mechanize::TreeBuilder' => 0,
159         'HTML::TreeBuilder::XPath' => 0,
161     },
163 $build->create_build_script;