NAME
Ado::Build - Custom routines for Ado installation
SYNOPSIS
#Build.PL
use 5.014000;
use strict;
use warnings FATAL => 'all';
use FindBin;
use lib("$FindBin::Bin/lib");
use Ado::Build;
my $builder = Ado::Build->new(..);
$builder->create_build_script();
#on the command line
cd /path/to/cloned/Ado
perl Build.PL
./Build
./Build test
#change/add some code
./Build test
./Build perltidy
./Build dist
./Build submit
#.... and so on
DESCRIPTION
This is a subclass of Module::Build. We use Module::Build::API to add custom functionality. This module and Ado::BuildPlugin exist just because of the additional install paths that we use beside lib
and bin
and processing the files in those paths. These modules also can serve as examples for your own builders if you have some custom things to do during build, test, install and even if you need to add a new ACTION_*
to your setup.
ATTRIBUTES
Ado::Build defines some attributes, used across different actions.
PERL_DIRS
Returns the list of absolute paths to directories in the project containing Perl files. Read-only.
$self->PERL_DIRS;
#(/base/dir/bin, /base/dir/lib, /base/dir/t, /base/dir/etc)
METHODS
Ado::Build inherits all methods from Module::Build and implements the following ones.
create_build_script
This method is called in Build.PL
. In this method we also call add_build_element
for etc
public
, templates
and log
folders. Finally we set all the install_path
s for the distro and we call $self->SUPER::create_build_script
.
process_etc_files
Moves files found in Ado/etc
to Ado/blib/etc
. See "METHODS" in Module::Build::API Returns void.
process_log_files
Moves files found in Ado/log
to Ado/blib/log
. Returns void.
process_public_files
Moves files found in Ado/public
to Ado/blib/public
. Returns void.
process_templates_files
Moves files found in Ado/templates
to Ado/blib/templates
. Returns void.
ACTION_build
We put here custom functionality executed around the $self->SUPER::ACTION_build
. See the source for details.
ACTION_test
We put here custom functionality executed around the $self->SUPER::ACTION_test
. See the source for details.
ACTION_dist
We put here custom functionality executed around the $self->SUPER::ACTION_dist
. See the sources for details.
ACTION_install
Changes file permissions to 0600
of some files like etc/ado.sqlite
and to 0400
of some files like etc/ado.conf
. You can put additional custom functionality here.
ACTION_fakeuninstall
Dry run for uninstall operation against module Ado.
ACTION_uninstall
Perform uninstall operation against Ado module.
ACTION_perltidy
Tidies all *.conf, *.pm, *.pl, *.t
files found in project directories bin, lib, t, etc
in the distribution. Uses the ./pertidyrc
found in the project root directory. Cleans up all .bak
files. This action does not tidies Build.PL
. Use perltidy Build.PL
for that.
perl Build.PL
./Build perltidy
./Build
...
ACTION_submit
TODO: commit and push after testing tidying and who knows what..
./Build submit
do_create_readme
Creates the README file from lib/Ado/Manual.pod
.
SEE ALSO
Ado::BuildPlugin, Module::Build::API, Module::Build::Authoring, "ADVANCED_RECIPES" in Module::Build::Cookbook, Build.PL in Ado distribution directory.
AUTHOR
Красимир Беров (Krasimir Berov)
COPYRIGHT AND LICENSE
Copyright 2013-2014 Красимир Беров (Krasimir Berov).
This program is free software, you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License v3 (LGPL-3.0). You may copy, distribute and modify the software provided that modifications are open source. However, software that includes the license may release under a different license.
See http://opensource.org/licenses/lgpl-3.0.html for more information.