App-Requirement-Arch

 view release on metacpan or  search on metacpan

lib/App/Requirement/Arch/Filter.pm  view on Meta::CPAN

=item * $sources -

=item * $master_template_file -

=item * $master_category_definition_file -

=item * $show_abstraction_level -

=item * $remove_empty_requirement_field_in_categories -

=item * $include_not_found -

=item * $include_statistics -

=item * $include_description_data -

=item * $description_fields_to_keep -

=item * $display_multiline_as_array -

=item * $include_categories -

lib/App/Requirement/Arch/Filter.pm  view on Meta::CPAN

=cut


my
	(
	$sources,
	$master_template_file,
	$master_category_definition_file,
	$show_abstraction_level,
	$remove_empty_requirement_field_in_categories,
	$include_not_found,
	$include_statistics,
	$include_description_data,
	$description_fields_to_keep,
	$display_multiline_as_array,
	$include_categories,
	$keep_types,
	) = @_ ;
	
my ($requirements_structure, $requirements, $categories, $ok_parsed, $errors) = get_requirements_structure($sources, $master_template_file) ;

lib/App/Requirement/Arch/Filter.pm  view on Meta::CPAN

	delete $categories->{$category_name}{_FILES} ;
	delete $categories->{$category_name}{_ENTRIES} ;
	}

keep_requirements_of_type($categories, $requirements, $remove_empty_requirement_field_in_categories, $keep_types) ;
inherit_categories($requirements_structure, $requirements) ;
count_missing_elements($requirements_structure) ;
show_abstraction_level($requirements) if $show_abstraction_level ;
merge_and_check_master_category_definition($master_category_definition_file, $requirements_structure) ;

unless($include_not_found)
	{
	delete $requirements_structure->{NOT_FOUND} ;
	}
	
unless($include_statistics)
	{
	delete $requirements_structure->{STATISTICS} ;
	}

for my $requirement_name (keys %{$requirements})

scripts/examples/command_line_examples.txt  view on Meta::CPAN

 
nadim@naquadim Arch (master)$ ./Build ; perl -Mblib scripts/ra_show_flat.pl --master_categories_file scripts/templates/master_categories.pl --master_template_file scripts/templates/master_template.pl --include_not_found --include_statistics --show_ab...

nadim@naquadim Arch (master)$ ./Build ; perl -Mblib scripts/ra_show.pl --include_not_found --include_statistics --format text  --show_abstraction_level --include_description_data --include_categories --include_type requirement --include_loaded_from -...


scripts/ra_edit.pl  view on Meta::CPAN

	{
	my $category_structure = load_master_categories($master_categories_file) ;

	my ($requirements_structure, $requirements, $categories, $ok_parsed, $errors)
		= get_requirements_structure($requirement_file, $master_template_file) ;
	
	my ($in_master_only, $in_requirements_only) = merge_master_categories($category_structure, $requirements_structure, '') ;

	for ( grep {$_ ne '/NOT_CATEGORIZED' and $_ ne '/STATISTICS'} sort keys %{$in_requirements_only})
		{
		push @{ $violations->{$requirement_file}{not_in_master_categories}}, $_ ;
		}
	}
	
return $violations ;	
}

scripts/ra_show.pl  view on Meta::CPAN

				      
  --include_categories          the document will contain the categories field
  
  --remove_empty_requirement_field_in_categories
				categories without requirements will not 
				include the '_REQUIREMENTS' field
  
  --include_statistics          include the statistics gathered while parsing 
                                the requirements
				
  --include_not_found           include the section about referenced but not 
                                found requirements
  --include_loaded_from         include where the physical file location of the
                                requirement is
  
Output
	The document is output on STDOUT.
	
	Information about the master categories and categories used
	in the requirements is output on STDERR.
	

scripts/ra_show.pl  view on Meta::CPAN


exit(1) ;
}

#------------------------------------------------------------------------------------

my 
	(
	@include_types, $include_description_data,
	$include_categories, $remove_empty_requirement_field_in_categories,
	$include_not_found, $include_statistics,
	$show_abstraction_level, 
	$flat_html_title, $flat_html_header_file, $flat_html_comment,
	$include_loaded_from,
	$master_template_file, $master_categories_file,
	$requirement_fields_filter_file, $flat_requirement_fields_filter_file,
	) ;



my $format = '' ;

