App-Midgen

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

 - fix issue with 2nd part of mro catch to only recast for meta1
 - re-write parts of Eval
 - various tweaks to tidy up the display of found data via verbose

0.31_05 2014-03-22
 - add MRO::Compat meta-1.x recast
 - tweak logic to ignore mro - MRO::Compact regardless
 - add skip to ignore unknown modules in t/

0.31_03 2014-03-22
 - add heuristics catach for runtimerecommends -> runtimerequires
 - add heuristics catach for testsuggests -> testrequires
 - do phase_relationship ajustment before calling output formats

0.31_01 2014-03-17
 - Add phase-requirments to infiles data store
 - Add pmv mro catch
 - Add catch for MRO::Compat tidy up
 - Retain the search phase-relationship for some more huristics

0.30 2014-03-12

Changes  view on Meta::CPAN

 - Add method _is_perl to better test for vaild perl files
 - A major refactoring to speed up operation
 - base/parent know handles parent -norequire
 - Do a version check for mojo catch
 - Add no_index to Output
 - More info output as food for thought

0.10 2013-02-22
 - be tougher on edge cases checking in tests for lines begin with use
 - stop looking when we have found a couple of files for a package name
 - add a timer to add with perception
 - tidy some reg-ex up, some pbp to boot
 - adding twins checking
 - lets do some composition composed methods
 - handle a test output without a package name azawawi++ [0583fda]
 - adjust test so that we don't duplicate recommends
 - Output format various changes
 - Update Changes and tidy

0.08 2013-02-13
 - tweak the wiki page [582b3a1]

lib/App/Midgen.pm  view on Meta::CPAN

	try {
		$self->first_package_name();
	};


	$self->find_runtime_modules();
	$self->find_test_modules();
	$self->find_develop_modules() if $self->experimental;

	#now for some Heuristics :)
	$self->recast_to_runtimerequires($self->{RuntimeRequires},
		$self->{RuntimeRecommends});
	$self->recast_to_testrequires($self->{TestRequires}, $self->{TestSuggests});

	# Now we have switched to MetaCPAN-Api we can hunt for noisy children in tests
	if ($self->experimental) {

		$self->remove_noisy_children($self->{RuntimeRequires});
		$self->remove_twins($self->{RuntimeRequires});

		# Run a second time if we found any twins, this will sort out twins and triplets etc

lib/App/Midgen/Role/Heuristics.pm  view on Meta::CPAN

use Moo::Role;
requires qw( debug meta2 format );

use Try::Tiny;
use Data::Printer {caller_info => 1,};
use Term::ANSIColor qw( :constants colored colorstrip );


#######
# correct incorrectly cast modules as RuntimeRecommends and re-cast as RuntimeRequires
# recast_to_runtimerequires
#######
sub recast_to_runtimerequires {
	my $self           = shift;
	my $requires_ref   = shift || return;
	my $recommends_ref = shift || return;

	#extract module names to check from RuntimeRecommends bucket
	my @runtime_recommends;
	foreach my $current_recommends (sort keys %{$recommends_ref}) {
		push @runtime_recommends, $current_recommends;
	}

lib/App/Midgen/Role/Heuristics.pm  view on Meta::CPAN

App::Midgen::Roles::Heuristics - used by L<App::Midgen>

=head1 VERSION

version: 0.34

=head1 METHODS

=over 4

=item * recast_to_runtimerequires

Correct incorrectly cast modules as RuntimeRecommends and re-cast as RuntimeRequires

=item * recast_to_testrequires

Correct incorrectly cast modules as TestSuggests and re-cast as TestRequires

=item * remove_inc_mi

=back



( run in 2.899 seconds using v1.01-cache-2.11-cpan-49f99fa48dc )