From a322e7dfede1be13684ffe8937ba4aa947dd4678 Mon Sep 17 00:00:00 2001 From: elliott_c Date: Wed, 2 Aug 2006 14:57:33 +0000 Subject: ChangeLogTag: Wed Aug 2 14:55:45 UTC 2006 Chad Elliott --- ACE/ACE-INSTALL.html | 8 +++---- ACE/ChangeLog | 28 +++++++++++++++++++++++ ACE/bin/ChangeLogEditor/CVSFileLocator.pm | 18 +++++++++++---- ACE/bin/ChangeLogEditor/ChangeLogEdit.pm | 7 +++--- ACE/bin/ChangeLogEditor/ChangeLogEntry.pm | 5 ++-- ACE/bin/ChangeLogEditor/FileLocator.pm | 38 +++++++++++++++++++++++++++++++ ACE/bin/ChangeLogEditor/SVNFileLocator.pm | 38 ++++++++++++++++++++++++------- ACE/bin/MakeProjectCreator/README | 12 +++------- ACE/bin/cle.pl | 2 +- ACE/bin/make_release | 2 +- 10 files changed, 125 insertions(+), 33 deletions(-) diff --git a/ACE/ACE-INSTALL.html b/ACE/ACE-INSTALL.html index d0ec57341d8..5928fb8af2e 100644 --- a/ACE/ACE-INSTALL.html +++ b/ACE/ACE-INSTALL.html @@ -237,8 +237,8 @@ instructions in this document. If it is necessary to generate files for build tools for other compilers, one must run MPC to generate the -appropriate files. Please see USAGE, README, and USAGE, README, and README for ACE files for details. The options that have been used to generate the above build files can be found in for information. files for static builds. Workspaces for static and DLL builds will be available through the stock release at DOC group's website. The workspaces for MFC are not available and have to be generated using - MPC. Please see MPC's README for + MPC. Please see MPC's README for details.

  • Now load the solution file for ACE (ACE_ROOT/ACE.sln).

    @@ -2620,7 +2620,7 @@ The Makefile Project Creator (MPC) is a tool that takes platform and building tool generic files (mpc files) as input, which describe basic information needed to generate a "project" file for various build tools, including Make, NMake, Visual C++ 6, Visual C++ 7, etc. Please -see USAGE, README for +see USAGE, README for documentation on MPC.

    A common usage for creating a Windows workspace containing just the diff --git a/ACE/ChangeLog b/ACE/ChangeLog index 7d11b72f94a..d7fbd843b00 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,31 @@ +Wed Aug 2 14:55:45 UTC 2006 Chad Elliott + + * ACE-INSTALL.html: + + Updated the location of the MPC documentation. It was moved from + the MPC root directory to a docs directory. + + * bin/ChangeLogEditor/CVSFileLocator.pm: + * bin/ChangeLogEditor/ChangeLogEdit.pm: + * bin/ChangeLogEditor/ChangeLogEntry.pm: + * bin/ChangeLogEditor/FileLocator.pm: + * bin/ChangeLogEditor/SVNFileLocator.pm: + * bin/cle.pl: + + Added better support for subversion and it now reports errors from + cvs/svn. + + * bin/MakeProjectCreator/README: + + Updated to provide information on anonymously checking out MPC + using Subversion. + + * bin/make_release: + + I added "-type gnuace" to the options where the default project + type was assumed. Eventually, MPC will not have a default project + type. + Wed Aug 2 13:47:12 UTC 2006 Johnny Willemsen * docs/ACE-development-process.html: diff --git a/ACE/bin/ChangeLogEditor/CVSFileLocator.pm b/ACE/bin/ChangeLogEditor/CVSFileLocator.pm index d5cc9ff5cbe..8e478509f01 100644 --- a/ACE/bin/ChangeLogEditor/CVSFileLocator.pm +++ b/ACE/bin/ChangeLogEditor/CVSFileLocator.pm @@ -30,11 +30,13 @@ sub locate { my(@removed) = (); my(@conflicts) = (); my(@unknown) = (); + my($error) = undef; my($cvsroot) = $self->obtainCVSROOT(); - my($nul) = ($^O eq 'MSWin32' ? 'nul' : '/dev/null'); + my($err) = $self->tmpnam('cle_cvs.err'); - if (open($fh, 'cvs -q ' . (defined $cvsroot ? "-d $cvsroot " : '') . - "-n update @dirs 2> $nul |")) { + if (open($fh, 'cvs -f -q ' . ($^O eq 'MSWin32' ? '-N ' : '') . + (defined $cvsroot ? "-d $cvsroot " : '') . + "-n update @dirs 2> $err |")) { while(<$fh>) { my($line) = $_; if ($line =~ /^[AM]\s+(.*)/) { @@ -46,13 +48,19 @@ sub locate { elsif ($line =~ /^[C]\s+(.*)/) { push(@conflicts, $1); } - elsif ($line =~ /^[\?]\s+(.*)/) { + elsif ($line =~ /^[\?]\s+(.*)/ && index($line, $err) == -1) { push(@unknown, $1); } } close($fh); + + $error = $self->process_errors($err); + } + else { + $error = "Unable to run cvs with error redirection."; } - return \@modified, \@removed, \@conflicts, \@unknown; + + return \@modified, \@removed, \@conflicts, \@unknown, $error; } diff --git a/ACE/bin/ChangeLogEditor/ChangeLogEdit.pm b/ACE/bin/ChangeLogEditor/ChangeLogEdit.pm index b7831ae2e5b..1bbfee507b1 100644 --- a/ACE/bin/ChangeLogEditor/ChangeLogEdit.pm +++ b/ACE/bin/ChangeLogEditor/ChangeLogEdit.pm @@ -45,7 +45,7 @@ sub edit { my($creator) = new ChangeLogEntry($self->{'name'}, $self->{'email'}); my($entry) = ''; - ($entry, $unknown) = $creator->create(@dirs); + ($entry, $unknown, $error) = $creator->create(@dirs); if (defined $entry) { if ($entry =~ /^ERROR:/) { $error = $entry; @@ -95,8 +95,9 @@ sub edit { } } else { - $error = "Either there are no modified/removed files files or " . - "there is a revision\ncontrol system problem."; + $error = (defined $error ? "There is a revision control system " . + "problem:\n$error" : + 'There are no modified/removed files.'); } } else { diff --git a/ACE/bin/ChangeLogEditor/ChangeLogEntry.pm b/ACE/bin/ChangeLogEditor/ChangeLogEntry.pm index 2028dec1874..1fdcf9d3da3 100644 --- a/ACE/bin/ChangeLogEditor/ChangeLogEntry.pm +++ b/ACE/bin/ChangeLogEditor/ChangeLogEntry.pm @@ -87,7 +87,8 @@ sub create { my($modif, $remov, $confl, - $unknown) = $fl->locate(@dirs); + $unknown, + $error) = $fl->locate(@dirs); my($entry) = scalar(gmtime()); if (defined $$confl[0]) { @@ -137,7 +138,7 @@ sub create { $entry = undef; } - return $entry, $unknown; + return $entry, $unknown, $error; } diff --git a/ACE/bin/ChangeLogEditor/FileLocator.pm b/ACE/bin/ChangeLogEditor/FileLocator.pm index 7b768863a22..5707a84c345 100644 --- a/ACE/bin/ChangeLogEditor/FileLocator.pm +++ b/ACE/bin/ChangeLogEditor/FileLocator.pm @@ -25,6 +25,44 @@ sub new { } +sub tmpnam { + my($self) = shift; + my($file) = shift; + my(@def) = ("/tmp", "."); + + foreach my $possible ($ENV{TMPDIR}, $ENV{TEMP}, $ENV{TMP}, @def) { + if (defined $possible && -d $possible && -w $possible) { + $possible =~ s!\\!/!g; + return $possible . '/' . $$ . '_' . $> . '_' . $file;; + } + } + + return $file; +} + + +sub process_errors { + my($self) = shift; + my($file) = shift; + my($error) = undef; + + if (-s $file != 0) { + my($fh) = new FileHandle(); + if (open($fh, $file)) { + $error = ''; + while(<$fh>) { + $error .= $_; + } + close($fh); + $error =~ s/\s+$//; + } + } + unlink($file); + + return $error; +} + + sub locate { my($self) = shift; my(@dirs) = @_; diff --git a/ACE/bin/ChangeLogEditor/SVNFileLocator.pm b/ACE/bin/ChangeLogEditor/SVNFileLocator.pm index 246b9dc9c7f..55a8674af81 100644 --- a/ACE/bin/ChangeLogEditor/SVNFileLocator.pm +++ b/ACE/bin/ChangeLogEditor/SVNFileLocator.pm @@ -30,23 +30,45 @@ sub locate { my(@removed) = (); my(@conflicts) = (); my(@unknown) = (); - my($nul) = ($^O eq 'MSWin32' ? 'nul' : '/dev/null'); + my($error) = undef; + my($err) = $self->tmpnam('cle_svn.err'); - if (open($fh, "svn diff @dirs 2> $nul |")) { + if (open($fh, "svn status @dirs 2> $err |")) { while(<$fh>) { my($line) = $_; - if ($line =~ /^Index:\s+(.*)/) { - if (-r $1) { - push(@modified, $1); + if ($line =~ /^([A-Z\s\?])([A-Z\s])[A-Z\s][\+\*\s][A-Z\s][A-Z\s]\s+(.*)$/) { + my($content) = $1; + my($property) = $2; + my($file) = $3; + + ## Subversion differs from CVS in that it will print paths with + ## windows style back-slashes instead of forward slashes. + $file =~ s!\\!/!g if ($^O eq 'MSWin32'); + + if ($property eq 'M' || + $content eq 'M' || $content eq 'A' || $content eq 'R') { + push(@modified, $file); + } + elsif ($content eq 'D') { + push(@removed, $file); + } + elsif ($content eq 'C' || $property eq 'C') { + push(@conflicts, $file); } - else { - push(@removed, $1); + elsif ($content eq '?' && index($line, $err) == -1) { + push(@unknown, $file); } } } close($fh); + + $error = $self->process_errors($err); + } + else { + $error = "Unable to run svn with error redirection."; } - return \@modified, \@removed, \@conflicts, \@unknown; + + return \@modified, \@removed, \@conflicts, \@unknown, $error; } diff --git a/ACE/bin/MakeProjectCreator/README b/ACE/bin/MakeProjectCreator/README index 0b5da7554f3..697fee1691c 100644 --- a/ACE/bin/MakeProjectCreator/README +++ b/ACE/bin/MakeProjectCreator/README @@ -3,10 +3,6 @@ the base projects in the config directory are ACE- and TAO-specific, along with the perl modules for the gnuace and borland types and the templates that go along with those implementations. -The default workspace and project type for ACE_wrappers/bin/mwc.pl and -ACE_wrappers/bin/mpc.pl is gnuace. This differs from the default for -mwc.pl and mpc.pl located in the MPC directory. - GNUACE-specific aspects of project keywords ------------------------------------------- @@ -34,10 +30,8 @@ The environment variable MPC_GNUACE_DIRECTORY_DEPS can be set to get the directory based build that was used up until April of 2006. For more information about MPC, see the README and USAGE files in the -MPC directory. +MPC docs directory. -You can get MPC using cvs. If you have access to the DOC Group CVS -repository, you can check-out the 'MPC' module. You can also -anonymously check-out MPC from OCI's anonymous CVS server. +You can anonymously check-out MPC using Subversion: -cvs -d :pserver:anonymous@anoncvs.ociweb.com:/cvs co MPC +svn co svn://svn.dre.vanderbilt.edu/DOC/MPC/trunk MPC diff --git a/ACE/bin/cle.pl b/ACE/bin/cle.pl index 03f8785f7cd..cc6f7768aae 100755 --- a/ACE/bin/cle.pl +++ b/ACE/bin/cle.pl @@ -271,7 +271,7 @@ if (defined $unknown) { my(@uarray) = @$unknown; if ($#uarray >= 0) { print "WARNING: The following files are unknown to the ", - "revsion control system:\n"; + "revision control system:\n"; foreach my $unk (@uarray) { print "$unk\n"; } diff --git a/ACE/bin/make_release b/ACE/bin/make_release index ab2d1bd4efb..43a42a63ed3 100755 --- a/ACE/bin/make_release +++ b/ACE/bin/make_release @@ -810,7 +810,7 @@ sub generate_makefiles () { my $ce_option = '-name_modifier *_WinCE -features "uses_wchar=1,wince=1" '.$tmp_ce; &ex ("cd ACE_wrappers; \ - bin/mwc.pl $exclude_option $mpc_option; \ + bin/mwc.pl -type gnuace $exclude_option $mpc_option; \ find ./ -name 'GNUmake*' | /usr/bin/xargs chmod 0644"); &ex ("cd ACE_wrappers; \ -- cgit v1.2.1