summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2002-07-24 18:39:15 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2002-07-24 18:39:15 +0000
commite1ccc0d836b94c33ecadad111eb260614787f2fe (patch)
tree562c57df3b02226dc921abe2fc5f7df4e165ff86
parent979ccb9bd0524d2843670799490378274c8028e2 (diff)
downloadATCD-e1ccc0d836b94c33ecadad111eb260614787f2fe.tar.gz
ChangeLogTag: Wed Jul 24 13:38:40 2002 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog9
-rw-r--r--ChangeLogs/ChangeLog-03a9
-rw-r--r--bin/MakeProjectCreator/modules/Creator.pm8
-rw-r--r--bin/MakeProjectCreator/modules/Driver.pm28
-rw-r--r--bin/MakeProjectCreator/modules/ProjectCreator.pm9
-rw-r--r--bin/MakeProjectCreator/modules/WorkspaceCreator.pm7
6 files changed, 64 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index c39573ff8d5..d5a9b50523e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Wed Jul 24 13:38:40 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/Creator.pm:
+ * bin/MakeProjectCreator/modules/Driver.pm:
+ * bin/MakeProjectCreator/modules/ProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/WorkspaceCreator.pm:
+
+ Added a progress indicator (for those big workspaces).
+
Wed Jul 24 13:10:19 2002 Chad Elliott <elliott_c@ociweb.com>
* bin/MakeProjectCreator/modules/ProjectCreator.pm:
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index c39573ff8d5..d5a9b50523e 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,12 @@
+Wed Jul 24 13:38:40 2002 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/Creator.pm:
+ * bin/MakeProjectCreator/modules/Driver.pm:
+ * bin/MakeProjectCreator/modules/ProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/WorkspaceCreator.pm:
+
+ Added a progress indicator (for those big workspaces).
+
Wed Jul 24 13:10:19 2002 Chad Elliott <elliott_c@ociweb.com>
* bin/MakeProjectCreator/modules/ProjectCreator.pm:
diff --git a/bin/MakeProjectCreator/modules/Creator.pm b/bin/MakeProjectCreator/modules/Creator.pm
index 6b9e970f1e5..c4510ba9e2f 100644
--- a/bin/MakeProjectCreator/modules/Creator.pm
+++ b/bin/MakeProjectCreator/modules/Creator.pm
@@ -31,6 +31,7 @@ sub new {
my($template) = shift;
my($ti) = shift;
my($relative) = shift;
+ my($progress) = shift;
my($type) = shift;
my($self) = Parser::new($class);
@@ -43,6 +44,7 @@ sub new {
$self->{'global_read'} = 0;
$self->{'include_path'} = $inc;
$self->{'current_input'} = "";
+ $self->{'progress'} = $progress;
return $self;
}
@@ -311,6 +313,12 @@ sub get_current_input {
}
+sub get_progress_callback {
+ my($self) = shift;
+ return $self->{'progress'};
+}
+
+
# ************************************************************
# Virtual Methods To Be Overridden
# ************************************************************
diff --git a/bin/MakeProjectCreator/modules/Driver.pm b/bin/MakeProjectCreator/modules/Driver.pm
index f3f6455ae3d..13fb3bdc5a8 100644
--- a/bin/MakeProjectCreator/modules/Driver.pm
+++ b/bin/MakeProjectCreator/modules/Driver.pm
@@ -13,6 +13,13 @@ package Driver;
use strict;
# ************************************************************
+# Data Section
+# ************************************************************
+
+my($index) = 0;
+my(@progress) = ("|", "/", "-", "\\");
+
+# ************************************************************
# Subroutine Section
# ************************************************************
@@ -23,7 +30,7 @@ sub new {
my(@creators) = @_;
my($self) = bless {'path' => $path,
'name' => $name,
- 'version' => 1.0,
+ 'version' => 1.1,
'types' => {},
'creators' => \@creators,
}, $class;
@@ -258,11 +265,15 @@ sub run {
}
}
+ ## Set up un-buffered output for the progress callback
+ $| = 1;
+
## Generate the files
foreach my $file (@input) {
foreach my $name (@generators) {
my($generator) = $name->new($global, \@include, $template,
- \%ti, $dynamic, $static, \%relative);
+ \%ti, $dynamic, $static, \%relative,
+ \&progress);
print "Generating output using " .
($file eq "" ? "default input" : $file) . "\n";
print "Start Time: " . scalar(localtime(time())) . "\n";
@@ -270,7 +281,7 @@ sub run {
print STDERR "Unable to process: $file\n";
$status++;
}
- print " End Time: " . scalar(localtime(time())) . "\n";
+ print "\r End Time: " . scalar(localtime(time())) . "\n";
}
}
@@ -278,4 +289,15 @@ sub run {
}
+sub progress {
+ ## This method will be called before each output
+ ## file (or set of output files in vc6's case) is written.
+ print "\r$progress[$index]";
+ $index++;
+ if ($index > $#progress) {
+ $index = 0;
+ }
+}
+
+
1;
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm
index 4cc981859eb..dee65c3968e 100644
--- a/bin/MakeProjectCreator/modules/ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm
@@ -76,8 +76,10 @@ sub new {
my($dynamic) = shift;
my($static) = shift;
my($relative) = shift;
+ my($progress) = shift;
my($self) = Creator::new($class, $global, $inc,
- $template, $ti, $relative, 'project');
+ $template, $ti, $relative,
+ $progress, 'project');
$self->{$self->{'type_check'}} = 0;
$self->{'global_assign'} = {};
@@ -1116,6 +1118,11 @@ sub write_project {
my($error) = "";
my($name) = $self->transform_file_name($self->project_file_name());
my($prjname) = $self->get_assignment('project_name');
+ my($progress) = $self->get_progress_callback();
+
+ if (defined $progress) {
+ &$progress();
+ }
## Writing the non-static file so set it to 0
if ($self->{'want_dynamic_projects'}) {
diff --git a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
index 227703f45b9..592cf092a88 100644
--- a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
+++ b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm
@@ -38,8 +38,10 @@ sub new {
my($dynamic) = shift;
my($static) = shift;
my($relative) = shift;
+ my($progress) = shift;
my($self) = Creator::new($class, $global, $inc,
- $template, $ti, $relative, 'workspace');
+ $template, $ti, $relative,
+ $progress, 'workspace');
my($typecheck) = $self->{'type_check'};
$self->{'workspace_name'} = undef;
@@ -383,7 +385,8 @@ sub project_creator {
$self->get_ti_override(),
$self->get_dynamic(),
$self->get_static(),
- $self->get_relative());
+ $self->get_relative(),
+ $self->get_progress_callback());
}