lcsim-contrib/src/main/java/org/lcsim/contrib/uiowa/uiowapfa/scripts
diff -N importCode.csh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ importCode.csh 27 May 2011 13:09:20 -0000 1.1
@@ -0,0 +1,186 @@
+#!/bin/csh -f
+
+#### This part constitute actually a hard-coded input to this script
+set packages = ""
+set packages = "${packages} recon.cluster.clumpfinder"
+set packages = "${packages} recon.cluster.clumpfinder.kmean"
+set packages = "${packages} recon.cluster.structural"
+set packages = "${packages} recon.cluster.structural.likelihood"
+set packages = "${packages} recon.pfa.structural"
+set packages = "${packages} recon.pfa.structural.sharing"
+set packages = "${packages} recon.pfa.structural.shower"
+
+set mainDir = "lcsim/src/org/lcsim"
+set contribDir = "lcsim-contrib/src/main/java/org/lcsim/contrib/uiowa/uiowapfa"
+set mainPrefix = "org.lcsim"
+set contribPrefix = "org.lcsim.contrib.uiowa.uiowapfa"
+############################################################
+
+
+
+alias printInfo 'if(${beVerbose} == true) echo'
+
+set label = "main"
+goto ${label}
+
+displayHelp:
+ if( ${copyMode} == "undefined" ) then
+ set src = "<path>/<relative path to source>"
+ set dst = "<path>/<relative path to destination>"
+ set srcPrefix = "<source root package>"
+ set dstPrefix = "<destination root package>"
+ endif
+ echo ""
+ echo " This script will import uiowa PFA code from the location:"
+ echo " ${src}"
+ echo " to the location:"
+ echo " ${dst}"
+ echo ""
+ if( ${beVerbose} == true ) then
+ echo " The following packages will be immported:"
+ foreach package (${packages})
+ echo " ${srcPrefix}.${package} into ${dstPrefix}.${package}"
+ end
+ echo ""
+ echo " All *.java files in the following locations, if they exist, will be overwritten"
+ foreach package (${packages})
+ set packageLocation = `echo ${dst}/${package} | sed "s,\.,/,g"`
+ echo " ${packageLocation}"
+ end
+ echo ""
+ echo " Package declarations and import commands will be fixed in the imported *java files."
+ echo ""
+ endif
+ if( ${copyMode} == undefined ) then
+ echo " where in import mode:"
+ echo " <relative path to source> = ${mainDir}"
+ echo " <relative path to destination> = ${contribDir}"
+ printInfo " <source root package> = ${mainPrefix}"
+ printInfo " <destination root package> = ${contribPrefix}"
+ echo " and in export mode:"
+ echo " <relative path to source> = ${contribDir}"
+ echo " <relative path to destination> = ${mainDir}"
+ printInfo " <source root package> = ${contribPrefix}"
+ printInfo " <destination root package> = ${mainPrefix}"
+ echo ""
+ endif
+ goto ${label}
+
+displayUsage:
+ echo ""
+ echo " Usage: ${script} [-i,--import|-e,--export] [-v,--verbose] [-h,--help] <path>"
+ echo " Options are:"
+ echo " -h, --help: print help message and exit"
+ echo " -v, --verbose: execute in verbose mode"
+ echo " -e, --export: export from contrib to main area"
+ echo " -i, --import: import from main area to contrib"
+ echo ""
+ goto ${label}
+
+# Main
+main:
+
+set script = $0
+set localPath = "path"
+set copyMode = undefined
+set beVerbose = false
+
+foreach arg ($argv)
+ if( ${arg} == "--help" || ${arg} == "-h" ) then
+ set label = helping
+ goto displayUsage
+ helping:
+ set copyMode = undefined
+ set beVerbose = true
+ set label = endOfScript
+ goto displayHelp
+ else if( ${arg} == "--verbose" || ${arg} == "-v" ) then
+ set beVerbose = true
+ else if( ${arg} == "--export" || ${arg} == "-e" ) then
+ set copyMode = exporting
+ else if( ${arg} == "--import" || ${arg} == "-i" ) then
+ set copyMode = importing
+ else if( ${localPath} == "path" ) then
+ set localPath = ${arg}
+ else
+ echo "agument $arg was ignored: path = $localPath"
+ endif
+end
+
+if( ${copyMode} == exporting ) then
+ set src = "${localPath}/${contribDir}"
+ set dst = "${localPath}/${mainDir}"
+ set srcPrefix = ${contribPrefix}
+ set dstPrefix = ${mainPrefix}
+else if( ${copyMode} == importing ) then
+ set src = "${localPath}/${mainDir}"
+ set dst = "${localPath}/${contribDir}"
+ set srcPrefix = ${mainPrefix}
+ set dstPrefix = ${contribPrefix}
+else
+ echo "You must run in either import or export mode"
+ set label = endOfScript
+ goto displayUsage
+endif
+
+if (${localPath} == "path") then
+ echo "Not enough arguments"
+ set label = endOfScript
+ goto displayUsage
+endif
+
+set label = promptForProceed
+goto displayHelp
+
+promptForProceed:
+
+echo "Do you wish to proceed with this operation? [y/N]"
+set resp = $<
+set resp = `echo ${resp} | tr '[A-Z]' '[a-z]'`
+if(${resp} != "y") then
+ echo "operation aborted by user..."
+ goto endOfScript
+endif
+
+if (! -d ${src}) then
+ echo "the code was not found at the source:"
+ echo " ${src}: no such directory"
+ goto endOfScript
+endif
+
+foreach package ($packages)
+ set srcPackage = ${srcPrefix}.${package}
+ set dstPackage = ${dstPrefix}.${package}
+ set packageSrcDir = `echo ${src}/${package} | sed "s,\.,/,g"`
+ set packageDstDir = `echo ${dst}/${package} | sed "s,\.,/,g"`
+ echo "Working on package: ${srcPackage}"
+ printInfo " destination package: ${dstPackage}"
+ if(! -d ${packageSrcDir}) then
+ echo "source code not found: ${packageSrcDir} no such directory"
+ goto endScript
+ endif
+ printInfo " source code is at: ${packageSrcDir}"
+ printInfo " destination code is at: ${packageDstDir}"
+ if(-d ${packageDstDir}) then
+ printInfo " destination code already exist: removing *.java files from destination"
+ rm -f ${packageDstDir}/*.java
+ else
+ printInfo " destination code does not exist: creating it"
+ mkdir -p ${packageDstDir}
+ endif
+ printInfo " now copying *.java files from source to destination"
+ cp ${packageSrcDir}/*.java ${packageDstDir}
+ printInfo " now fixing package declarations and import commands"
+ foreach p (${packages})
+ set srcp = ${srcPrefix}.${p}
+ set dstp = ${dstPrefix}.${p}
+ echo " replacing ${srcp} by ${dstp}"
+ foreach file (${packageDstDir}/*.java)
+ cat ${file} | sed "s,${srcp},${dstp},g" > tmp
+ mv tmp ${file}
+ end
+ end
+end
+
+endOfScript:
+ exit