die 'Error parsing options!'unless 
	GetOptions
		(
		'include_type=s' => \@include_types,
		'include_description_data' => \$include_description_data,
		'include_categories' => \$include_categories,
		'remove_empty_requirement_field_in_categories' => \$remove_empty_requirement_field_in_categories,
		'include_not_found' => \$include_not_found,
		'include_statistics' => \$include_statistics,
		'show_abstraction_level' => \$show_abstraction_level, 
		'format=s' => \$format,
		'include_loaded_from' => \$include_loaded_from,
		'master_template_file=s' => \$master_template_file,
		'master_categories_file=s' => \$master_categories_file,
		'requirement_fields_filter_file=s' => \$requirement_fields_filter_file, 
		'h|help' => \&display_help, 
		
		'dump_options' => 
			sub 
				{
				print join "\n", map {"-$_"} 
					qw(
					include_type
					include_description_data
					include_categories
					remove_empty_requirement_field_in_categories
					include_not_found
					include_statistics
					show_abstraction_level
					format
					include_loaded_from
					master_template_file
					master_categories_file
					requirement_fields_filter_file
					help
					) ;
				exit(0) ;

scripts/ra_show.pl  view on Meta::CPAN

	/^text/ and do
		{
		my ($requirements_structure, $requirements, $categories) 
			= load_and_filter_requirements
				(
				$sources,
				$master_template_file,
				$master_categories_file,
				$show_abstraction_level,
				$remove_empty_requirement_field_in_categories,
				$include_not_found,
				$include_statistics,
				$include_description_data,
				\%requirement_fields,
				1,  #$display_multiline_as_array,
				$include_categories,
				\@include_types,
				) ;

		generate_text_document($requirements_structure) ;
		last ;

scripts/ra_show.pl  view on Meta::CPAN

	/^dhtml/ and do
		{
		my ($requirements_structure, $requirements, $categories)
			= load_and_filter_requirements
				(
				$sources,
				$master_template_file,
				$master_categories_file,
				$show_abstraction_level,
				$remove_empty_requirement_field_in_categories,
				$include_not_found,
				$include_statistics,
				$include_description_data,
				\%requirement_fields,
				1, #$display_multiline_as_array,
				$include_categories,
				\@include_types,
				) ;
				
		generate_dhtml_document($requirements_structure) ;
		last ;

scripts/ra_show_flat.pl  view on Meta::CPAN

				      
  --include_categories          the document will contain the categories field
  
  --remove_empty_requirement_field_in_categories
				categories without requirements will not 
				include the '_REQUIREMENTS' field
  
  --include_statistics          include the statistics gathered while parsing 
                                the requirements
				
  --include_not_found           include the section about referenced but not 
                                found requirements
  --include_loaded_from         include where the physical file location of the
                                requirement is
  
Output
	The document is output on STDOUT.
	
	Information about the master categories and categories used
	in the requirements is output on STDERR.
	

scripts/ra_show_flat.pl  view on Meta::CPAN


exit(1) ;
}

#------------------------------------------------------------------------------------

my 
	(
	@include_types, $include_description_data,
	$include_categories, $remove_empty_requirement_field_in_categories,
	$include_not_found, $include_statistics,
	$show_abstraction_level, @keep_abstraction_level,
	$flat_html_title, $flat_html_header_file, $flat_html_comment,
	$include_loaded_from,
	$master_template_file, $master_categories_file,
	$requirement_fields_filter_file, $flat_requirement_fields_filter_file,
	) ;

die 'Error parsing options!'unless 
	GetOptions
		(
		'include_type=s' => \@include_types,
		'include_description_data' => \$include_description_data,
		'include_categories' => \$include_categories,
		'remove_empty_requirement_field_in_categories' => \$remove_empty_requirement_field_in_categories,
		'include_not_found' => \$include_not_found,
		'include_statistics' => \$include_statistics,
		'show_abstraction_level' => \$show_abstraction_level, 
		'keep_abstraction_level=s' => \@keep_abstraction_level,
		'title=s' => \$flat_html_title,
		'header_file=s' => \$flat_html_header_file,
		'comment=s' => \$flat_html_comment,
		'include_loaded_from' => \$include_loaded_from,
		'master_template_file=s' => \$master_template_file,
		'master_categories_file=s' => \$master_categories_file,
		'flat_requirement_fields_filter_file=s' => \$flat_requirement_fields_filter_file,

scripts/ra_show_flat.pl  view on Meta::CPAN

		
		'dump_options' => 
			sub 
				{
				print join "\n", map {"-$_"} 
					qw(
					include_type
					include_description_data
					include_categories
					remove_empty_requirement_field_in_categories
					include_not_found
					include_statistics
					show_abstraction_level
					keep_abstraction_level
					title
					header_file
					comment
					include_loaded_from
					master_template_file
					master_categories_file
					flat_requirement_fields_filter_file

scripts/ra_show_flat.pl  view on Meta::CPAN

$flat_requirement_fields{'_LOADED_FROM'} = 1 if $include_loaded_from ;

my ($requirements_structure, $requirements, $categories) 
	= load_and_filter_requirements
		(
		$sources,
		$master_template_file,
		$master_categories_file,
		$show_abstraction_level,
		$remove_empty_requirement_field_in_categories,
		$include_not_found,
		$include_statistics,
		1, # $include_description_data,
		\%flat_requirement_fields,
		0, #$display_multiline_as_array,
		1, #$include_categories,
		\@include_types,
		) ;

keep_abstraction_level_requirements($requirements, @keep_abstraction_level) ;



( run in 1.378 second using v1.01-cache-2.11-cpan-cc502c75498 )