1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/build/lib/pgBackRestBuild/Build/Common.pm
David Steele 731b862e6f Rename BackRestDoc Perl module to pgBackRestDoc.
This is consistent with the way BackRest and BackRest test were renamed way back in 18fd2523.

More modules will be moving to pgBackRestDoc soon so renaming now reduces churn later.
2020-03-10 15:41:56 -04:00

145 lines
5.3 KiB
Perl

####################################################################################################################################
# Build Constants and Functions
####################################################################################################################################
package pgBackRestBuild::Build::Common;
use strict;
use warnings FATAL => qw(all);
use Carp qw(confess);
use English '-no_match_vars';
use Cwd qw(abs_path);
use Exporter qw(import);
our @EXPORT = qw();
use Storable qw(dclone);
use pgBackRestDoc::Common::Log;
use pgBackRestDoc::Common::String;
####################################################################################################################################
# Constants
####################################################################################################################################
use constant BLD_PATH => 'path';
push @EXPORT, qw(BLD_PATH);
use constant BLD_FILE => 'file';
push @EXPORT, qw(BLD_FILE);
use constant BLD_C => 'c';
push @EXPORT, qw(BLD_C);
use constant BLD_EXT => 'ext';
push @EXPORT, qw(BLD_EXT);
use constant BLD_HEADER => 'h';
push @EXPORT, qw(BLD_HEADER);
use constant BLD_CONSTANT => 'constant';
push @EXPORT, qw(BLD_CONSTANT);
use constant BLD_CONSTANT_GROUP => 'constantGroup';
push @EXPORT, qw(BLD_CONSTANT_GROUP);
use constant BLD_CONSTANT_VALUE => 'constantValue';
push @EXPORT, qw(BLD_CONSTANT_VALUE);
use constant BLD_DATA => 'data';
push @EXPORT, qw(BLD_DATA);
use constant BLD_DECLARE => 'declare';
push @EXPORT, qw(BLD_DECLARE);
use constant BLD_ENUM => 'enum';
push @EXPORT, qw(BLD_ENUM);
use constant BLD_LIST => 'list';
push @EXPORT, qw(BLD_LIST);
use constant BLD_NAME => 'name';
push @EXPORT, qw(BLD_NAME);
use constant BLD_PATH => 'path';
push @EXPORT, qw(BLD_PATH);
use constant BLD_SOURCE => 'buildSource';
push @EXPORT, qw(BLD_SOURCE);
use constant BLD_SUMMARY => 'summary';
push @EXPORT, qw(BLD_SUMMARY);
use constant BLD_VALUE => 'value';
push @EXPORT, qw(BLD_VALUE);
####################################################################################################################################
# bldAutoWarning - warning not to modify automatically generated files directly
####################################################################################################################################
sub bldAutoWarning
{
my $strGenerator = shift;
return "Automatically generated by ${strGenerator} -- do not modify directly.";
}
push @EXPORT, qw(bldAutoWarning);
####################################################################################################################################
# bldBanner - build general banner
####################################################################################################################################
sub bldBanner
{
my $strContent = shift;
my $strGenerator = shift;
my $strBanner =
qw{/} . (qw{*} x 131) . "\n" .
trim($strContent) . "\n";
if (defined($strGenerator))
{
$strBanner .=
"\n" .
bldAutoWarning($strGenerator) . "\n";
}
$strBanner .=
(qw{*} x 131) . qw{/} . "\n";
return $strBanner;
}
push @EXPORT, qw(bldBanner);
####################################################################################################################################
# Generate an enum name from a prefix and - separated name
####################################################################################################################################
sub bldEnum
{
my $strPrefix = shift;
my $strName = shift;
my $bInitCapFirst = shift;
$bInitCapFirst = defined($bInitCapFirst) ? $bInitCapFirst : true;
my $bFirst = true;
my @stryName = split('\-', $strName);
$strName = undef;
foreach my $strPart (@stryName)
{
$strName .= ($bFirst && $bInitCapFirst) || !$bFirst ? ucfirst($strPart) : $strPart;
$bFirst = false;
}
return "${strPrefix}${strName}";
}
push @EXPORT, qw(bldEnum);
####################################################################################################################################
# Quote a list of strings
####################################################################################################################################
sub bldQuoteList
{
my $ryList = shift;
my @stryQuoteList;
foreach my $strItem (@{$ryList})
{
push(@stryQuoteList, "\"${strItem}\"");
}
return @stryQuoteList;
}
push @EXPORT, qw(bldQuoteList);
1;