diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2002-07-24 18:39:15 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2002-07-24 18:39:15 +0000 |
commit | e1ccc0d836b94c33ecadad111eb260614787f2fe (patch) | |
tree | 562c57df3b02226dc921abe2fc5f7df4e165ff86 | |
parent | 979ccb9bd0524d2843670799490378274c8028e2 (diff) | |
download | ATCD-e1ccc0d836b94c33ecadad111eb260614787f2fe.tar.gz |
ChangeLogTag: Wed Jul 24 13:38:40 2002 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 9 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/Creator.pm | 8 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/Driver.pm | 28 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 9 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/WorkspaceCreator.pm | 7 |
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()); } |