X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-Dist-Zilla-PluginBundle-Author-CCM;a=blobdiff_plain;f=lib%2FDist%2FZilla%2FPluginBundle%2FAuthor%2FCCM.pm;h=a64c1a590303e9a91ce9b9233c496ebe9a7a4726;hp=7381c41c01c89818c81c03f5cd9be6a3dbbdea18;hb=ed0d6422ffd12219c90bf0dd8261e6217e31b284;hpb=467fb76175d0ae29aafd792bd22ba033705ea0d7 diff --git a/lib/Dist/Zilla/PluginBundle/Author/CCM.pm b/lib/Dist/Zilla/PluginBundle/Author/CCM.pm index 7381c41..a64c1a5 100644 --- a/lib/Dist/Zilla/PluginBundle/Author/CCM.pm +++ b/lib/Dist/Zilla/PluginBundle/Author/CCM.pm @@ -17,9 +17,6 @@ You probably don't want to use this. [ReversionOnRelease] prompt = 1 - [ExecDir] - [ExtraTests] - ; GATHER [Git::GatherDir] exclude_filename = LICENSE @@ -30,6 +27,7 @@ You probably don't want to use this. [CopyFilesFromBuild] copy = LICENSE + [ExecDir] ; PREREQS [AutoPrereqs] @@ -93,6 +91,7 @@ You probably don't want to use this. ; RELEASE [CheckChangesHasContent] [Git::Check] + [RunExtraTests] [TestRelease] [ConfirmRelease] [UploadToCPAN] ; disable with the "no_upload" attribute @@ -125,6 +124,22 @@ use Dist::Zilla::Util; use Moose; use namespace::autoclean; +=attr authority + +Specify the release authority. Defaults to C. + +=cut + +has authority => ( + is => 'ro', + isa => 'Str', + lazy => 1, + default => sub { + my $self = shift; + $self->payload->{'Authority.authority'} // $self->payload->{authority} // 'cpan:CCM'; + }, +); + =attr installer Specify which installer to use, such as: @@ -157,7 +172,7 @@ has airplane => ( =attr no_upload -Do not upload to CPAN. +Do not upload to CPAN or git push. =cut @@ -165,7 +180,7 @@ has no_upload => ( is => 'ro', isa => 'Bool', lazy => 1, - default => 0, + default => sub { $ENV{DZIL_NO_UPLOAD} // shift->payload->{no_upload} // 0 }, ); =method configure @@ -177,6 +192,10 @@ Required by L. sub configure { my $self = shift; + if ($self->no_upload) { + print '[@Author::CCM] WARNING! WARNING! WARNING! *** You are in no_upload mode!! ***', "\n"; + } + my @copy_from_build = qw(LICENSE); my @network_plugins = qw(Git::Push Test::Pod::No404s UploadToCPAN); my @gather_exclude = (@copy_from_build, qw(README.md)); @@ -193,15 +212,13 @@ sub configure { ['NextRelease'], ['ReversionOnRelease' => {prompt => 1}], - ['ExecDir'], - ['ExtraTests'], - # GATHER ['Git::GatherDir' => {exclude_filename => [@gather_exclude]}], ['PruneCruft'], ['PruneFiles' => {filename => [@gather_prune]}], ['CopyFilesFromBuild' => {copy => [@copy_from_build]}], + ['ExecDir'], # PREREQS ['AutoPrereqs'], @@ -223,7 +240,7 @@ sub configure { ['Test::ReportPrereqs'], # METADATA - ['Authority' => {do_munging => 0}], + ['Authority' => {authority => $self->authority, do_munging => 0}], ['MetaJSON'], ['MetaYAML'], ['MetaNoIndex' => {directory => [@no_index]}], @@ -249,13 +266,14 @@ sub configure { # RELEASE ['CheckChangesHasContent'], ['Git::Check' => {allow_dirty => [@allow_dirty], untracked_files => 'ignore'}], + ['RunExtraTests'], ['TestRelease'], # ['ConfirmRelease'], $self->no_upload ? ['FakeRelease'] : ['UploadToCPAN'], ['Git::Commit' => {allow_dirty => [@allow_dirty], commit_msg => 'Release %N %v%t%n%n%c'}], ['Git::CommitBuild' => {branch => '', release_branch => 'dist', release_message => 'Version %v%t'}], ['Git::Tag' => {tag_message => 'Version %v%t%n%n%c'}], - ['Git::Push' => {push_to => 'origin master +master:refs/heads/release +dist', remotes_must_exist => 0}], + $self->no_upload ? () : ['Git::Push' => {push_to => 'origin master +master:refs/heads/release +dist', remotes_must_exist => 0}], );