Make sure to do the pgsql/bin directory, and the src/interfaces/odbc
directory. Merge the output of these and remove duplicates.
+---------------------------------------------------------------------------
+
+For java, we use astyle, http://astyle.sourceforge.net/, with the
+following options:
+
+ find . -name '*.java' -type f -print | xargs -n100 pgjindent
for FILE
do
- cat $FILE |
+ cat "$FILE" |
# convert // comments to /* */
sed 's;^\([ ]*\)//\(.*\)$;\1/* \2 */;g' |
# mark some comments for special treatment later
# add space after comments that start on tab stops
sed 's,;\(/\*.*\*/\)$,; \1,' |
# work around #else indenting next line if #ifdef defines variables at top
-# work around case misindenting function has no variables defined
+# work around misindenting of function with no variables defined
awk '
{
if ($0 ~ "^[ ]*int[ ]*pgindent_func_no_var_fix;")
}
else print $0;
}' |
+# remove tabs and retab with four spaces
detab -t8 -qc |
entab -t4 -qc |
# move trailing * in function return type
}
else print $0;
}' |
- cat >/tmp/$$ && cat /tmp/$$ >$FILE
+ cat >/tmp/$$ && cat /tmp/$$ >"$FILE"
done
# The 'for' loop makes these backup files useless so delete them
--- /dev/null
+#!/bin/sh
+
+trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
+entab /dev/null
+if [ "$?" -ne 0 ]
+then echo "Go to the src/tools/entab directory and do a 'make' and 'make install'." >&2
+ echo "This will put the 'entab' command in your path." >&2
+ echo "Then run $0 again."
+ exit 1
+fi
+astyle --version /dev/null 2>&1
+if [ "$?" -eq 0 ]
+then echo "You do not appear to have 'astyle' installed on your system." >&2
+ exit 1
+fi
+
+for FILE
+do
+ astyle --style=java -b -p -j < "$FILE" >/tmp/$$ 2>/tmp/$$a
+ if [ "$?" -ne 0 -o -s /tmp/$$a ]
+ then echo "$FILE"
+ cat /tmp/$$a
+ fi
+ cat /tmp/$$ |
+ entab -t4 -qc |
+ cat >/tmp/$$a && cat /tmp/$$a >"$FILE"
+done