diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2006-01-25 17:42:09 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2006-01-25 17:42:09 +0000 |
commit | 0699bbbd41a76ed72364ce9ed6286a38d128abc6 (patch) | |
tree | 2c23f3b46a90bd50ab81872b708553ecccbf93cc | |
parent | 325b75d00a804b4906b94b65069fa6d34148b741 (diff) | |
download | MPC-0699bbbd41a76ed72364ce9ed6286a38d128abc6.tar.gz |
ChangeLogTag: Wed Jan 25 11:40:37 2006 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | modules/VC6WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/VC71WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/VC7WorkspaceCreator.pm | 7 | ||||
-rw-r--r-- | modules/WorkspaceCreator.pm | 41 |
5 files changed, 41 insertions, 32 deletions
@@ -1,3 +1,18 @@ +Wed Jan 25 11:40:37 2006 Chad Elliott <elliott_c@ociweb.com> + + * modules/WorkspaceCreator.pm: + + Return an array reference from the get_validated_ordering() method + instead of a string. In every place get_validated_ordering() was + called, the return value was immediately converted to an array. + + * modules/VC6WorkspaceCreator.pm: + * modules/VC71WorkspaceCreator.pm: + * modules/VC7WorkspaceCreator.pm: + + Use the returned array instead of converting the string into an + array. + Wed Jan 25 09:02:34 2006 Chad Elliott <elliott_c@ociweb.com> * modules/DirectoryManager.pm: diff --git a/modules/VC6WorkspaceCreator.pm b/modules/VC6WorkspaceCreator.pm index c9fb7661..c4c63966 100644 --- a/modules/VC6WorkspaceCreator.pm +++ b/modules/VC6WorkspaceCreator.pm @@ -83,9 +83,8 @@ sub write_comps { "Package=<4>$crlf" . "{{{$crlf"; - if (defined $deps && $deps ne '') { - my($darr) = $self->create_array($deps); - foreach my $dep (@$darr) { + if (defined $$deps[0]) { + foreach my $dep (@$deps) { print $fh " Begin Project Dependency$crlf" . " Project_Dep_Name $dep$crlf" . " End Project Dependency$crlf"; diff --git a/modules/VC71WorkspaceCreator.pm b/modules/VC71WorkspaceCreator.pm index ff8a5063..955dca89 100644 --- a/modules/VC71WorkspaceCreator.pm +++ b/modules/VC71WorkspaceCreator.pm @@ -49,11 +49,10 @@ sub print_inner_project { my($project_name) = shift; my($name_to_guid_map) = shift; - if ($self->allow_empty_dependencies() || length($deps) > 0) { + if ($self->allow_empty_dependencies() || defined $$deps[0]) { my($crlf) = $self->crlf(); print $fh "\tProjectSection(ProjectDependencies) = postProject$crlf"; - my($darr) = $self->create_array($deps); - foreach my $dep (@$darr) { + foreach my $dep (@$deps) { my($guid) = $name_to_guid_map->{$dep}; if (defined $guid) { print $fh "\t\t{$guid} = {$guid}$crlf"; diff --git a/modules/VC7WorkspaceCreator.pm b/modules/VC7WorkspaceCreator.pm index 539b1530..61c84907 100644 --- a/modules/VC7WorkspaceCreator.pm +++ b/modules/VC7WorkspaceCreator.pm @@ -112,10 +112,9 @@ sub print_dependencies { foreach my $project (@$list) { my($name, $rawdeps, $project_guid) = @{$$pjs{$project}}; my($deps) = $self->get_validated_ordering($project); - if (defined $deps && $deps ne '') { - my($darr) = $self->create_array($deps); - my($i) = 0; - foreach my $dep (@$darr) { + if (defined $$deps[0]) { + my($i) = 0; + foreach my $dep (@$deps) { my($guid) = $name_to_guid_map{$dep}; if (defined $guid) { print $fh "\t\t{$project_guid}.$i = {$guid}$crlf"; diff --git a/modules/WorkspaceCreator.pm b/modules/WorkspaceCreator.pm index 058c4c04..b5dc7714 100644 --- a/modules/WorkspaceCreator.pm +++ b/modules/WorkspaceCreator.pm @@ -1442,12 +1442,10 @@ sub sort_within_group { $previ = $i; $deps = $self->get_validated_ordering($$list[$i]); - if ($deps ne '') { + if (defined $$deps[0]) { my($baseproj) = basename($$list[$i]); - my($darr) = $self->create_array($deps); - my($moved) = 0; - foreach my $dep (@$darr) { + foreach my $dep (@$deps) { if ($baseproj ne $dep) { ## See if the dependency is listed after this project for(my $j = $i + 1; $j <= $end; ++$j) { @@ -1489,8 +1487,8 @@ sub build_dependency_chain { my($gdeps) = shift; my($deps) = $self->get_validated_ordering($name); - if ($deps ne '') { - foreach my $dep (@{$self->create_array($deps)}) { + if (defined $$deps[0]) { + foreach my $dep (@$deps) { ## Find the item in the list that matches our current dependency my($mapped) = $$map{$dep}; for(my $i = 0; $i < $len; $i++) { @@ -1595,9 +1593,8 @@ sub sort_by_groups { my(%gdeps) = (); for(my $i = $groups[$gi]->[0]; $i <= $groups[$gi]->[1]; ++$i) { my($deps) = $self->get_validated_ordering($$list[$i]); - if ($deps ne '') { - my($darr) = $self->create_array($deps); - @gdeps{@$darr} = (); + if (defined $$deps[0]) { + @gdeps{@$deps} = (); } } @@ -1998,13 +1995,14 @@ sub get_validated_ordering { $deps = $self->{'ordering_cache'}->{$project}; } else { - $deps = ''; + $deps = []; if (defined $self->{'project_info'}->{$project}) { - my($name) = undef; - ($name, $deps) = @{$self->{'project_info'}->{$project}}; - if (defined $deps && $deps ne '') { - my($darr) = $self->create_array($deps); - foreach my $dep (@$darr) { + my($name, $dstr) = @{$self->{'project_info'}->{$project}}; + if (defined $dstr && $dstr ne '') { + $deps = $self->create_array($dstr); + my($dlen) = scalar(@$deps); + for(my $i = 0; $i < $dlen; $i++) { + my($dep) = $$deps[$i]; my($found) = 0; ## Avoid circular dependencies if ($dep ne $name && $dep ne basename($project)) { @@ -2020,20 +2018,19 @@ sub get_validated_ordering { $self->warning("'$name' references '$dep' which has " . "not been processed."); } - my($reg) = $self->escape_regex_special($dep); - $deps =~ s/\s*"$reg"\s*/ /g; + splice(@$deps, $i, 1); + --$dlen; + --$i; } } else { ## If a project references itself, we must remove it ## from the list of dependencies. - my($reg) = $self->escape_regex_special($dep); - $deps =~ s/\s*"$reg"\s*/ /g; + splice(@$deps, $i, 1); + --$dlen; + --$i; } } - - $deps =~ s/^\s+//; - $deps =~ s/\s+$//; } $self->{'ordering_cache'}->{$project} = $deps; |