diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2003-06-10 17:54:16 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2003-06-10 17:54:16 +0000 |
commit | 34a5c0766194acf1e8d831c31ae7731e5042caf9 (patch) | |
tree | 842fb941523a075c1b169b029c4dec8c4f7063d6 | |
parent | 77a52c9423f7a3c224415512daf3879bba2c29d0 (diff) | |
download | ATCD-34a5c0766194acf1e8d831c31ae7731e5042caf9.tar.gz |
ChangeLogTag: Tue Jun 10 12:50:16 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 19 |
2 files changed, 19 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index e46b5b9ae43..18c661710d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Jun 10 12:50:16 2003 Chad Elliott <elliott_c@ociweb.com> + + * bin/MakeProjectCreator/modules/ProjectCreator.pm: + + Only read in a base project if it hasn't been read for the current + project. + Tue Jun 10 11:35:29 2003 Chad Elliott <elliott_c@ociweb.com> * bin/create_ace_build: diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm index e3f9a5b1fbe..c2c7697f614 100644 --- a/bin/MakeProjectCreator/modules/ProjectCreator.pm +++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm @@ -159,6 +159,7 @@ sub new { $self->{'pctype'} = $self->extractType("$self"); $self->{'defaulted'} = {}; $self->{'custom_types'} = {}; + $self->{'parents_read'} = {}; $self->{'feature_parser'} = new FeatureParser($gfeature, $feature); $self->{'convert_slashes'} = $self->convert_slashes(); $self->{'sort_files'} = $self->sort_files(); @@ -253,6 +254,7 @@ sub parse_line { $self->{'special_supplied'} = {}; $self->{'type_specific_assign'} = {}; $self->{'flag_overrides'} = {}; + $self->{'parents_read'} = {}; $self->reset_generating_types(); } } @@ -307,13 +309,16 @@ sub parse_line { } if ($status) { - ## Begin reading the parent - push(@{$self->{'reading_parent'}}, $file); - $status = $self->parse_file($file); - pop(@{$self->{'reading_parent'}}); - - if (!$status) { - $errorString = "ERROR: Invalid parent: $parent"; + if (!defined $self->{'parents_read'}->{$file}) { + $self->{'parents_read'}->{$file} = 1; + ## Begin reading the parent + push(@{$self->{'reading_parent'}}, $file); + $status = $self->parse_file($file); + pop(@{$self->{'reading_parent'}}); + + if (!$status) { + $errorString = "ERROR: Invalid parent: $parent"; + } } } } |