12 |
|
$Arch=1; |
13 |
|
push @ARCHBLOCK, $Arch; |
14 |
|
|
15 |
< |
sub BuildClientFile($projectfile) { |
15 |
> |
sub BuildClientFile { |
16 |
|
my $projectfile=shift; |
17 |
+ |
use ToolBox; |
18 |
+ |
|
19 |
+ |
openclientfile('new') and return; |
20 |
+ |
$toolbox=ToolBox->new(); |
21 |
+ |
print CLIENT "# Machine Generated File - do not edit\n"; |
22 |
+ |
_ParseProjectReqs($projectfile); |
23 |
+ |
&closeclientfile; |
24 |
+ |
} |
25 |
+ |
|
26 |
+ |
sub closeclienfile { |
27 |
+ |
close INSTALLLOG; |
28 |
+ |
close CLIENT; |
29 |
+ |
close CLIENT2; |
30 |
+ |
} |
31 |
+ |
|
32 |
+ |
sub openclientfile { |
33 |
+ |
my $action=shift; |
34 |
|
my $archdir=".SCRAM/$ENV{SCRAM_ARCH}"; |
35 |
|
my $clientfile="$archdir/clientsettings"; |
36 |
|
use Utilities::AddDir; |
20 |
– |
use ToolBox; |
37 |
|
|
38 |
|
AddDir::adddir($archdir); |
39 |
< |
initialiseclient($clientfile) or return; # get out if it already exists |
40 |
< |
$toolbox=ToolBox->new(); |
41 |
< |
open ( CLIENT, ">$ENV{LOCALTOP}/$clientfile" ) || |
39 |
> |
if ( $action=~/add/i ) { |
40 |
> |
$actionop='>>'; |
41 |
> |
initialiseclient($clientfile); |
42 |
> |
} |
43 |
> |
else { #default is new |
44 |
> |
$actionop='>'; |
45 |
> |
initialiseclient($clientfile) or return 1; # get out if it already exists |
46 |
> |
} |
47 |
> |
open ( CLIENT, "$actionop$ENV{LOCALTOP}/$clientfile" ) || |
48 |
|
die "clientfile: Cannot open clientsettings file " |
49 |
|
."$clientfile $!\n"; |
50 |
< |
open ( CLIENT2, ">$ENV{LOCALTOP}/".$clientfile."_reqs" ) || |
50 |
> |
open ( CLIENT2, "$actionop$ENV{LOCALTOP}/".$clientfile."_reqs" ) || |
51 |
|
die "clientfile: Cannot open clientsettings file " |
52 |
|
."$clientfile $!\n"; |
53 |
< |
open (INSTALLLOG, ">$archdir/installation_log") |
53 |
> |
open (INSTALLLOG, "$actionop$archdir/installation_log") |
54 |
|
|| die "clientfile: Cannot open log file $!\n"; |
55 |
< |
print CLIENT "# Machine Generated File - do not edit\n"; |
34 |
< |
_ParseProjectReqs($projectfile); |
35 |
< |
close INSTALLLOG; |
36 |
< |
close CLIENT; |
37 |
< |
close CLIENT2; |
55 |
> |
return 0; |
56 |
|
} |
57 |
|
|
58 |
< |
sub _ParseProjectReqs($reqfile) { |
58 |
> |
sub _ParseProjectReqs { |
59 |
|
my $reqfile=shift; |
60 |
|
use Utilities::Switcher; |
61 |
|
|
92 |
|
# |
93 |
|
#--------------------------------------------------------------------------- |
94 |
|
|
95 |
< |
sub _gettool($toolurl) { |
95 |
> |
sub _gettool { |
96 |
|
# set the $toolfile variable |
97 |
|
my $toolurl=shift; |
98 |
|
my @toolpath= split /:/, $ENV{SCRAM_BootStrapFiles}; |
174 |
|
$toolswitch->checkparam( $hashref, $name, 'ref' ); |
175 |
|
print CLIENT2 <<ENDTEXT; |
176 |
|
ifdef $toolname |
177 |
< |
$$hashref{ref}=true\n"; |
177 |
> |
$$hashref{ref}=true |
178 |
|
endif |
179 |
|
ENDTEXT |
180 |
|
} |
590 |
|
if ( ! (-f "$ENV{LOCALTOP}/$clientfile" ) ) { |
591 |
|
copy ( "$ENV{RELEASETOP}/$clientfile","$ENV{LOCALTOP}/$clientfile" ); |
592 |
|
} |
593 |
+ |
if ( ! (-f "$ENV{LOCALTOP}/".$clientfile."_reqs" ) ) { |
594 |
+ |
copy ( "$ENV{RELEASETOP}/".$clientfile."_reqs","$ENV{LOCALTOP}/".$clientfile."_reqs" ); |
595 |
+ |
} |
596 |
|
# now read it in to memory for future reference |
597 |
|
open (CLIENTFILEIN, "<$ENV{LOCALTOP}/$clientfile") or return 1; |
598 |
|
($name, $version, $var, @rest ) = split /:/; |