App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/developer/code/sunix/sudoc2pm_pt1.pl  view on Meta::CPAN

=head1 DOCUMENTATION

=head2 SYNOPSIS

PROGRAM NAME:  sudoc2pm_pt1.pm							

 AUTHOR: Juan Lorenzo
 DATE:   Jan 25 2018 
 DESCRIPTION: generate (1) package for sunix module
 			  and (2) configuration file for the same sunix module
 Version: 1.0.0
 1.1 May 2021: updated file searches in directories

=head2 USE

Build new files: ~/configs/"program_group_name"/"module".config
                 ~/sunix/"program_group_name"/"module".pm and 
                 ~specs/"program_group_name"/"module"_spec
 and modify old files: 
                 ~/misc/L_SU_global_constants.pm

=head3 NOTES
ramp

0. make sure that the documentation
exists for the program in the 
"Stripped"  directory

Modify "nameNnumber.txt" with the correct base
file name and number
e.g. susynlv 7

define program ONLY within a
developer category in L_SU_global_constants.pm 
L 234

define program in two locations within
L_SU_path for hash and the colon definitions

After running this script
and before running sudoc2pm_pt2.pl:
modify "module".config file , as needed

modify *_spec to include bindings to directories


=head4 Examples:

perl sudoc2pm_pt1.pl

=head3 NOTES

 Program group array and the directory names:

$developer_sunix_categories[0]  = 'data';
$developer_sunix_categories[1]  = 'datum';
$developer_sunix_categories[2]  = 'plot';
$developer_sunix_categories[3]  = 'filter';
$developer_sunix_categories[4]  = 'header';
$developer_sunix_categories[5]  = 'inversion';
$developer_sunix_categories[6]  = 'migration';
$developer_sunix_categories[7]  = 'model';
$developer_sunix_categories[8]  = 'NMO_Vel_Stk';
$developer_sunix_categories[9]  = 'par';
$developer_sunix_categories[10] = 'picks';
$developer_sunix_categories[11] = 'shapeNcut';
$developer_sunix_categories[12] = 'shell';
$developer_sunix_categories[13] = 'statsMath';
$developer_sunix_categories[14] = 'transform';
$developer_sunix_categories[15] = 'well';
$developer_sunix_categories[16] = 'unix';
$developer_sunix_categories[17] = '';
  	
 	QUESTION 1:
Which group number do you want to use to create
for *.pm, *.config, and *_spec.pm files ?

e.g., for transforms use:
$sunix_category_number = 15
	

=head2 CHANGES and their DATES

=cut

use Moose;
our $VERSION = '1.1.0';

use aliased 'App::SeismicUnixGui::developer::code::sunix::sudoc';
use aliased 'App::SeismicUnixGui::developer::code::sunix::sunix_package';
use aliased 'App::SeismicUnixGui::developer::code::sunix::prog_doc2pm';
use aliased 'App::SeismicUnixGui::developer::code::sunix::sudoc2pm_nameNnumber';

my $sudoc       			= sudoc->new();
my $sunix_package     		= sunix_package->new();
my $prog_doc2pm 			= prog_doc2pm->new();
my $sudoc2pm_nameNnumber    = sudoc2pm_nameNnumber->new();

my ( @file_in, @pm_file_out );
my (@config_file_out);
my (@spec_file_out);
my (@path_out);
my ($i);
my @file;



( run in 1.272 second using v1.01-cache-2.11-cpan-2398b32b56e )