diff options
author | David Lawrence <dkl@mozilla.com> | 2014-05-01 22:56:44 +0200 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2014-05-01 22:56:44 +0200 |
commit | afa70050adcf4f8c582dac4d8dbc4ce9c2500dff (patch) | |
tree | 26f3c8f515dc3cec5445e4b43cde138d1803d90c /Build.PL | |
parent | 39412f01810dceff5ff92e6ffab03fb35ad71e7b (diff) | |
download | bugzilla-afa70050adcf4f8c582dac4d8dbc4ce9c2500dff.tar.gz bugzilla-afa70050adcf4f8c582dac4d8dbc4ce9c2500dff.tar.xz |
Bug 995209 - Create a Build.PL script using Module::Build for testing/installing/packaging of Bugzilla code
r=glob,a=justdave
Diffstat (limited to 'Build.PL')
-rw-r--r-- | Build.PL | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Build.PL b/Build.PL new file mode 100644 index 000000000..a69f99020 --- /dev/null +++ b/Build.PL @@ -0,0 +1,61 @@ +#!/usr/bin/perl +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +use 5.10.1; +use strict; +use warnings; + +use FindBin qw($RealBin); +use lib ($RealBin, "$RealBin/lib"); + +use Module::Build 0.36_14; + +use Bugzilla::Install::Requirements qw(REQUIRED_MODULES OPTIONAL_MODULES); +use Bugzilla::Constants qw(BUGZILLA_VERSION); + +sub requires { + my $requirements = REQUIRED_MODULES(); + my $hrequires = {}; + foreach my $module (@$requirements) { + $hrequires->{$module->{module}} = $module->{version}; + } + return $hrequires; +}; + +sub build_requires { + return requires(); +} + +sub recommends { + my $recommends = OPTIONAL_MODULES(); + my @blacklist = ('Apache2-SizeLimit', 'mod_perl'); # Does not compile properly on Travis + my $hrecommends = {}; + foreach my $module (@$recommends) { + next if grep($_ eq $module->{package}, @blacklist); + $hrecommends->{$module->{module}} = $module->{version}; + } + return $hrecommends; +} + +my $build = Module::Build->new( + module_name => 'Bugzilla', + dist_abstract => <<END, +Bugzilla is a free bug-tracking system that is developed by an active +community of volunteers. You can install and use it without having to +pay any license fee. +END + dist_version_from => 'Bugzilla/Constants.pm', + dist_version => BUGZILLA_VERSION, + requires => requires(), + recommends => recommends(), + license => 'Mozilla_2_0', + create_readme => 0, + create_makefile_pl => 0 +); + +$build->create_build_script; |