need to install js dir
[sgn.git] / Build.PL
blob77061a9a864e627da60c105259032e9872ce6e1e
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 # disable tests, since they are not self-contained
15 sub ACTION_test {}
17 # override install to just copy the whole dir into the install_base
18 sub ACTION_install {
19    my $self = shift;
20    $self->SUPER::ACTION_install(@_);
22    my @install_dirs = qw|cgi-bin conf documents mason programs support_data t features js |;
24    require File::Spec;
25    my $tgt_dir = File::Spec->catdir($self->install_base,'sgn');
26    mkdir $tgt_dir;
27    system 'cp', '-rl', @install_dirs => $tgt_dir;
28    $? and die "SGN site copy failed\n";
31 sub ACTION_clean {
32    shift->SUPER::ACTION_clean(@_);
33    system "make -C programs clean";
34    $? and die "SGN site copy failed\n";
36 SUBCLASS
39 #my $class = 'Module::Build';
40 my $build = $class->new(
42     dist_name          => 'SGN',
43     license            => 'perl',
44     create_makefile_pl => 'passthrough',
46     module_name        => 'SGN::Context',
48     # current version of our core libraries distribution
49     dist_version => '0.1',
50     dist_author  => 'Lukas Mueller',
51     dist_abstract =>
52 'The code and content behind the Sol Genomics Network main website, http://solgenomics.net',
54     recursive_test_files => 1,
56     build_requires => {
57         'Class::MethodMaker' => 0,
59         #         'CXGN::DB::Connection' => 0,
60         #         'CXGN::Genomic::Clone' => 0,
61         #         'CXGN::Page' => 0,
62         #         'CXGN::People::Person' => 0,
63         #         'CXGN::VHost' => 0,
64         #         'CXGN::VHost::Test' => 0,
65         'File::Temp'           => 0,
66         'HTML::Lint'           => 0,
67         'JSON'                 => 0,
68         'List::Util'           => 0,
69         'Test::More'           => 0,
70         'Test::Most'           => 0,
71         'Test::WWW::Mechanize' => 0,
72     },
73     requires => {
74         'perl'                => '5.6.1',
75         'autodie'             => 0,
76         'IPC::System::Simple' => 0,         #< required for autodie :all
77         'Apache::DBI'         => 0,
79         #        'Apache2::Request' => 0,
80         'Bio::Chado::Schema' => '0.04000',
82         'Bio::Root::Version'     => '1.006001',
83         #         'Bio::AlignIO' => 0,
84         #         'Bio::DB::GenBank' => 0,
85         #         'Bio::GMOD::Blast::Graph' => 0,
86         #         'Bio::Range' => 0,
87         #         'Bio::Restriction::Analysis' => 0,
88         #         'Bio::SearchIO' => 0,
89         #         'Bio::Seq' => 0,
90         #         'Bio::SeqIO' => 0,
91         #         'Bio::Tools::Primer3' => 0,
92         #         'Bio::Tools::Run::Primer3' => 0,
93         #         'Bio::Graphics::Gel' => 0,
95         'Bio::Graphics::FeatureFile' => 0,
97         'Cache::File' => 0,
99         'CGI'                 => 0,
100         'CGI::Carp::DebugScreen' => '0.16',
102         #         'CXGN::Accession' => 0,
103         #         'CXGN::Accession::Tools' => 0,
104         #         'CXGN::Alignment' => 0,
105         #         'CXGN::Apache::Error' => 0,
106         #         'CXGN::Apache::Request' => 0,
107         #         'CXGN::BioTools::AGP' => 0,
108         #         'CXGN::BioTools::CapsDesigner2' => 0,
109         #         'CXGN::BioTools::SearchIOHTMLWriter' => 0,
110         #         'CXGN::BlastDB' => 0,
111         #         'CXGN::BlastWatch' => 0,
112         #         'CXGN::Bulk' => 0,
113         #         'CXGN::CDBI::Auto::SGN::Organism' => 0,
114         #         'CXGN::CDBI::Auto::SGNSubmit::Facility' => 0,
115         #         'CXGN::CDBI::Auto::SGNSubmit::Library' => 0,
116         #         'CXGN::Chado::CV' => 0,
117         #         'CXGN::Chado::Cvterm' => 0,
118         #         'CXGN::Chado::Dbxref' => 0,
119         #         'CXGN::Chado::Feature' => 0,
120         #         'CXGN::Chado::Ontology' => 0,
121         #         'CXGN::Chado::Organism' => 0,
122         #         'CXGN::Chado::Phenotype' => 0,
123         #         'CXGN::Chado::Pubauthor' => 0,
124         #         'CXGN::Chado::Publication' => 0,
125         #         'CXGN::Chromatogram' => 0,
126         #         'CXGN::Contact' => 0,
127         #         'CXGN::Cookie' => 0,
128         #         'CXGN::Cview' => 0,
129         #         'CXGN::Cview::ChrLink' => 0,
130         #         'CXGN::Cview::ChrMarkerImage' => 0,
131         #         'CXGN::Cview::Chromosome::Vector' => 0,
132         #         'CXGN::Cview::Chromosome_viewer' => 0,
133         #         'CXGN::Cview::Map::SGN::User' => 0,
134         #         'CXGN::Cview::Map::Tools' => 0,
135         #         'CXGN::Cview::Map_overviews' => 0,
136         #         'CXGN::Cview::Map_overviews::Generic' => 0,
137         #         'CXGN::Cview::Map_overviews::ProjectStats' => 0,
138         #         'CXGN::Cview::MapFactory' => 0,
139         #         'CXGN::Cview::MapImage' => 0,
140         #         'CXGN::Cview::Marker::RangeMarker' => 0,
141         #         'CXGN::Cview::Marker::VectorFeature' => 0,
142         #         'CXGN::Cview::Utils' => 0,
143         #         'CXGN::Cview::VectorViewer' => 0,
144         #         'CXGN::Cvterms' => 0,
145         #         'CXGN::DB::Connection' => 0,
146         #         'CXGN::DB::ModifiableI' => 0,
147         #         'CXGN::DB::Object' => 0,
148         #         'CXGN::DB::PhenoPopulation' => 0,
149         #         'CXGN::DB::Physical' => 0,
150         #         'CXGN::Debug' => 0,
151         #         'CXGN::Feed' => 0,
152         #         'CXGN::Fish' => 0,
153         #         'CXGN::Garbage::Sequence' => 0,
154         #         'CXGN::Genomic' => 0,
155         #         'CXGN::Genomic::Chromat' => 0,
156         #         'CXGN::Genomic::Clone' => 0,
157         #         'CXGN::Genomic::CloneIdentifiers' => 0,
158         #         'CXGN::Genomic::CloneNameParser' => 0,
159         #         'CXGN::Genomic::GSS' => 0,
160         #         'CXGN::Genomic::Library' => 0,
161         #         'CXGN::Genomic::Search::Clone' => 0,
162         #         'CXGN::Genomic::Tools' => 0,
163         #         'CXGN::Glossary' => 0,
164         #         'CXGN::Graphics::BlastGraph' => 0,
165         #         'CXGN::Image' => 0,
166         #         'CXGN::Image::GDImage' => 0,
167         #         'CXGN::Insitu' => 0,
168         #         'CXGN::Insitu::DB' => 0,
169         #         'CXGN::Insitu::Experiment' => 0,
170         #         'CXGN::Insitu::ExperimentSearch' => 0,
171         #         'CXGN::Insitu::Image' => 0,
172         #         'CXGN::Insitu::Organism' => 0,
173         #         'CXGN::Insitu::Primer' => 0,
174         #         'CXGN::Insitu::Probe' => 0,
175         #         'CXGN::Insitu::Tag' => 0,
176         #         'CXGN::Insitu::Toolbar' => 0,
177         #         'CXGN::ITAG::Pipeline' => 0,
178         #         'CXGN::ITAG::Release' => 0,
179         #         'CXGN::Login' => 0,
180         #         'CXGN::Map' => 0,
181         #         'CXGN::Map::Tools' => 0,
182         #         'CXGN::Marker' => 0,
183         #         'CXGN::Marker::Search' => 0,
184         #         'CXGN::Marker::SNP::Schema' => 0,
185         #         'CXGN::Marker::SNP::Snp' => 0,
186         #         'CXGN::Marker::Tools' => 0,
187         #         'CXGN::Metadata' => 0,
188         #         'CXGN::MOBY::LocalServices' => 0,
189         #         'CXGN::Page' => 0,
190         #         'CXGN::Page::Form::EditableCheckbox' => 0,
191         #         'CXGN::Page::Form::SimpleFormPage' => 0,
192         #         'CXGN::Page::FormattingHelpers' => 0,
193         #         'CXGN::Page::Secretary' => 0,
194         #         'CXGN::Page::Toolbar::SGN' => 0,
195         #         'CXGN::Page::UserPrefs' => 0,
196         #         'CXGN::Page::Widgets' => 0,
197         #         'CXGN::People' => 0,
198         #         'CXGN::People::BACStatusLog' => 0,
199         #         'CXGN::People::Forum' => 0,
200         #         'CXGN::People::Login' => 0,
201         #         'CXGN::People::PageComment' => 0,
202         #         'CXGN::People::Person' => 0,
203         #         'CXGN::People::UserMap' => 0,
204         #         'CXGN::People::UserMapData' => 0,
205         #         'CXGN::Phenome' => 0,
206         #         'CXGN::Phenome::Allele' => 0,
207         #         'CXGN::Phenome::AlleleSynonym' => 0,
208         #         'CXGN::Phenome::DbxrefType' => 0,
209         #         'CXGN::Phenome::GenericGenePage' => 0,
210         #         'CXGN::Phenome::Individual' => 0,
211         #         'CXGN::Phenome::Individual::IndividualDbxref' => 0,
212         #         'CXGN::Phenome::Individual::IndividualDbxrefEvidence' => 0,
213         #         'CXGN::Phenome::Locus' => 0,
214         #         'CXGN::Phenome::Locus::LinkageGroup' => 0,
215         #         'CXGN::Phenome::Locus::LocusDbxrefEvidence' => 0,
216         #         'CXGN::Phenome::Locus::LocusPage' => 0,
217         #         'CXGN::Phenome::Locus::LocusRanking' => 0,
218         #         'CXGN::Phenome::LocusDbxref' => 0,
219         #         'CXGN::Phenome::LocusGroup' => 0,
220         #         'CXGN::Phenome::LocusgroupMember' => 0,
221         #         'CXGN::Phenome::LocusSynonym' => 0,
222         #         'CXGN::Phenome::Main' => 0,
223         #         'CXGN::Phenome::Population' => 0,
224         #         'CXGN::Phenome::PopulationDbxref' => 0,
225         #         'CXGN::Phenotypes' => 0,
226         #         'CXGN::Phylo::Alignment' => 0,
227         #         'CXGN::Phylo::Alignment::Member' => 0,
228         #         'CXGN::Phylo::File' => 0,
229         #         'CXGN::Phylo::Parser' => 0,
230         #         'CXGN::Phylo::Tree' => 0,
231         #         'CXGN::Phylo::Tree_browser' => 0,
232         #         'CXGN::Publication' => 0,
233         #         'CXGN::Publish' => 0,
234         #         'CXGN::Scrap' => 0,
235         #         'CXGN::Scrap::AjaxPage' => 0,
236         #         'CXGN::Search::CannedForms' => 0,
237         #         'CXGN::Searches::Family' => 0,
238         #         'CXGN::Searches::Images' => 0,
239         #         'CXGN::Searches::Library' => 0,
240         #         'CXGN::Searches::People' => 0,
241         #         'CXGN::Secretary::Family' => 0,
242         #         'CXGN::Secretary::Gene' => 0,
243         #         'CXGN::Secretary::Query' => 0,
244         #         'CXGN::Sunshine::Browser' => 0,
245         #         'CXGN::Sunshine::Node' => 0,
246         #         'CXGN::Tag' => 0,
247         #         'CXGN::TomatoGenome::BACPublish' => 0,
248         #         'CXGN::TomatoGenome::BACSubmission' => 0,
249         #         'CXGN::Tools::Entrez' => 0,
250         #         'CXGN::Tools::FeatureFetch' => 0,
251         #         'CXGN::Tools::File' => 0,
252         #         'CXGN::Tools::File::Text' => 0,
253         #         'CXGN::Tools::Gene' => 0,
254         #         'CXGN::Tools::Identifiers' => 0,
255         #         'CXGN::Tools::List' => 0,
256         #         'CXGN::Tools::Onto' => 0,
257         #         'CXGN::Tools::Organism' => 0,
258         #         'CXGN::Tools::Param' => 0,
259         #         'CXGN::Tools::Pubmed' => 0,
260         #         'CXGN::Tools::Run' => 0,
261         #         'CXGN::Tools::Script' => 0,
262         #         'CXGN::Tools::Text' => 0,
263         #         'CXGN::Tools::WebImageCache' => 0,
264         #         'CXGN::Transcript::CDS' => 0,
265         #         'CXGN::Transcript::EST' => 0,
266         #         'CXGN::Transcript::Library' => 0,
267         #         'CXGN::Transcript::Unigene' => 0,
268         #         'CXGN::Transcript::UnigeneBuild' => 0,
269         #         'CXGN::Unigene::Search' => 0,
270         #         'CXGN::Unigene::Tools' => 0,
271         #         'CXGN::UserList::Hotlist' => 0,
272         #         'CXGN::UserPrefs' => 0,
273         #         'CXGN::VHost' => 0,
274         #        'DBI' => 0,
275         'DBIx::Class'             => 0,
276         'DBIx::Connector'         => 0,
277         'File::Flock'             => 0,
278         'File::NFSLock'           => 0,
279         'File::Temp'              => 0,
280         'Number::Bytes::Human'    => '0.07',
281         'GD'                      => 0,
282         'GD::Graph::Map'          => 0,
283         'GD::Graph::points'       => 0,
284         'GD::Text'                => 0,
285         'HTML::Entities'          => 0,
286         'HTML::Mason'             => 0,
287         'IO::String'              => 0,
288         'JSAN::ServerSide'        => '==0.06',
289         'JSON'                    => 0,
290         'JSON::XS'                => '2.24',
291         'JSON::Any'               => 0,
292         'List::Util'              => 0,
293         'LWP::UserAgent'          => 0,
294         'Mail::Sendmail'          => 0,
295         'Math::Round::Var'        => 0,
296         'Memoize'                 => 0,
297         'Module::Build'           => '0.36',
298         'Module::Find'            => 0,
299         'Module::Pluggable::Object' => 0,
300         'Moose'                   => 0,
301         'MooseX::Method::Signatures' => '0.30',
302         'MooseX::Types::Path::Class' => 0,
303         'MooseX::Types::URI'      => 0,
304         'MooseX::Singleton'       => 0,
305         'namespace::autoclean'    => 0,
306         'SOAP::Transport::HTTP'   => 0,
307         'Statistics::Descriptive' => 0,
308         'Storable'                => 0,
309         'Test::More'              => 0,
310         'Test::WWW::Mechanize'    => 0,
311         'Text::ParseWords'        => 0,
312         'Tie::Function'           => 0,
313         'Tie::UrlEncoder'         => 0,
314         'Time::HiRes'             => 0,
315         'Try::Tiny'               => 0,
316         'URI'                     => 0,
317         'URI::Escape'             => 0,
318         'URI::FromHash'           => 0,
319         'XML::Generator'          => 0,
320         'XML::Twig'               => 0,
321         'YAML::Any'               => 0,
322     },
324 $build->create_build_script;