Added an optional parameter to the constructor and added some POD.
[sgn.git] / Build.PL
blobd095046ec5e6711b1dbbf35b74da4d82ef1f882f
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 |;
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::AlignIO' => 0,
83         #         'Bio::DB::GenBank' => 0,
84         #         'Bio::GMOD::Blast::Graph' => 0,
85         #         'Bio::Graphics::Gel' => 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         'Cache::File' => 0,
95         #         'CXGN::Accession' => 0,
96         #         'CXGN::Accession::Tools' => 0,
97         #         'CXGN::Alignment' => 0,
98         #         'CXGN::Apache::Error' => 0,
99         #         'CXGN::Apache::Request' => 0,
100         #         'CXGN::BioTools::AGP' => 0,
101         #         'CXGN::BioTools::CapsDesigner2' => 0,
102         #         'CXGN::BioTools::SearchIOHTMLWriter' => 0,
103         #         'CXGN::BlastDB' => 0,
104         #         'CXGN::BlastWatch' => 0,
105         #         'CXGN::Bulk' => 0,
106         #         'CXGN::CDBI::Auto::SGN::Organism' => 0,
107         #         'CXGN::CDBI::Auto::SGNSubmit::Facility' => 0,
108         #         'CXGN::CDBI::Auto::SGNSubmit::Library' => 0,
109         #         'CXGN::Chado::CV' => 0,
110         #         'CXGN::Chado::Cvterm' => 0,
111         #         'CXGN::Chado::Dbxref' => 0,
112         #         'CXGN::Chado::Feature' => 0,
113         #         'CXGN::Chado::Ontology' => 0,
114         #         'CXGN::Chado::Organism' => 0,
115         #         'CXGN::Chado::Phenotype' => 0,
116         #         'CXGN::Chado::Pubauthor' => 0,
117         #         'CXGN::Chado::Publication' => 0,
118         #         'CXGN::Chromatogram' => 0,
119         #         'CXGN::Contact' => 0,
120         #         'CXGN::Cookie' => 0,
121         #         'CXGN::Cview' => 0,
122         #         'CXGN::Cview::ChrLink' => 0,
123         #         'CXGN::Cview::ChrMarkerImage' => 0,
124         #         'CXGN::Cview::Chromosome::Vector' => 0,
125         #         'CXGN::Cview::Chromosome_viewer' => 0,
126         #         'CXGN::Cview::Map::SGN::User' => 0,
127         #         'CXGN::Cview::Map::Tools' => 0,
128         #         'CXGN::Cview::Map_overviews' => 0,
129         #         'CXGN::Cview::Map_overviews::Generic' => 0,
130         #         'CXGN::Cview::Map_overviews::ProjectStats' => 0,
131         #         'CXGN::Cview::MapFactory' => 0,
132         #         'CXGN::Cview::MapImage' => 0,
133         #         'CXGN::Cview::Marker::RangeMarker' => 0,
134         #         'CXGN::Cview::Marker::VectorFeature' => 0,
135         #         'CXGN::Cview::Utils' => 0,
136         #         'CXGN::Cview::VectorViewer' => 0,
137         #         'CXGN::Cvterms' => 0,
138         #         'CXGN::DB::Connection' => 0,
139         #         'CXGN::DB::ModifiableI' => 0,
140         #         'CXGN::DB::Object' => 0,
141         #         'CXGN::DB::PhenoPopulation' => 0,
142         #         'CXGN::DB::Physical' => 0,
143         #         'CXGN::Debug' => 0,
144         #         'CXGN::Feed' => 0,
145         #         'CXGN::Fish' => 0,
146         #         'CXGN::Garbage::Sequence' => 0,
147         #         'CXGN::Genomic' => 0,
148         #         'CXGN::Genomic::Chromat' => 0,
149         #         'CXGN::Genomic::Clone' => 0,
150         #         'CXGN::Genomic::CloneIdentifiers' => 0,
151         #         'CXGN::Genomic::CloneNameParser' => 0,
152         #         'CXGN::Genomic::GSS' => 0,
153         #         'CXGN::Genomic::Library' => 0,
154         #         'CXGN::Genomic::Search::Clone' => 0,
155         #         'CXGN::Genomic::Tools' => 0,
156         #         'CXGN::Glossary' => 0,
157         #         'CXGN::Graphics::BlastGraph' => 0,
158         #         'CXGN::Image' => 0,
159         #         'CXGN::Image::GDImage' => 0,
160         #         'CXGN::Insitu' => 0,
161         #         'CXGN::Insitu::DB' => 0,
162         #         'CXGN::Insitu::Experiment' => 0,
163         #         'CXGN::Insitu::ExperimentSearch' => 0,
164         #         'CXGN::Insitu::Image' => 0,
165         #         'CXGN::Insitu::Organism' => 0,
166         #         'CXGN::Insitu::Primer' => 0,
167         #         'CXGN::Insitu::Probe' => 0,
168         #         'CXGN::Insitu::Tag' => 0,
169         #         'CXGN::Insitu::Toolbar' => 0,
170         #         'CXGN::ITAG::Pipeline' => 0,
171         #         'CXGN::ITAG::Release' => 0,
172         #         'CXGN::Login' => 0,
173         #         'CXGN::Map' => 0,
174         #         'CXGN::Map::Tools' => 0,
175         #         'CXGN::Marker' => 0,
176         #         'CXGN::Marker::Search' => 0,
177         #         'CXGN::Marker::SNP::Schema' => 0,
178         #         'CXGN::Marker::SNP::Snp' => 0,
179         #         'CXGN::Marker::Tools' => 0,
180         #         'CXGN::Metadata' => 0,
181         #         'CXGN::MOBY::LocalServices' => 0,
182         #         'CXGN::Page' => 0,
183         #         'CXGN::Page::Form::EditableCheckbox' => 0,
184         #         'CXGN::Page::Form::SimpleFormPage' => 0,
185         #         'CXGN::Page::FormattingHelpers' => 0,
186         #         'CXGN::Page::Secretary' => 0,
187         #         'CXGN::Page::Toolbar::SGN' => 0,
188         #         'CXGN::Page::UserPrefs' => 0,
189         #         'CXGN::Page::Widgets' => 0,
190         #         'CXGN::People' => 0,
191         #         'CXGN::People::BACStatusLog' => 0,
192         #         'CXGN::People::Forum' => 0,
193         #         'CXGN::People::Login' => 0,
194         #         'CXGN::People::PageComment' => 0,
195         #         'CXGN::People::Person' => 0,
196         #         'CXGN::People::UserMap' => 0,
197         #         'CXGN::People::UserMapData' => 0,
198         #         'CXGN::Phenome' => 0,
199         #         'CXGN::Phenome::Allele' => 0,
200         #         'CXGN::Phenome::AlleleSynonym' => 0,
201         #         'CXGN::Phenome::DbxrefType' => 0,
202         #         'CXGN::Phenome::GenericGenePage' => 0,
203         #         'CXGN::Phenome::Individual' => 0,
204         #         'CXGN::Phenome::Individual::IndividualDbxref' => 0,
205         #         'CXGN::Phenome::Individual::IndividualDbxrefEvidence' => 0,
206         #         'CXGN::Phenome::Locus' => 0,
207         #         'CXGN::Phenome::Locus::LinkageGroup' => 0,
208         #         'CXGN::Phenome::Locus::LocusDbxrefEvidence' => 0,
209         #         'CXGN::Phenome::Locus::LocusPage' => 0,
210         #         'CXGN::Phenome::Locus::LocusRanking' => 0,
211         #         'CXGN::Phenome::LocusDbxref' => 0,
212         #         'CXGN::Phenome::LocusGroup' => 0,
213         #         'CXGN::Phenome::LocusgroupMember' => 0,
214         #         'CXGN::Phenome::LocusSynonym' => 0,
215         #         'CXGN::Phenome::Main' => 0,
216         #         'CXGN::Phenome::Population' => 0,
217         #         'CXGN::Phenome::PopulationDbxref' => 0,
218         #         'CXGN::Phenotypes' => 0,
219         #         'CXGN::Phylo::Alignment' => 0,
220         #         'CXGN::Phylo::Alignment::Member' => 0,
221         #         'CXGN::Phylo::File' => 0,
222         #         'CXGN::Phylo::Parser' => 0,
223         #         'CXGN::Phylo::Tree' => 0,
224         #         'CXGN::Phylo::Tree_browser' => 0,
225         #         'CXGN::Publication' => 0,
226         #         'CXGN::Publish' => 0,
227         #         'CXGN::Scrap' => 0,
228         #         'CXGN::Scrap::AjaxPage' => 0,
229         #         'CXGN::Search::CannedForms' => 0,
230         #         'CXGN::Searches::Family' => 0,
231         #         'CXGN::Searches::Images' => 0,
232         #         'CXGN::Searches::Library' => 0,
233         #         'CXGN::Searches::People' => 0,
234         #         'CXGN::Secretary::Family' => 0,
235         #         'CXGN::Secretary::Gene' => 0,
236         #         'CXGN::Secretary::Query' => 0,
237         #         'CXGN::Sunshine::Browser' => 0,
238         #         'CXGN::Sunshine::Node' => 0,
239         #         'CXGN::Tag' => 0,
240         #         'CXGN::TomatoGenome::BACPublish' => 0,
241         #         'CXGN::TomatoGenome::BACSubmission' => 0,
242         #         'CXGN::Tools::Entrez' => 0,
243         #         'CXGN::Tools::FeatureFetch' => 0,
244         #         'CXGN::Tools::File' => 0,
245         #         'CXGN::Tools::File::Text' => 0,
246         #         'CXGN::Tools::Gene' => 0,
247         #         'CXGN::Tools::Identifiers' => 0,
248         #         'CXGN::Tools::List' => 0,
249         #         'CXGN::Tools::Onto' => 0,
250         #         'CXGN::Tools::Organism' => 0,
251         #         'CXGN::Tools::Param' => 0,
252         #         'CXGN::Tools::Pubmed' => 0,
253         #         'CXGN::Tools::Run' => 0,
254         #         'CXGN::Tools::Script' => 0,
255         #         'CXGN::Tools::Text' => 0,
256         #         'CXGN::Tools::WebImageCache' => 0,
257         #         'CXGN::Transcript::CDS' => 0,
258         #         'CXGN::Transcript::EST' => 0,
259         #         'CXGN::Transcript::Library' => 0,
260         #         'CXGN::Transcript::Unigene' => 0,
261         #         'CXGN::Transcript::UnigeneBuild' => 0,
262         #         'CXGN::Unigene::Search' => 0,
263         #         'CXGN::Unigene::Tools' => 0,
264         #         'CXGN::UserList::Hotlist' => 0,
265         #         'CXGN::UserPrefs' => 0,
266         #         'CXGN::VHost' => 0,
267         #        'DBI' => 0,
268         'DBIx::Class'             => 0,
269         'DBIx::Connector'         => 0,
270         'File::NFSLock'           => 0,
271         'File::Temp'              => 0,
272         'Number::Bytes::Human'    => '0.07',
273         'GD'                      => 0,
274         'GD::Graph::Map'          => 0,
275         'GD::Graph::points'       => 0,
276         'GD::Text'                => 0,
277         'HTML::Entities'          => 0,
278         'HTML::Mason'             => 0,
279         'IO::String'              => 0,
280         'JSAN::ServerSide'        => '==0.06',
281         'JSON'                    => 0,
282         'List::Util'              => 0,
283         'LWP::UserAgent'          => 0,
284         'Math::Round::Var'        => 0,
285         'Memoize'                 => 0,
286         'Module::Build'           => '0.36',
287         'Module::Find'            => 0,
288         'Moose'                   => 0,
289         'MooseX::Singleton'       => 0,
290         'namespace::autoclean'    => 0,
291         'SOAP::Transport::HTTP'   => 0,
292         'Statistics::Descriptive' => 0,
293         'Storable'                => 0,
294         'Test::More'              => 0,
295         'Test::WWW::Mechanize'    => 0,
296         'Tie::Function'           => 0,
297         'Tie::UrlEncoder'         => 0,
298         'Time::HiRes'             => 0,
299         'URI'                     => 0,
300         'URI::Escape'             => 0,
301         'XML::Generator'          => 0,
302         'XML::Twig'               => 0,
303         'YAML::Any'               => 0,
304     },
306 $build->create_build_script;