history_create_command = "fhist ${b $i} -create -i $i -p ${d $h} -r"; history_get_command = "fhist ${b $h} -e '$e' -o $o -p ${d $h}"; history_put_command = "fhist ${b $i} -u -i $i -p ${d $h} -r"; history_query_command = "fhist ${b $h} -l 0 -p ${d $h} -q"; build_command = "cook -b ${s Howto.cook} project=$p change=$c version=$v -nl"; link_integration_directory = true; diff_command = "fcomp -w $original $input -o $output"; diff3_command = "fmerge $original $MostRecent $input -o $output"; develop_begin_command = "ln -s $baseline baseline; /public/public/monopoly/buildtests $p $c"; file_template = [ { pattern = [ "*.sh" ]; body = "#!/bin/sh\n\ ################################################################\n\ #\n\ # [# Edit, Date, User, Module #]\n\ #\n\ # test-script for ${project}\n\ #\n\ here=`pwd`\n\ if test $$? -ne 0 ; then exit 1; fi\n\ tmp=/tmp/$$$$\n\ mkdir $$tmp\n\ if test $$? -ne 0 ; then exit 1; fi\n\ cd $$tmp\n\ if test $$? -ne 0 ; then exit 1; fi\n\ \n\ fail()\n\ {\n\ echo FAILED 1>&2\n\ cd $$here\n\ chmod u+w `find $$tmp -type d -print`\n\ rm -rf $$tmp\n\ exit 1\n\ }\n\ \n\ pass()\n\ {\n\ cd $$here\n\ chmod u+w `find $$tmp -type d -print`\n\ rm -rf $$tmp\n\ exit 0\n\ }\n\ \n\ trap 'fail' 1 2 3 15\n\ \n\ ### Enter argument list for `monopoly' here ###\n\ arglist='2'\n\ \n\ diffpp > test.in << 'endOfSampleInput'\n\ #######################################################\n\ #\n\ # SAMPLE INPUT: This input will be piped through\n\ # `diffpp', which will remove all comments and \n\ # map all series of whitespaces onto one whitespace.\n\ # This means you can format your input any way you\n\ # you want and add comments. PLEASE USE THIS FEATURE!\n\ # Other people might want to know ...\n\ #\n\ #######################################################\n\ \n\ ### Insert sample input here !! ###\n\ \n\ endOfSampleInput\n\ if test $$? -ne 0 ; then fail; fi\n\ \n\ diffpp > test.ok << 'endOfExpectedOutput'\n\ #######################################################\n\ #\n\ # EXPECTED OUTPUT: The following text will be piped through\n\ # `diffpp', which will remove all comments and \n\ # map all series of whitespaces onto one whitespace.\n\ # This means you can format your input any way you\n\ # you want and add comments. PLEASE USE THIS FEATURE!\n\ # Other people might want to know ...\n\ #\n\ #######################################################\n\ \n\ ### Insert expected output here !! ###\n\ \n\ endOfExpectedOutput\n\ if test $$? -ne 0 ; then fail; fi\n\ \n\ $$here/monopoly $$arglist < test.in | diffpp > test.out\n\ if test $$? -ne 0 ; then fail; fi\n\ \n\ diff test.ok test.out\n\ if test $$? -ne 0 ; then fail; fi\n\ \n\ # it probably worked\n\ pass"; }, { pattern = [ "*.h" ]; body = "// This may look like C code, but it is really -*- C++ -*-\n\ //\n\ // $${project} -- Copyright (c) University of Aizu 1994\n\ //\n\ // [# Edit, Date, User, Module #]\n\ //\n\ \n\ // Wrappers protect against including this file more than once\n\ \n\ #ifndef ${id ${File_Name}}\n\ #define ${id ${File_Name}} 1\n\ \n\ //\n\ // >>> Insert short module description here <<<\n\ //\n\ \n\ #include \n\ \n\ // >>> Insert interface definitions here\n\ class ${Basename ${File_Name} .h} {\n\ public:\n\ // constructors (using \"new\"? Do not forget copy constructor!!!)\n\ ${Basename ${File_Name} .h}(void);\n\ ${Basename ${File_Name} .h}(${Basename ${File_Name} .h} const &);\n\ \n\ // virtual destructor\n\ virtual ~${Basename ${File_Name} .h}(void);\n\ \n\ // assignment and comparison operators\n\ ${Basename ${File_Name} .h}& operator=(${Basename ${File_Name} .h} const &);\n\ int operator==(${Basename ${File_Name} .h} const &) const;\n\ \n\ // action member functions\n\ \n\ // IO\n\ virtual char* className(void) const;\n\ virtual IOstatus readContents(void);\n\ virtual IOstatus writeContents(void) const;\n\ \n\ private:\n\ // friends\n\ // instance variables ending with an underscore (`_').\n\ };\n\ \n\ // End of wrapper\n\ #endif\n\ // End of file"; }, { pattern = [ "*.C" ]; body = "// This may look like C code, but it is really -*- C++ -*-\n\ \n\ //\n\ // ${project} -- Copyright (c) University of Aizu 1994\n\ //\n\ // [# Edit, Date, User, Module #]\n\ \n\ // include local external class definitions here:\n\ #include <${Basename ${File_Name} .C}.h>\n\ \n\ // >>> Insert ${File_Name} implementation here <<<\n\ \n\ // constructors (using \"new\"? Do not forget copy constructor!!!)\n\ ${Basename ${File_Name} .C}::${Basename ${File_Name} .C}(void)\n{\n}\n\ ${Basename ${File_Name} .C}::${Basename ${File_Name} .C}(${Basename ${File_Name} .C} const &${downcase ${Basename ${File_Name} .C}})\n{\n}\n\ \n\ // virtual destructor\n\ virtual ${Basename ${File_Name} .C}::~${Basename ${File_Name} .C}(void)\n{\n}\n\ \n\ // assignment and comparison operators\n\ ${Basename ${File_Name} .C}& ${Basename ${File_Name} .C}::operator=(${Basename ${File_Name} .C} const &${downcase ${Basename ${File_Name} .C}})\n\ {\n\ return *this;\n\ }\n\ int ${Basename ${File_Name} .C}::operator==(${Basename ${File_Name} .C} const &${downcase ${Basename ${File_Name} .C}}) const\n{\n}\n\ \n\ // action member functions\n\ \n\ // IO\n\ virtual char* ${Basename ${File_Name} .C}::className(void) const \ { return \"${Basename ${File_Name} .C}\"; }\n\n\ virtual IOstatus ${Basename ${File_Name} .C}::readContents(void)\n\ {\n\ // remember to call the \"readContents\" of the class from which you derived!\n\ return ok;\n\ }\n\n\ virtual IOstatus ${Basename ${File_Name} .C}::writeContents(void) const\n\ {\n\ // remember to call the \"writeContents\" of the class from which you derived!\n\ return ok;\n\ }\n\n\ // End of file"; } ];