OCBNET-WebSprite
view release on metacpan or search on metacpan
my $data = File::Slurp::read_file($filename, $file_opt);
if ($data =~ m/$re_version/i) {
print " $filename ($1)\n";
} else {
print " $filename ([NA])\n";
}
}
} else {
die "git directory not found";
}
}
# ./Build versionize [2.4.6]
sub ACTION_versionize {
if (-d ".git") {
my $tag;
require File::Slurp;
@files = grep { m/.pm$/i } split /\r?\n/, `git ls-files`;
for(my $i = 0; $i < scalar(@ARGV) - 1; $i++) {
if ($ARGV[$i] eq "versionize") {
$tag = $ARGV[$i+1]; last;
}
}
unless ($tag) {
$tag = `git describe --abbrev=0 --always`;
$tag =~ s/(?:\A\s+|\Av|\s+\z)//g;
unless ( $tag =~ m/(\d+\.\d+\.)(\d+)(?:\-|\z)/ )
{ die "tag <$tag> invalid (\\d+.\\d+.\\d+)\n"; }
# increment patch level
else { $tag = $1 . ($2 + 1); }
}
$tag =~ s/(?:\A\s+|\Av|\s+\z)//g;
my $file_opt = { binmode => ':raw' };
print "update *.pm with new version <$tag>\n";
unless ( $tag =~ m/(\d+\.\d+\.)(\d+)(?:\-|\z)/ )
{ die "tag <$tag> invalid (\\d+.\\d+.\\d+)\n"; }
foreach my $filename (@files) {
my $data = File::Slurp::read_file($filename, $file_opt);
if ($data =~ s/$re_version/our \$VERSION = \'$tag\';/i) {
next if $tag eq $1;
print " update version $filename (was $1)\n";
File::Slurp::write_file($filename, $file_opt, $data);
}
}
} else {
die "git directory not found";
}
}
SUBCLASS
# default image library
# pick easiest to install
my $gfx_module = 'GD';
# check if libraries are installed
if (eval { require GD })
{ $gfx_module = "GD" }
elsif (eval { require Graphics::Magick })
{ $gfx_module = "Graphics::Magick" }
elsif (eval { require Image::Magick })
{ $gfx_module = "Image::Magick" }
# if anyone knows a better way to do this, please elaborate :)
warn "Choosen gfx-lib <$gfx_module>\n";
# initialize custom module build object
my $builder = Module::Build::Custom->new(
module_name => 'OCBNET::WebSprite',
license => 'GPL_3',
dist_author => q{Marcel Greter <marcel.greter@ocbnet.ch>},
dist_abstract => 'WebSprite generator from annotated CSS',
dist_version_from => 'lib/OCBNET/WebSprite.pm',
release_status => 'stable',
create_license => 1,
configure_requires => {
'Module::Build' => 0,
'Software::License' => 0
},
build_requires => {
'Test::More' => 0,
'File::Which' => 0
},
requires => {
'OCBNET::CSS3' => 0,
'File::Slurp' => 0,
$gfx_module => 0,
},
meta_merge => {
'meta-spec' => { version => 2 },
resources => {
repository => {
type => 'git',
url => 'https://github.com/mgreter/OCBNET-WebSprite.git',
web => 'https://github.com/mgreter/OCBNET-WebSprite',
}
},
},
add_to_cleanup => [ 'OCBNET-WebSprite-*' ],
$Config{cc} eq 'clang' ? (
# clang has a bunch of asinine warnings on by default:
extra_compiler_flags => '-Wno-parentheses -Wno-tautological-compare -Wno-unused-value',
) : (),
extra_linker_flags => '',
);
$builder->create_build_script();
( run in 1.548 second using v1.01-cache-2.11-cpan-39bf76dae61 )