#!/usr/bin/perl -w # # Project Builder configuration file handler # For project pb ;-) # # $Id$ # use strict; use AppConfig qw(ARGCOUNT_HASH); use Data::Dumper; sub pb_init { my $conffile = shift; my $ptr; my $config = AppConfig->new({ # Auto Create variables mentioned in Conf file CREATE => 1, DEBUG => 1, GLOBAL => { # Each conf item is a hash DEFAULT => { }, ARGCOUNT => AppConfig::ARGCOUNT_HASH, } }); $config->file($conffile); # Root of the project to build # needs at least 2 levels of dir as in the upper # other dirs will be created and used # main parameter hash (mandatory) $ptr = $config->get("confparam") || die "Unable to find confparam in $conffile"; %confparam = %$ptr; print "confparam: ".Dumper($ptr)."\n"; # List of pkg to build by default (mandatory) $ptr = $config->get("defpkgdir") || die "Unable to find defpkgdir in $conffile"; %defpkgdir = %$ptr; print "defpkgdir: ".Dumper($ptr)."\n"; # List of additional pkg to build when all is called (optional) $ptr = $config->get("extpkgdir"); print "extpkgdir1: ".Dumper($ptr)."\n"; if (not defined $ptr) { %extpkgdir = (); } else { %extpkgdir = %$ptr; } print "extpkgdir: ".Dumper(\%extpkgdir)."\n"; # Valid version names (optional) $ptr = $config->get("version"); if (not defined $ptr) { %version = (); } else { %version = %$ptr; } print "version: ".Dumper(\%version)."\n"; # List of files to filter (optional) $ptr = $config->get("filteredfiles"); if (not defined $ptr) { %filteredfiles = (); } else { %filteredfiles = %$ptr; } print "filteredfiles: ".Dumper(\%filteredfiles)."\n"; } 1;