summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2006-01-25 17:42:09 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2006-01-25 17:42:09 +0000
commit0699bbbd41a76ed72364ce9ed6286a38d128abc6 (patch)
tree2c23f3b46a90bd50ab81872b708553ecccbf93cc
parent325b75d00a804b4906b94b65069fa6d34148b741 (diff)
downloadMPC-0699bbbd41a76ed72364ce9ed6286a38d128abc6.tar.gz
ChangeLogTag: Wed Jan 25 11:40:37 2006 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog15
-rw-r--r--modules/VC6WorkspaceCreator.pm5
-rw-r--r--modules/VC71WorkspaceCreator.pm5
-rw-r--r--modules/VC7WorkspaceCreator.pm7
-rw-r--r--modules/WorkspaceCreator.pm41
5 files changed, 41 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c141e0a..578eb264 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;