band-aided idiotic bulk download file naming
[sgn.git] / Build.PL
blob273f431dc12f1432ccf82a0cfb39a91c3ffe2fb8
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         #         'CXGN::DB::Connection' => 0,
57         #         'CXGN::Genomic::Clone' => 0,
58         #         'CXGN::Page' => 0,
59         #         'CXGN::People::Person' => 0,
60         #         'CXGN::VHost::Test' => 0,
61         'File::Temp'           => 0,
62         'HTML::Lint'           => 0,
63         'JSON'                 => 0,
64         'List::Util'           => 0,
65         'Test::More'           => 0,
66         'Test::Most'           => 0,
67         'Test::WWW::Mechanize' => 0,
68         'Test::WWW::Selenium'  => 0,
69         'Test::MockObject'     => 0,
70     },
71     requires => {
72         'perl'                => '5.10.0',
73         'autodie'             => 0,
74         'IPC::System::Simple' => 0,         #< required for autodie :all
75         'Apache::DBI'         => 0,
77         #        'Apache2::Request' => 0,
78         'Bio::Chado::Schema' => '0.05900',
80         'Bio::Root::Version'     => '1.006001',
81         #         'Bio::AlignIO' => 0,
82         #         'Bio::DB::GenBank' => 0,
83         #         'Bio::GMOD::Blast::Graph' => 0,
84         #         'Bio::Range' => 0,
85         #         'Bio::Restriction::Analysis' => 0,
86         #         'Bio::SearchIO' => 0,
87         #         'Bio::Seq' => 0,
88         #         'Bio::SeqIO' => 0,
89         #         'Bio::Tools::Primer3' => 0,
90         #         'Bio::Tools::Run::Primer3' => 0,
91         #         'Bio::Graphics::Gel' => 0,
93         'Bio::Graphics::FeatureFile' => 0,
95         'Cache::File' => 0,
98         'Catalyst::Runtime'                => '5.80024',
99         'Catalyst::Controller::CGIBin'     => '0.029',
100         'Catalyst::Action::RenderView'     => 0,
101         'Catalyst::Plugin::ErrorCatcher'   => 0,
102         'Catalyst::Plugin::ErrorCatcher::Email'
103                                            => 0,
104         'Catalyst::Plugin::StackTrace'     => 0,
105         'Catalyst::Plugin::Static::Simple' => 0,
106         'Catalyst::View::HTML::Mason'      => 0,
107         'Catalyst::View::JavaScript::Minifier::XS'
108                                            => '2.100000',
109         'CatalystX::GlobalContext'         => 0,
111         'CGI'                              => 0,
112         'CGI::Carp::DebugScreen'           => '0.16',
114         #         'CXGN::Accession' => 0,
115         #         'CXGN::Accession::Tools' => 0,
116         #         'CXGN::Alignment' => 0,
117         #         'CXGN::Apache::Error' => 0,
118         #         'CXGN::Apache::Request' => 0,
119         #         'CXGN::BioTools::AGP' => 0,
120         #         'CXGN::BioTools::CapsDesigner2' => 0,
121         #         'CXGN::BioTools::SearchIOHTMLWriter' => 0,
122         #         'CXGN::BlastDB' => 0,
123         #         'CXGN::BlastWatch' => 0,
124         #         'CXGN::Bulk' => 0,
125         #         'CXGN::CDBI::Auto::SGN::Organism' => 0,
126         #         'CXGN::CDBI::Auto::SGNSubmit::Facility' => 0,
127         #         'CXGN::CDBI::Auto::SGNSubmit::Library' => 0,
128         #         'CXGN::Chado::CV' => 0,
129         #         'CXGN::Chado::Cvterm' => 0,
130         #         'CXGN::Chado::Dbxref' => 0,
131         #         'CXGN::Chado::Feature' => 0,
132         #         'CXGN::Chado::Ontology' => 0,
133         #         'CXGN::Chado::Organism' => 0,
134         #         'CXGN::Chado::Phenotype' => 0,
135         #         'CXGN::Chado::Pubauthor' => 0,
136         #         'CXGN::Chado::Publication' => 0,
137         #         'CXGN::Chromatogram' => 0,
138         #         'CXGN::Contact' => 0,
139         #         'CXGN::Cookie' => 0,
140         #         'CXGN::Cview' => 0,
141         #         'CXGN::Cview::ChrLink' => 0,
142         #         'CXGN::Cview::ChrMarkerImage' => 0,
143         #         'CXGN::Cview::Chromosome::Vector' => 0,
144         #         'CXGN::Cview::ChromosomeViewer' => 0,
145         #         'CXGN::Cview::Map::SGN::User' => 0,
146         #         'CXGN::Cview::Map::Tools' => 0,
147         #         'CXGN::Cview::Map_overviews' => 0,
148         #         'CXGN::Cview::Map_overviews::Generic' => 0,
149         #         'CXGN::Cview::Map_overviews::ProjectStats' => 0,
150         #         'CXGN::Cview::MapFactory' => 0,
151         #         'CXGN::Cview::MapImage' => 0,
152         #         'CXGN::Cview::Marker::RangeMarker' => 0,
153         #         'CXGN::Cview::Marker::VectorFeature' => 0,
154         #         'CXGN::Cview::Utils' => 0,
155         #         'CXGN::Cview::VectorViewer' => 0,
156         #         'CXGN::Cvterms' => 0,
157         #         'CXGN::DB::Connection' => 0,
158         #         'CXGN::DB::ModifiableI' => 0,
159         #         'CXGN::DB::Object' => 0,
160         #         'CXGN::DB::PhenoPopulation' => 0,
161         #         'CXGN::DB::Physical' => 0,
162         #         'CXGN::Debug' => 0,
163         #         'CXGN::Feed' => 0,
164         #         'CXGN::Fish' => 0,
165         #         'CXGN::Garbage::Sequence' => 0,
166         #         'CXGN::Genomic' => 0,
167         #         'CXGN::Genomic::Chromat' => 0,
168         #         'CXGN::Genomic::Clone' => 0,
169         #         'CXGN::Genomic::CloneIdentifiers' => 0,
170         #         'CXGN::Genomic::CloneNameParser' => 0,
171         #         'CXGN::Genomic::GSS' => 0,
172         #         'CXGN::Genomic::Library' => 0,
173         #         'CXGN::Genomic::Search::Clone' => 0,
174         #         'CXGN::Genomic::Tools' => 0,
175         #         'CXGN::Glossary' => 0,
176         #         'CXGN::Graphics::BlastGraph' => 0,
177         #         'CXGN::Image' => 0,
178         #         'CXGN::Image::GDImage' => 0,
179         #         'CXGN::Insitu' => 0,
180         #         'CXGN::Insitu::DB' => 0,
181         #         'CXGN::Insitu::Experiment' => 0,
182         #         'CXGN::Insitu::ExperimentSearch' => 0,
183         #         'CXGN::Insitu::Image' => 0,
184         #         'CXGN::Insitu::Organism' => 0,
185         #         'CXGN::Insitu::Primer' => 0,
186         #         'CXGN::Insitu::Probe' => 0,
187         #         'CXGN::Insitu::Tag' => 0,
188         #         'CXGN::Insitu::Toolbar' => 0,
189         #         'CXGN::ITAG::Pipeline' => 0,
190         #         'CXGN::ITAG::Release' => 0,
191         #         'CXGN::Login' => 0,
192         #         'CXGN::Map' => 0,
193         #         'CXGN::Map::Tools' => 0,
194         #         'CXGN::Marker' => 0,
195         #         'CXGN::Marker::Search' => 0,
196         #         'CXGN::Marker::SNP::Schema' => 0,
197         #         'CXGN::Marker::SNP::Snp' => 0,
198         #         'CXGN::Marker::Tools' => 0,
199         #         'CXGN::Metadata' => 0,
200         #         'CXGN::MOBY::LocalServices' => 0,
201         #         'CXGN::Page' => 0,
202         #         'CXGN::Page::Form::EditableCheckbox' => 0,
203         #         'CXGN::Page::Form::SimpleFormPage' => 0,
204         #         'CXGN::Page::FormattingHelpers' => 0,
205         #         'CXGN::Page::Secretary' => 0,
206         #         'CXGN::Page::Toolbar::SGN' => 0,
207         #         'CXGN::Page::UserPrefs' => 0,
208         #         'CXGN::Page::Widgets' => 0,
209         #         'CXGN::People' => 0,
210         #         'CXGN::People::BACStatusLog' => 0,
211         #         'CXGN::People::Forum' => 0,
212         #         'CXGN::People::Login' => 0,
213         #         'CXGN::People::PageComment' => 0,
214         #         'CXGN::People::Person' => 0,
215         #         'CXGN::People::UserMap' => 0,
216         #         'CXGN::People::UserMapData' => 0,
217         #         'CXGN::Phenome' => 0,
218         #         'CXGN::Phenome::Allele' => 0,
219         #         'CXGN::Phenome::AlleleSynonym' => 0,
220         #         'CXGN::Phenome::DbxrefType' => 0,
221         #         'CXGN::Phenome::GenericGenePage' => 0,
222         #         'CXGN::Phenome::Individual' => 0,
223         #         'CXGN::Phenome::Individual::IndividualDbxref' => 0,
224         #         'CXGN::Phenome::Individual::IndividualDbxrefEvidence' => 0,
225         #         'CXGN::Phenome::Locus' => 0,
226         #         'CXGN::Phenome::Locus::LinkageGroup' => 0,
227         #         'CXGN::Phenome::Locus::LocusDbxrefEvidence' => 0,
228         #         'CXGN::Phenome::Locus::LocusPage' => 0,
229         #         'CXGN::Phenome::Locus::LocusRanking' => 0,
230         #         'CXGN::Phenome::LocusDbxref' => 0,
231         #         'CXGN::Phenome::LocusGroup' => 0,
232         #         'CXGN::Phenome::LocusgroupMember' => 0,
233         #         'CXGN::Phenome::LocusSynonym' => 0,
234         #         'CXGN::Phenome::Main' => 0,
235         #         'CXGN::Phenome::Population' => 0,
236         #         'CXGN::Phenome::PopulationDbxref' => 0,
237         #         'CXGN::Phenotypes' => 0,
238         #         'CXGN::Phylo::Alignment' => 0,
239         #         'CXGN::Phylo::Alignment::Member' => 0,
240         #         'CXGN::Phylo::File' => 0,
241         #         'CXGN::Phylo::Parser' => 0,
242         #         'CXGN::Phylo::Tree' => 0,
243         #         'CXGN::Phylo::Tree_browser' => 0,
244         #         'CXGN::Publication' => 0,
245         #         'CXGN::Publish' => 0,
246         #         'CXGN::Scrap' => 0,
247         #         'CXGN::Scrap::AjaxPage' => 0,
248         #         'CXGN::Search::CannedForms' => 0,
249         #         'CXGN::Searches::Family' => 0,
250         #         'CXGN::Searches::Images' => 0,
251         #         'CXGN::Searches::Library' => 0,
252         #         'CXGN::Searches::People' => 0,
253         #         'CXGN::Secretary::Family' => 0,
254         #         'CXGN::Secretary::Gene' => 0,
255         #         'CXGN::Secretary::Query' => 0,
256         #         'CXGN::Sunshine::Browser' => 0,
257         #         'CXGN::Sunshine::Node' => 0,
258         #         'CXGN::Tag' => 0,
259         #         'CXGN::TomatoGenome::BACPublish' => 0,
260         #         'CXGN::TomatoGenome::BACSubmission' => 0,
261         #         'CXGN::Tools::Entrez' => 0,
262         #         'CXGN::Tools::FeatureFetch' => 0,
263         #         'CXGN::Tools::File' => 0,
264         #         'CXGN::Tools::File::Text' => 0,
265         #         'CXGN::Tools::Gene' => 0,
266         #         'CXGN::Tools::Identifiers' => 0,
267         #         'CXGN::Tools::List' => 0,
268         #         'CXGN::Tools::Organism' => 0,
269         #         'CXGN::Tools::Param' => 0,
270         #         'CXGN::Tools::Pubmed' => 0,
271         #         'CXGN::Tools::Run' => 0,
272         #         'CXGN::Tools::Script' => 0,
273         #         'CXGN::Tools::Text' => 0,
274         #         'CXGN::Tools::WebImageCache' => 0,
275         #         'CXGN::Transcript::CDS' => 0,
276         #         'CXGN::Transcript::EST' => 0,
277         #         'CXGN::Transcript::Library' => 0,
278         #         'CXGN::Transcript::Unigene' => 0,
279         #         'CXGN::Transcript::UnigeneBuild' => 0,
280         #         'CXGN::Unigene::Search' => 0,
281         #         'CXGN::Unigene::Tools' => 0,
282         #         'CXGN::UserList::Hotlist' => 0,
283         #         'CXGN::UserPrefs' => 0,
284         #        'DBI' => 0,
285         'DBIx::Class'             => 0,
286         'DBIx::Connector'         => 0,
287         'File::Flock'             => 0,
288         'File::NFSLock'           => 0,
289         'File::Temp'              => 0,
290         'Number::Bytes::Human'    => '0.07',
291         'GD'                      => 0,
292         'GD::Graph::Map'          => 0,
293         'GD::Graph::points'       => 0,
294         'GD::Text'                => 0,
295         'HTML::Entities'          => 0,
296         'HTML::Mason'             => 0,
297         'IO::String'              => 0,
298         'Image::Size'             => 0,
299         'JSAN::ServerSide'        => '==0.06',
300         'JSON'                    => 0,
301         'JSON::XS'                => '2.24',
302         'JSON::Any'               => 0,
303         'List::Util'              => 0,
304         'LWP::UserAgent'          => 0,
305         'Mail::Sendmail'          => 0,
306         'Math::Round::Var'        => 0,
307         'Memoize'                 => 0,
308         'Module::Build'           => '0.36',
309         'Module::Find'            => 0,
310         'Module::Pluggable::Object' => 0,
311         'Moose'                   => 0,
312         'MooseX::Declare'         => 0,
313         'MooseX::Method::Signatures' => '0.30',
314         'MooseX::Types::Path::Class' => 0,
315         'MooseX::Types::URI'      => 0,
316         'MooseX::Singleton'       => 0,
317         'Number::Format'          => 0,
318         'namespace::autoclean'    => 0,
319         'SOAP::Transport::HTTP'   => 0,
320         'Statistics::Descriptive' => 0,
321         'Storable'                => 0,
322         'Test::More'              => 0,
323         'Test::Class'             => 0,
324         'Test::WWW::Mechanize'    => 0,
325         'Text::ParseWords'        => 0,
326         'Tie::Function'           => 0,
327         'Tie::UrlEncoder'         => 0,
328         'Time::HiRes'             => 0,
329         'Try::Tiny'               => 0,
330         'URI'                     => 0,
331         'URI::Escape'             => 0,
332         'URI::FromHash'           => 0,
333         'XML::Generator'          => 0,
334         'XML::Twig'               => 0,
335         'YAML::Any'               => 0,
336         'File::Slurp'             => 0,
337         'Test::JSON'              => 0,
338         'Test::WWW::Mechanize::Catalyst' => 0,
339     },
341 $build->create_build_script;