ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/BuildSystem/Requirements.pm
(Generate patch)

Comparing COMP/SCRAM/src/BuildSystem/Requirements.pm (file contents):
Revision 1.3 by williamc, Tue Nov 28 16:12:21 2000 UTC vs.
Revision 1.10 by sashby, Tue Dec 4 19:24:04 2001 UTC

# Line 47 | Line 47 | sub url {
47          return $self->{file}
48   }
49  
50 < sub setup {
51 <        my $self=shift;
52 <        my $toolbox=shift;
53 <
54 <        my $tool;
55 <        foreach $tool ( $self->selectedtools() ) {
56 <          $self->verbose("Setting Up Tool $tool");
57 <          $toolbox->toolsetup($tool, $self->version($tool), $self->toolurl($tool));
58 <        }
59 < }
50 > sub setup
51 >   {
52 >   my $self=shift;
53 >   my $toolbox=shift;
54 >   my $tool;
55 >
56 >   foreach $tool ( $self->selectedtools() )
57 >      {
58 >      $self->verbose("Setting Up Tool $tool");
59 >      $toolbox->toolsetup($tool, $self->version($tool), $self->toolurl($tool));
60 >      }
61 >   }
62  
63   sub tools {
64          my $self=shift;
65          return @{$self->{tools}};
66   }
67  
68 < sub selectedtools {
69 <        my $self=shift;
70 <        my @toollist=();
71 <        foreach $tool (  @{$self->{tools}} ) {
72 <          if ( $self->{selected}{$tool} == 1 ) {
73 <                push @toollist, $tool;
74 <          }
75 <        }
76 <        return @toollist;
77 < }
68 > sub selectedtools
69 >   {
70 >   my $self=shift;
71 >   my @toollist=();
72 >
73 >   foreach $tool (  @{$self->{tools}} )
74 >      {
75 >      if ( $self->{selected}{$tool} eq "SELECTED" )
76 >         {
77 >         $self->verbose(">> Adding tool $tool to list of selected tools");
78 >         push @toollist, $tool;
79 >         }
80 >      $self->verbose(">> Tool $tool was deselected");
81 >      }
82 >   return @toollist;
83 >   }
84  
85   sub toolcomment {
86          my $self=shift;
# Line 156 | Line 164 | sub init {
164          }
165          else {
166            $self->verbose("wrong doc type - not parsing");
159          #print "wrong doc version - not parsing\n";
167          }
168   }
169  
# Line 230 | Line 237 | sub Restrict_start {
237   sub Restrict_end {
238          my $self=shift;
239          my $name=shift;
240 <
240 >        
241          if ( $self->{Arch} ) {
242          if ( $#{$self->{restrictstack}} >= 0 ) {
243            $self->_autoselect(pop @{$self->{restrictstack}});
# Line 249 | Line 256 | sub require_start {
256          $self->{switch}->checktag( $name, $hashref, 'version');
257          $self->{switch}->checktag( $name, $hashref, 'name');
258          $self->{switch}->checktag( $name, $hashref, 'url');
259 <
259 >        
260          if ( $self->{reqcontext} == 1 ) {
261            $self->{switch}->parseerror(
262 <                "Open new $name conext without previous </$name>");
262 >                "Open new $name context without previous </$name>");
263          }
264          $self->{reqcontext}=1;
265          $$hashref{'name'}=~tr[A-Z][a-z];
# Line 262 | Line 269 | sub require_start {
269          my $urlobj=$self->{switch}->expandurl($$hashref{'url'});
270          $self->{url}{$$hashref{'name'}}=$urlobj->url();
271  
272 +
273 +        # Disable the auto select mechanism. Now, we start with
274 +        # all tools having a flag "UNSELECTED". Then we choose
275 +        # which we wish to select:
276 +        if ( $self->{Arch} )
277 +           {
278 +            $self->{selected}{$$hashref{'name'}}="UNSELECTED";
279 +           }
280 +
281          # -- selection
282 <        if ( $self->{Arch} ) {
283 <          if ( $self->_autoselect() ) {
284 <             $self->{selected}{$$hashref{'name'}}=1;
285 <          }
286 <          else {
287 <             $self->{selected}{$$hashref{'name'}}=0;
288 <          }
289 <        }
282 > #       if ( $self->{Arch} ) {
283 > #         if ( $self->_autoselect() ) {
284 > #            $self->{selected}{$$hashref{'name'}}="UNSELECTED";
285 > #         }
286 > #         else {
287 > #            $self->{selected}{$$hashref{'name'}}="DESELECTED";
288 > #         }
289 > #       }
290 >
291 >        # Output the tool name here with the value
292 >        # of its' select flag:
293 >        $self->verbose(">> Tool name: ".$$hashref{'name'}." sel/desel flag value: ".
294 >                       $self->{selected}{$$hashref{'name'}} ." ");
295 >
296          $self->{creqtool}=$$hashref{'name'};
297          $self->{creqversion}=$$hashref{'version'};
298          $self->{reqtext}{$self->{creqtool}}{$self->{creqversion}}="";
# Line 300 | Line 322 | sub require_end {
322          }
323   }
324  
325 < sub select_start {
326 <        my $self=shift;
327 <        my $name=shift;
328 <        my $hashref=shift;
329 <
330 <        $self->{switch}->checktag( $name, $hashref, 'name');
331 <        $$hashref{'name'}=~tr[A-Z][a-z];
332 <        if ( $self->{Arch} ) {
333 <           $self->verbose("Selecting ".$$hashref{'name'});
334 <           $self->{selected}{$$hashref{'name'}}=1;
335 <        }
336 < }
337 <
338 < sub deselect_start {
339 <        my $self=shift;
340 <        my $name=shift;
341 <        my $hashref=shift;
342 <
343 <        $self->{switch}->checktag( $name, $hashref, 'name');
344 <        $$hashref{'name'}=~tr[A-Z][a-z];
345 <        if ( $self->{Arch} ) {
346 <           $self->verbose("Deselecting ".$$hashref{'name'});
347 <           $self->{selected}{$$hashref{'name'}}=0;
348 <        }
349 < }
325 > sub select_start
326 >   {
327 >   my $self=shift;
328 >   my $name=shift;
329 >   my $hashref=shift;
330 >
331 >   $self->{switch}->checktag( $name, $hashref, 'name');
332 >   $$hashref{'name'}=~tr[A-Z][a-z];
333 >   if ( $self->{Arch} )
334 >      {
335 >      $self->verbose("Selecting ".$$hashref{'name'});
336 >      $self->{selected}{$$hashref{'name'}} = "SELECTED";
337 >      $self->verbose(">> Tool select flag = ".$self->{selected}{$$hashref{'name'}}."\n");
338 >      }
339 >   }
340 >
341 > sub deselect_start
342 >   {
343 >   my $self=shift;
344 >   my $name=shift;
345 >   my $hashref=shift;
346 >  
347 >   $self->{switch}->checktag( $name, $hashref, 'name');
348 >   $$hashref{'name'}=~tr[A-Z][a-z];
349 >   if ( $self->{Arch} )
350 >      {
351 >      $self->verbose("Deselecting ".$$hashref{'name'});
352 >      $self->{selected}{$$hashref{'name'}} = "DESELECTED";
353 >      $self->verbose(">> Tool select flag = ".$self->{selected}{$$hashref{'name'}}."\n");
354 >      }
355 >   }
356  
357   sub Arch_Start {
358          my $self=shift;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines