From: <ai...@us...> - 2009-09-27 17:51:40
|
Revision: 10483 http://plplot.svn.sourceforge.net/plplot/?rev=10483&view=rev Author: airwin Date: 2009-09-27 17:51:33 +0000 (Sun, 27 Sep 2009) Log Message: ----------- Initial commit of bash script to make it easy to check (no options), view (--view), and apply (--apply) uncrustify changes to the PLplot source files (currently those in src and bindings/c++) that are registered with the script. Use the --help option to learn more about the options. Added Paths: ----------- trunk/scripts/style_source.sh Added: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh (rev 0) +++ trunk/scripts/style_source.sh 2009-09-27 17:51:33 UTC (rev 10483) @@ -0,0 +1,135 @@ +#!/bin/bash + +# $Id$ + +# This script will run uncrustify on all source files registered in +# the lists below and summarize which uncrustified files are +# different. Also there are options to view the differences in detail +# and/or apply them. This script must be run from the top-level +# directory of the PLplot source tree. + +# Copyright (C) 2009 Alan W. Irwin +# +# This file is part of PLplot. +# +# PLplot is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Library Public License as published +# by the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PLplot is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with PLplot; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +usage() +{ +echo ' +Usage: ./style_source.sh [OPTIONS] + +Options: + [--view] Show detailed style differences in source code. + [--noview] Summarize style differences in source code (default). + [--apply] Apply style differences to source code (POWERFUL). + [--noapply] Do not apply style differences to source code (default). + [--help] Show this message. + +' + exit $1 +} + +# Figure out what script options were specified by the user. +# Defaults +export view=OFF +export apply=OFF + +while test $# -gt 0; do + + case $1 in + --view) + view=ON + ;; + --noview) + view=OFF + ;; + --apply) + apply=ON + ;; + --noapply) + apply=OFF + ;; + --help) + usage 0 1>&2 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +version=`uncrustify --version` +if [ "$version" != "uncrustify 0.53" ] ; then + echo " +Detected uncrustify version = '$version'. +This script only works with uncrustify 0.53." + exit 1 +fi + +if [ ! -f src/plcore.c ] ; then + echo "This script can only be run from PLplot top-level source tree." + exit 1 +fi + +if [ "$apply" = "ON" ] ; then + echo ' +The --apply option is POWERFUL and will replace _all_ files mentioned in +previous runs of style_source.sh with their uncrustified versions. +' + ANSWER= + while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do + echo -n "Continue (yes/no)? " + read ANSWER + done + if [ "$ANSWER" = "no" ] ; then + echo "Immediate exit specified!" + exit + fi + +fi + +export csource_LIST="src/*.c src/*.h include/plplot.h" + +export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h include/qt.h" + +for csource in $csource_LIST ; do + uncrustify -c uncrustify.cfg -q -l c < $csource | cmp --quiet $csource - + if [ "$?" -ne 0 ] ; then + ls $csource + if [ "$view" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l c < $csource | diff -au $csource - + fi + + if [ "$apply" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l c --no-backup $csource + fi + fi +done + +for cppsource in $cppsource_LIST ; do + uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | cmp --quiet $cppsource - + if [ "$?" -ne 0 ] ; then + ls $cppsource + if [ "$view" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | diff -au $cppsource - + fi + + if [ "$apply" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l cpp --no-backup $cppsource + fi + fi +done Property changes on: trunk/scripts/style_source.sh ___________________________________________________________________ Added: svn:executable + * Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-09-27 18:08:34
|
Revision: 10484 http://plplot.svn.sourceforge.net/plplot/?rev=10484&view=rev Author: airwin Date: 2009-09-27 18:08:22 +0000 (Sun, 27 Sep 2009) Log Message: ----------- Remove include/qt.h from the cppsource_LIST. (Which was left over from a local test run.) Of course, that file should be added later to cppsource_LIST when we are ready to uncrustify the qt source files. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2009-09-27 17:51:33 UTC (rev 10483) +++ trunk/scripts/style_source.sh 2009-09-27 18:08:22 UTC (rev 10484) @@ -102,9 +102,9 @@ fi -export csource_LIST="src/*.c src/*.h include/plplot.h" +export csource_LIST="src/*.c src/*.h include/plplot.h examples/c/*.c" -export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h include/qt.h" +export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h" for csource in $csource_LIST ; do uncrustify -c uncrustify.cfg -q -l c < $csource | cmp --quiet $csource - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-09-27 22:33:45
|
Revision: 10485 http://plplot.svn.sourceforge.net/plplot/?rev=10485&view=rev Author: airwin Date: 2009-09-27 22:33:33 +0000 (Sun, 27 Sep 2009) Log Message: ----------- _Really_ remove extra experimental files from those registered. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2009-09-27 18:08:22 UTC (rev 10484) +++ trunk/scripts/style_source.sh 2009-09-27 22:33:33 UTC (rev 10485) @@ -102,7 +102,7 @@ fi -export csource_LIST="src/*.c src/*.h include/plplot.h examples/c/*.c" +export csource_LIST="src/*.c src/*.h" export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-10-20 21:46:02
|
Revision: 10535 http://plplot.svn.sourceforge.net/plplot/?rev=10535&view=rev Author: airwin Date: 2009-10-20 21:45:53 +0000 (Tue, 20 Oct 2009) Log Message: ----------- Replace "--view" option with "--diff" option. Allow concatanated options for diff headed by a single hyphen, e.g., "--diff -au". If no diff options are specified, "-auw" is assumed. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2009-10-13 15:58:19 UTC (rev 10534) +++ trunk/scripts/style_source.sh 2009-10-20 21:45:53 UTC (rev 10535) @@ -32,11 +32,14 @@ Usage: ./style_source.sh [OPTIONS] Options: - [--view] Show detailed style differences in source code. - [--noview] Summarize style differences in source code (default). - [--apply] Apply style differences to source code (POWERFUL). - [--noapply] Do not apply style differences to source code (default). - [--help] Show this message. + [--diff [diff options]] Show detailed style differences in source code + with optional concatanated diff options headed + by a single hyphen. If no diff options are + specified, then -auw is used by default. + [--nodiff] Summarize style differences in source code (default). + [--apply] Apply style differences to source code (POWERFUL). + [--noapply] Do not apply style differences to source code (default). + [--help] Show this message. ' exit $1 @@ -44,17 +47,24 @@ # Figure out what script options were specified by the user. # Defaults -export view=OFF +export diff=OFF export apply=OFF +export diff_options="-auw" while test $# -gt 0; do case $1 in - --view) - view=ON + --diff) + diff=ON + case $2 in + -[^-]*) + diff_options=$2 + shift + ;; + esac ;; - --noview) - view=OFF + --nodiff) + diff=OFF ;; --apply) apply=ON @@ -102,16 +112,24 @@ fi -export csource_LIST="src/*.c src/*.h" +export csource_LIST +# Top level directory. +csource_LIST=config.h.cmake +# src directory +csource_LIST="$csource_LIST src/*.c src/*.h" + +# All C source (i.e., exclude qt.h) in include directory. +csource_LIST="$csource_LIST `ls include/*.h include/*.h.in include/*.h.cmake |grep -v qt.h`" + export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h" for csource in $csource_LIST ; do uncrustify -c uncrustify.cfg -q -l c < $csource | cmp --quiet $csource - if [ "$?" -ne 0 ] ; then ls $csource - if [ "$view" = "ON" ] ; then - uncrustify -c uncrustify.cfg -q -l c < $csource | diff -au $csource - + if [ "$diff" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l c < $csource | diff $diff_options $csource - fi if [ "$apply" = "ON" ] ; then @@ -124,8 +142,8 @@ uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | cmp --quiet $cppsource - if [ "$?" -ne 0 ] ; then ls $cppsource - if [ "$view" = "ON" ] ; then - uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | diff -au $cppsource - + if [ "$diff" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | diff $diff_options $cppsource - fi if [ "$apply" = "ON" ] ; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-10-20 22:43:03
|
Revision: 10536 http://plplot.svn.sourceforge.net/plplot/?rev=10536&view=rev Author: airwin Date: 2009-10-20 22:42:57 +0000 (Tue, 20 Oct 2009) Log Message: ----------- Check that everything in source lists is actually a regular file. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2009-10-20 21:45:53 UTC (rev 10535) +++ trunk/scripts/style_source.sh 2009-10-20 22:42:57 UTC (rev 10536) @@ -114,7 +114,7 @@ export csource_LIST # Top level directory. -csource_LIST=config.h.cmake +csource_LIST="config.h.cmake" # src directory csource_LIST="$csource_LIST src/*.c src/*.h" @@ -124,6 +124,14 @@ export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h" +# Check that source file lists actually refer to files. +for source in $csource_LIST $cppsource_LIST ; do + if [ ! -f $source ] ; then + echo $source is not a regular file so this script will not work without further editing. + exit 1 + fi +done + for csource in $csource_LIST ; do uncrustify -c uncrustify.cfg -q -l c < $csource | cmp --quiet $csource - if [ "$?" -ne 0 ] ; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-10-21 01:36:03
|
Revision: 10539 http://plplot.svn.sourceforge.net/plplot/?rev=10539&view=rev Author: airwin Date: 2009-10-21 01:35:56 +0000 (Wed, 21 Oct 2009) Log Message: ----------- Add commented-out include/qt.h to cppsource_LIST as a reminder of how to complete the styling of the include subdirectory once we are satisfied about how uncrustify -c uncrustify.cfg styles our C++ code. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2009-10-21 01:01:07 UTC (rev 10538) +++ trunk/scripts/style_source.sh 2009-10-21 01:35:56 UTC (rev 10539) @@ -122,7 +122,9 @@ # All C source (i.e., exclude qt.h) in include directory. csource_LIST="$csource_LIST `ls include/*.h include/*.h.in include/*.h.cmake |grep -v qt.h`" -export cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h" +export cppsource_LIST +cppsource_LIST="bindings/c++/plstream.cc bindings/c++/plstream.h" +# cppsource_LIST="$cppsource_LIST include/qt.h" # Check that source file lists actually refer to files. for source in $csource_LIST $cppsource_LIST ; do This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-12-07 22:22:17
|
Revision: 10704 http://plplot.svn.sourceforge.net/plplot/?rev=10704&view=rev Author: airwin Date: 2009-12-07 22:22:08 +0000 (Mon, 07 Dec 2009) Log Message: ----------- Use bash function to simplify script. Add java source. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2009-12-07 22:15:35 UTC (rev 10703) +++ trunk/scripts/style_source.sh 2009-12-07 22:22:08 UTC (rev 10704) @@ -157,38 +157,44 @@ # C++ source in bindings. cppsource_LIST="$cppsource_LIST bindings/qt_gui/plqt.cpp bindings/wxwidgets/wxPLplotstream.cpp bindings/wxwidgets/wxPLplotwindow.cpp bindings/wxwidgets/wxPLplotwindow.h bindings/wxwidgets/wxPLplotstream.h.in" +export javasource_LIST + +# Java part of bindings/java +javasource_LIST="bindings/java/*.java bindings/java/*.java.in" + +# Java part of examples/java +javasource_LIST="$javasource_LIST examples/java/*.java" + # Check that source file lists actually refer to files. -for source in $csource_LIST $cppsource_LIST ; do +for source in $csource_LIST $cppsource_LIST $javasource_LIST ; do if [ ! -f $source ] ; then echo $source is not a regular file so this script will not work without further editing. exit 1 fi done -for csource in $csource_LIST ; do - uncrustify -c uncrustify.cfg -q -l c < $csource | cmp --quiet $csource - - if [ "$?" -ne 0 ] ; then - ls $csource - if [ "$diff" = "ON" ] ; then - uncrustify -c uncrustify.cfg -q -l c < $csource | diff $diff_options $csource - - fi +uncrustify_source() +{ +# $1 is a list of source files of a particular language. +# $2 is the language identification string for those source files in +# the form needed by uncrustify. From the uncrustify man page those +# language id forms are C, CPP, D, CS, JAVA, PAWN, VALA, OC, OC+ - if [ "$apply" = "ON" ] ; then - uncrustify -c uncrustify.cfg -q -l c --no-backup $csource - fi - fi -done + for language_source in $1 ; do + uncrustify -c uncrustify.cfg -q -l $2 < $language_source | cmp --quiet $language_source - + if [ "$?" -ne 0 ] ; then + ls $language_source + if [ "$diff" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l $2 < $language_source | diff $diff_options $language_source - + fi -for cppsource in $cppsource_LIST ; do - uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | cmp --quiet $cppsource - - if [ "$?" -ne 0 ] ; then - ls $cppsource - if [ "$diff" = "ON" ] ; then - uncrustify -c uncrustify.cfg -q -l cpp < $cppsource | diff $diff_options $cppsource - + if [ "$apply" = "ON" ] ; then + uncrustify -c uncrustify.cfg -q -l $2 --no-backup $language_source + fi fi + done +} - if [ "$apply" = "ON" ] ; then - uncrustify -c uncrustify.cfg -q -l cpp --no-backup $cppsource - fi - fi -done +uncrustify_source "$csource_LIST" C +uncrustify_source "$cppsource_LIST" CPP +uncrustify_source "$javasource_LIST" JAVA This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-01-08 01:06:56
|
Revision: 10742 http://plplot.svn.sourceforge.net/plplot/?rev=10742&view=rev Author: airwin Date: 2010-01-08 01:06:45 +0000 (Fri, 08 Jan 2010) Log Message: ----------- Require uncrustify 0.55 which is quite different (many more options) than 0.53. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2010-01-07 07:09:26 UTC (rev 10741) +++ trunk/scripts/style_source.sh 2010-01-08 01:06:45 UTC (rev 10742) @@ -83,7 +83,7 @@ done version=`uncrustify --version` -if [ "$version" != "uncrustify 0.53" ] ; then +if [ "$version" != "uncrustify 0.55" ] ; then echo " Detected uncrustify version = '$version'. This script only works with uncrustify 0.53." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-09-12 18:52:25
|
Revision: 11173 http://plplot.svn.sourceforge.net/plplot/?rev=11173&view=rev Author: airwin Date: 2010-09-12 18:52:19 +0000 (Sun, 12 Sep 2010) Log Message: ----------- Bump allowed version of uncrustify from 0.55 to 0.56. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2010-09-12 17:38:38 UTC (rev 11172) +++ trunk/scripts/style_source.sh 2010-09-12 18:52:19 UTC (rev 11173) @@ -82,11 +82,12 @@ shift done +allowed_version=0.56 version=`uncrustify --version` -if [ "$version" != "uncrustify 0.55" ] ; then +if [ "$version" != "uncrustify $allowed_version" ] ; then echo " Detected uncrustify version = '$version'. -This script only works with uncrustify 0.55." +This script only works with uncrustify $allowed_version." exit 1 fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-10-22 00:16:05
|
Revision: 11267 http://plplot.svn.sourceforge.net/plplot/?rev=11267&view=rev Author: airwin Date: 2010-10-22 00:15:59 +0000 (Fri, 22 Oct 2010) Log Message: ----------- Extend C source that is checked for new comment style to all of include/*.h except for qt.h. Change internals of script so that run-time errors in scripts/convert_comment.py (generated by pathological commentary style that cannot be parsed by that script) causes a useful error message and immediate exit that allows you to hand-edit the file to replace the pathological commentary style by a mainstream commentary style that the script can understand. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2010-10-22 00:07:24 UTC (rev 11266) +++ trunk/scripts/style_source.sh 2010-10-22 00:15:59 UTC (rev 11267) @@ -123,12 +123,12 @@ # src directory csource_LIST="$csource_LIST src/*.[ch]" +# All C source (i.e., exclude qt.h) in include directory. +csource_LIST="$csource_LIST `ls include/*.h include/*.h.in include/*.h.cmake |grep -v qt.h`" + # temporary exclude_c=ON if [ -z "$exclude_c" ] ; then -# All C source (i.e., exclude qt.h) in include directory. -csource_LIST="$csource_LIST `ls include/*.h include/*.h.in include/*.h.cmake |grep -v qt.h`" - # Every subdirectory of lib. csource_LIST="$csource_LIST lib/*/*.[ch] lib/qsastime/qsastimeP.h.in" @@ -190,6 +190,7 @@ # temporary fi + transform_source() { # $1 is a list of source files of a particular language. @@ -202,6 +203,21 @@ # nothing) to indicate uncrustify will be used. if [ "$3" = "comments" ] ; then c_command="scripts/convert_comment.py" + # Check all files for run-time errors with the python script. + # These run-time errors signal that there is some comment + # style which the script cannot handle. The reason we do this + # complete independent check here is that run-time errors can + # be lost in the noise if a large conversion is being done. + # Also, run-time errors will not occur for the usual case + # below where cmp finds an early difference. + for language_source in $1 ; do + $c_command < $language_source >/dev/null + c_command_rc=$? + if [ $c_command_rc -ne 0 ] ; then + echo "ERROR: $c_command failed for file $language_source" + exit 1 + fi + done else c_command="cat -" fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2010-11-02 17:16:39
|
Revision: 11300 http://plplot.svn.sourceforge.net/plplot/?rev=11300&view=rev Author: airwin Date: 2010-11-02 17:16:33 +0000 (Tue, 02 Nov 2010) Log Message: ----------- Remove all temporary restrictions so that comments styling is done for C, C++, and Java code. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2010-11-02 17:14:50 UTC (rev 11299) +++ trunk/scripts/style_source.sh 2010-11-02 17:16:33 UTC (rev 11300) @@ -160,9 +160,6 @@ # C++ source in bindings. cppsource_LIST="$cppsource_LIST bindings/qt_gui/plqt.cpp bindings/wxwidgets/wxPLplotstream.cpp bindings/wxwidgets/wxPLplotwindow.cpp bindings/wxwidgets/wxPLplotwindow.h bindings/wxwidgets/wxPLplotstream.h.in" -# temporary -exclude_c=ON -if [ -z "$exclude_c" ] ; then export javasource_LIST # Java part of bindings/java @@ -187,9 +184,6 @@ fi done -# temporary -fi - transform_source() { # $1 is a list of source files of a particular language. @@ -245,5 +239,5 @@ transform_source "$csource_LIST" C "comments" transform_source "$cppsource_LIST" CPP "comments" -#transform_source "$javasource_LIST" JAVA -#transform_source "$dsource_LIST" D +transform_source "$javasource_LIST" JAVA "comments" +transform_source "$dsource_LIST" D This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-04-13 05:20:20
|
Revision: 11700 http://plplot.svn.sourceforge.net/plplot/?rev=11700&view=rev Author: airwin Date: 2011-04-13 05:20:14 +0000 (Wed, 13 Apr 2011) Log Message: ----------- Add special commands to style swig *.i files. These files are similar to C (or C++), but they also include swig directives which are not consistent with C or C++. Therefore, uncrustify cannot handle those directives properly. The fixups for the swig directive syntax errors introduced by uncrustify are fixed with sed scripts after uncrustify is finished. (That sed correction only occurs for swig *.i files.) Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2011-04-13 05:05:20 UTC (rev 11699) +++ trunk/scripts/style_source.sh 2011-04-13 05:20:14 UTC (rev 11700) @@ -176,8 +176,25 @@ # D part of examples/d dsource_LIST="$dsource_LIST examples/d/*.d" +export swig_csource_LIST + +# API description for Swig being sure to ignore the generated file, +# bindings/swig-support/swig_documentation.i +swig_csource_LIST=bindings/swig-support/plplotcapi.i + +# Use specific names here for each C-like file controlling specific +# language bindings since some files (e.g., bindings/python/fragments.i) +# are copied from swig itself so don't mess with them. Also, ignore octave +# since that C++-like file goes under swig_cppsource_LIST. +swig_csource_LIST="$swig_csource_LIST bindings/java/plplotjavac.i" +swig_csource_LIST="$swig_csource_LIST bindings/lua/plplotluac.i" +swig_csource_LIST="$swig_csource_LIST bindings/python/plplotcmodule.i" + +export swig_cppsource_LIST +swig_cppsource_LIST=bindings/octave/plplot_octave.i + # Check that source file lists actually refer to files. -for source in $csource_LIST $cppsource_LIST $javasource_LIST $dsource_LIST ; do +for source in $csource_LIST $cppsource_LIST $javasource_LIST $dsource_LIST $swig_csource_LIST $swig_cppsource_LIST; do if [ ! -f $source ] ; then echo $source is not a regular file so this script will not work without further editing. exit 1 @@ -193,7 +210,7 @@ u_command="uncrustify -c uncrustify.cfg -q -l $2" # $3 is either "comments" to indicate comments will be transformed # using scripts/convert_comment.py or any other string (or - # nothing) to indicate uncrustify will be used. + # nothing) to indicate comment style processing will not be used. if [ "$3" = "comments" ] ; then c_command="scripts/convert_comment.py" # Check all files for run-time errors with the python script. @@ -215,22 +232,48 @@ c_command="cat -" fi + # Swig-language *.i files are approximately the same as C or C++ + # other than the %whatever swig directives. $4 is either "swig" + # to indicate a sed script should be applied to get rid of issues + # imposed by uncrustify and which is not acceptable in swig + # directives or any other string (or nothing) to indicate that + # this swig correction should not be applied. + if [ "$4" = "swig" ] ; then + # Splitting s_command into multiple invocations of sed is + # required (for reasons I have not figured out) in order for + # the changes to be done as designed. + # The first two stanzas are to deal with uncrustify + # splitting both %} and %{ by newline characters and + # also getting rid of any surrounding blanks. + # The next two stanzas are to take care of blanks inserted by + # uncrustify after % and to get rid of any + # uncrustify-generated indentation for all % swig directives. + # The next two stanzas are to place %} and %{ on individually + # separate lines. + # The next two stanzas are to deal with $ variables. + s_command='sed -e "/%$/ N" -e "s? *%\n *\([{}]\)?%\1?" |sed -e "s?% ?%?g" -e "s? *%?%?g" | sed -e "s?\(%[{}]\)\(..*\)?\1\n\2?" -e "s?\(..*\)\(%[{}]\)?\1\n\2?" | sed -e "s?\$ \* ?\$\*?g" -e "s?\$ & ?\$\&?g"' + else + s_command="cat -" + fi + # Process $c_command after $u_command so that comments will be rendered # in standard form by uncrustify before scripts/convert_comment.py - # is run. + # is run. Process the $s_command (with eval because of the + # quotes) after the $c_command to correct introduced swig styling + # errors (if in fact you are styling swig source). for language_source in $1 ; do - $u_command < $language_source | $c_command | \ + $u_command < $language_source | $c_command | eval $s_command | \ cmp --quiet $language_source - if [ "$?" -ne 0 ] ; then ls $language_source if [ "$diff" = "ON" ] ; then - $u_command < $language_source | $c_command | \ - diff $diff_options $language_source - + $u_command < $language_source | $c_command | eval $s_command | \ + diff $diff_options $language_source - fi if [ "$apply" = "ON" ] ; then - $u_command < $language_source | $c_command >| /tmp/temporary.file + $u_command < $language_source | $c_command | eval $s_command >| /tmp/temporary.file mv -f /tmp/temporary.file $language_source fi fi @@ -241,3 +284,5 @@ transform_source "$cppsource_LIST" CPP "comments" transform_source "$javasource_LIST" JAVA "comments" transform_source "$dsource_LIST" D "comments" +transform_source "$swig_csource_LIST" C "comments" "swig" +transform_source "$swig_cppsource_LIST" CPP "comments" "swig" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2012-01-11 23:07:30
|
Revision: 12126 http://plplot.svn.sourceforge.net/plplot/?rev=12126&view=rev Author: airwin Date: 2012-01-11 23:07:23 +0000 (Wed, 11 Jan 2012) Log Message: ----------- Make the --apply option safer by listing all files (and diffs as well if the --diff option is used) that will be affected before asking the question of whether to apply the changes. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2012-01-11 05:31:09 UTC (rev 12125) +++ trunk/scripts/style_source.sh 2012-01-11 23:07:23 UTC (rev 12126) @@ -4,7 +4,7 @@ # This script will run uncrustify on all source files registered in # the lists below (and scripts/convert_comment.py on all C source -# files registerd below) and summarize which uncrustified or +# files registered below) and summarize which uncrustified or # comment-converted files would be different. (convert_comment.py # converts /* ... */ style comments to the c99-acceptable // form of # comments because uncrustify does not (yet) have that configuration @@ -37,7 +37,7 @@ Options: [--diff [diff options]] Show detailed style differences in source code - with optional concatanated diff options headed + with optional concatenated diff options headed by a single hyphen. If no diff options are specified, then -auw is used by default. [--nodiff] Summarize style differences in source code (default). @@ -49,6 +49,85 @@ exit $1 } +transform_source() +{ + # $1 is a list of source files of a particular language. + # $2 is the language identification string for those source files in + # the form needed by uncrustify. From the uncrustify man page those + # language id forms are C, CPP, D, CS, JAVA, PAWN, VALA, OC, OC+ + u_command="uncrustify -c uncrustify.cfg -q -l $2" + # $3 is either "comments" to indicate comments will be transformed + # using scripts/convert_comment.py or any other string (or + # nothing) to indicate comment style processing will not be used. + if [ "$3" = "comments" ] ; then + c_command="scripts/convert_comment.py" + # Check all files for run-time errors with the python script. + # These run-time errors signal that there is some comment + # style which the script cannot handle. The reason we do this + # complete independent check here is that run-time errors can + # be lost in the noise if a large conversion is being done. + # Also, run-time errors will not occur for the usual case + # below where cmp finds an early difference. + for language_source in $1 ; do + $c_command < $language_source >/dev/null + c_command_rc=$? + if [ $c_command_rc -ne 0 ] ; then + echo "ERROR: $c_command failed for file $language_source" + exit 1 + fi + done + else + c_command="cat -" + fi + + # Swig-language *.i files are approximately the same as C or C++ + # other than the %whatever swig directives. $4 is either "swig" + # to indicate a sed script should be applied to get rid of issues + # imposed by uncrustify and which is not acceptable in swig + # directives or any other string (or nothing) to indicate that + # this swig correction should not be applied. + if [ "$4" = "swig" ] ; then + # Splitting s_command into multiple invocations of sed is + # required (for reasons I have not figured out) in order for + # the changes to be done as designed. + # The first two stanzas are to deal with uncrustify + # splitting both %} and %{ by newline characters and + # also getting rid of any surrounding blanks. + # The next two stanzas are to take care of blanks inserted by + # uncrustify after % and to get rid of any + # uncrustify-generated indentation for all % swig directives. + # The next two stanzas are to place %} and %{ on individually + # separate lines. + # The next two stanzas are to deal with $ variables. + s_command='sed -e "/%$/ N" -e "s? *%\n *\([{}]\)?%\1?" |sed -e "s?% ?%?g" -e "s? *%?%?g" | sed -e "s?\(%[{}]\)\(..*\)?\1\n\2?" -e "s?\(..*\)\(%[{}]\)?\1\n\2?" | sed -e "s?\$ \* ?\$\*?g" -e "s?\$ & ?\$\&?g"' + else + s_command="cat -" + fi + + # Process $c_command after $u_command so that comments will be rendered + # in standard form by uncrustify before scripts/convert_comment.py + # is run. Process the $s_command (with eval because of the + # quotes) after the $c_command to correct introduced swig styling + # errors (if in fact you are styling swig source). + + for language_source in $1 ; do + $u_command < $language_source | $c_command | eval $s_command | \ + cmp --quiet $language_source - + if [ "$?" -ne 0 ] ; then + ls $language_source + if [ "$apply" = "ON" ] ; then + $u_command < $language_source | $c_command | eval $s_command >| /tmp/temporary.file + mv -f /tmp/temporary.file $language_source + fi + + if [ "$diff" = "ON" ] ; then + $u_command < $language_source | $c_command | eval $s_command | \ + diff $diff_options $language_source - + fi + fi + done +} + # Figure out what script options were specified by the user. # Defaults export diff=OFF @@ -100,22 +179,6 @@ exit 1 fi -if [ "$apply" = "ON" ] ; then - echo ' -The --apply option is POWERFUL and will replace _all_ files mentioned in -previous runs of style_source.sh with their uncrustified versions. -' - ANSWER= - while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do - echo -n "Continue (yes/no)? " - read ANSWER - done - if [ "$ANSWER" = "no" ] ; then - echo "Immediate exit specified!" - exit - fi -fi - export csource_LIST # Top level directory. csource_LIST="config.h.cmake" @@ -201,85 +264,31 @@ fi done -transform_source() -{ - # $1 is a list of source files of a particular language. - # $2 is the language identification string for those source files in - # the form needed by uncrustify. From the uncrustify man page those - # language id forms are C, CPP, D, CS, JAVA, PAWN, VALA, OC, OC+ - u_command="uncrustify -c uncrustify.cfg -q -l $2" - # $3 is either "comments" to indicate comments will be transformed - # using scripts/convert_comment.py or any other string (or - # nothing) to indicate comment style processing will not be used. - if [ "$3" = "comments" ] ; then - c_command="scripts/convert_comment.py" - # Check all files for run-time errors with the python script. - # These run-time errors signal that there is some comment - # style which the script cannot handle. The reason we do this - # complete independent check here is that run-time errors can - # be lost in the noise if a large conversion is being done. - # Also, run-time errors will not occur for the usual case - # below where cmp finds an early difference. - for language_source in $1 ; do - $c_command < $language_source >/dev/null - c_command_rc=$? - if [ $c_command_rc -ne 0 ] ; then - echo "ERROR: $c_command failed for file $language_source" - exit 1 - fi - done - else - c_command="cat -" +if [ "$apply" = "ON" ] ; then + apply=OFF + # Should be the exact same transform_source commands as below. + transform_source "$csource_LIST" C "comments" + transform_source "$cppsource_LIST" CPP "comments" + transform_source "$javasource_LIST" JAVA "comments" + transform_source "$dsource_LIST" D "comments" + transform_source "$swig_csource_LIST" C "comments" "swig" + transform_source "$swig_cppsource_LIST" CPP "comments" "swig" + apply=ON + echo ' +The --apply option is POWERFUL and will replace _all_ files mentioned above +(if any) with their styled versions. +' + ANSWER= + while [ "$ANSWER" != "yes" -a "$ANSWER" != "no" ] ; do + echo -n "Continue (yes/no)? " + read ANSWER + done + if [ "$ANSWER" = "no" ] ; then + echo "Immediate exit specified!" + exit fi +fi - # Swig-language *.i files are approximately the same as C or C++ - # other than the %whatever swig directives. $4 is either "swig" - # to indicate a sed script should be applied to get rid of issues - # imposed by uncrustify and which is not acceptable in swig - # directives or any other string (or nothing) to indicate that - # this swig correction should not be applied. - if [ "$4" = "swig" ] ; then - # Splitting s_command into multiple invocations of sed is - # required (for reasons I have not figured out) in order for - # the changes to be done as designed. - # The first two stanzas are to deal with uncrustify - # splitting both %} and %{ by newline characters and - # also getting rid of any surrounding blanks. - # The next two stanzas are to take care of blanks inserted by - # uncrustify after % and to get rid of any - # uncrustify-generated indentation for all % swig directives. - # The next two stanzas are to place %} and %{ on individually - # separate lines. - # The next two stanzas are to deal with $ variables. - s_command='sed -e "/%$/ N" -e "s? *%\n *\([{}]\)?%\1?" |sed -e "s?% ?%?g" -e "s? *%?%?g" | sed -e "s?\(%[{}]\)\(..*\)?\1\n\2?" -e "s?\(..*\)\(%[{}]\)?\1\n\2?" | sed -e "s?\$ \* ?\$\*?g" -e "s?\$ & ?\$\&?g"' - else - s_command="cat -" - fi - - # Process $c_command after $u_command so that comments will be rendered - # in standard form by uncrustify before scripts/convert_comment.py - # is run. Process the $s_command (with eval because of the - # quotes) after the $c_command to correct introduced swig styling - # errors (if in fact you are styling swig source). - - for language_source in $1 ; do - $u_command < $language_source | $c_command | eval $s_command | \ - cmp --quiet $language_source - - if [ "$?" -ne 0 ] ; then - ls $language_source - if [ "$diff" = "ON" ] ; then - $u_command < $language_source | $c_command | eval $s_command | \ - diff $diff_options $language_source - - fi - - if [ "$apply" = "ON" ] ; then - $u_command < $language_source | $c_command | eval $s_command >| /tmp/temporary.file - mv -f /tmp/temporary.file $language_source - fi - fi - done -} - transform_source "$csource_LIST" C "comments" transform_source "$cppsource_LIST" CPP "comments" transform_source "$javasource_LIST" JAVA "comments" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2012-01-13 02:06:09
|
Revision: 12127 http://plplot.svn.sourceforge.net/plplot/?rev=12127&view=rev Author: airwin Date: 2012-01-13 02:06:02 +0000 (Fri, 13 Jan 2012) Log Message: ----------- For the --apply option change the shell script logic to do the following steps: 1. List all files (and diffs all files if the --diff option is used as well) that will be changed. 2. Ask whether you want to apply those changes. If no, immediate exit. If yes, proceed with the further steps. 3. Apply the changes. 4. List all files (and diffs all files if the --diff option is used as well) that required further styling after the current style changes were made. Normally, this step does not list anything, but it does warn you when further runs of the script are required on those rare occasions where uncrustify has to be applied iteratively. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2012-01-11 23:07:23 UTC (rev 12126) +++ trunk/scripts/style_source.sh 2012-01-13 02:06:02 UTC (rev 12127) @@ -110,16 +110,28 @@ # quotes) after the $c_command to correct introduced swig styling # errors (if in fact you are styling swig source). + # N.B. for the --apply option, transform_source is called twice; + # once with apply=OFF and once with it on. For the first call + # with apply=OFF the logic below lists all files (and diffs all + # files if that option is used) that will be changed. For the + # second call with apply=ON, the logic below changes the source + # files and then lists (and diffs if that option is set) any + # remaining changes that still have to be done. (On rare + # occasions, uncrustify has to be applied iteratively.) + for language_source in $1 ; do + if [ "$apply" = "ON" ] ; then + $u_command < $language_source | $c_command | eval $s_command | \ + cmp --quiet $language_source - + if [ "$?" -ne 0 ] ; then + $u_command < $language_source | $c_command | eval $s_command >| /tmp/temporary.file + mv -f /tmp/temporary.file $language_source + fi + fi $u_command < $language_source | $c_command | eval $s_command | \ cmp --quiet $language_source - if [ "$?" -ne 0 ] ; then ls $language_source - if [ "$apply" = "ON" ] ; then - $u_command < $language_source | $c_command | eval $s_command >| /tmp/temporary.file - mv -f /tmp/temporary.file $language_source - fi - if [ "$diff" = "ON" ] ; then $u_command < $language_source | $c_command | eval $s_command | \ diff $diff_options $language_source - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-08-12 22:59:09
|
Revision: 12480 http://sourceforge.net/p/plplot/code/12480 Author: airwin Date: 2013-08-12 22:59:06 +0000 (Mon, 12 Aug 2013) Log Message: ----------- The *.h.cmake glob fails now since all of those have been renamed as *.h.in. So remove that glob from the list of C sources to style. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2013-08-09 23:38:29 UTC (rev 12479) +++ trunk/scripts/style_source.sh 2013-08-12 22:59:06 UTC (rev 12480) @@ -193,13 +193,13 @@ export csource_LIST # Top level directory. -csource_LIST="config.h.cmake" +csource_LIST="config.h.in" # src directory csource_LIST="$csource_LIST src/*.[ch]" # All C source (i.e., exclude qt.h) in include directory. -csource_LIST="$csource_LIST $(ls include/*.h include/*.h.in include/*.h.cmake |grep -v qt.h)" +csource_LIST="$csource_LIST $(ls include/*.h include/*.h.in |grep -v qt.h)" # Every subdirectory of lib. csource_LIST="$csource_LIST lib/*/*.[ch] lib/qsastime/qsastimeP.h.in" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-03-04 20:41:21
|
Revision: 13036 http://sourceforge.net/p/plplot/code/13036 Author: airwin Date: 2014-03-04 20:41:18 +0000 (Tue, 04 Mar 2014) Log Message: ----------- Fix syntax error (missing double quote) introduced by last commit. Modified Paths: -------------- trunk/scripts/style_source.sh Modified: trunk/scripts/style_source.sh =================================================================== --- trunk/scripts/style_source.sh 2014-03-04 19:11:54 UTC (rev 13035) +++ trunk/scripts/style_source.sh 2014-03-04 20:41:18 UTC (rev 13036) @@ -214,7 +214,7 @@ # C source in utils. csource_LIST="$csource_LIST utils/*.c" -csource_LIST="$csource_LIST bindings/tcl/*.[ch] bindings/f95/*.c bindings/f95/plstubs.h bindings/gnome2/*/*.c bindings/ocaml/plplot_impl.c bindings/ocaml/plcairo/plcairo_impl.c bindings/python/plplot_widgetmodule.c bindings/tk/*.[ch] bindings/tk-x-plat/*.[ch] +csource_LIST="$csource_LIST bindings/tcl/*.[ch] bindings/f95/*.c bindings/f95/plstubs.h bindings/gnome2/*/*.c bindings/ocaml/plplot_impl.c bindings/ocaml/plcairo/plcairo_impl.c bindings/python/plplot_widgetmodule.c bindings/tk/*.[ch] bindings/tk-x-plat/*.[ch]" export cppsource_LIST This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |