RAT (Release Audit Tool) results

The following document contains the results of RAT (Release Audit Tool).

*****************************************************
Summary
-------
Notes: 0
Binaries: 0
Archives: 0
Standards: 101

Apache Licensed: 66
Generated Documents: 0

JavaDocs are generated and so license header is optional
Generated files do not required license headers

35 Unknown Licenses

*******************************

Unapproved licenses:

  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/abort.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/abort.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/findPid.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/findPid.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/forget.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/forget.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/nextMinute.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/sourceEnvFile.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/sourceEnvFile.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/stop.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/validateEnvFile.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/validateEnvFile.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/functions/nonewline.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/functions/nonewline.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/client_rb.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/client_rb.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/forget.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_flipped.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_params.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_plainuser.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_standard.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_ebs.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_env.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_env.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_find_pid.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_find_pid.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_init.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_init.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun_header.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_script.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_script.sh
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_seek_and_destroy.cmd
  /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_seek_and_destroy.sh

*******************************

Archives:

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require AL headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc will be marked N
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/ShellToken.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/Statement.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/StatementList.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/StatementVisitor.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/Statements.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/StoppableJavaInitMetadata.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/SwitchArg.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/UnzipHttpResponseIntoDirectory.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/AcceptsStatementVisitor.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/AdminAccessVisitor.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/AppendFile.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/AuthorizeRSAPublicKey.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/Call.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/CreateRunScript.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/InitMetadata.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/InstallRSAPrivateKey.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/InterpretableStatement.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/JavaInitMetadata.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/Kill.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/OsFamily.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/PipeHttpResponseTo.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/PipeHttpResponseToBash.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/PipeHttpResponseToTarxpzfIntoDirectory.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/SaveHttpResponseTo.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/functions/CredentialsFromAdminAccess.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/functions/InitAdminAccess.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/AdminAccess.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/DefaultConfiguration.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/ReplaceShadowPasswordEntry.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/ReplaceShadowPasswordEntryOfLoginUser.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/ShadowStatements.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/SudoStatements.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/Sudoers.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/UserAdd.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/ssh/AuthorizeRSAPublicKeys.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/ssh/InstallRSAPrivateKey.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/ssh/SshStatements.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/ssh/SshdConfig.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/util/Utils.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/EnvBuilder.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/InitBuilder.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/java/org/jclouds/scriptbuilder/ScriptBuilder.java
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/abort.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/abort.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/findPid.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/findPid.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/forget.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/forget.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/nextMinute.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/sourceEnvFile.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/sourceEnvFile.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/stop.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/validateEnvFile.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/validateEnvFile.sh
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/AppendFileTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/CallTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/CreateRunScriptTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/PipeHttpResponseToTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/ShellTokenTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/StatementListTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/SwitchArgTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/domain/UnzipHttpResponseIntoDirectoryToTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/functions/CredentialsFromAdminAccessTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/functions/InitAdminAccessTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/login/AdminAccessTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/login/ReplaceShadowPasswordEntryOfLoginUserTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/login/ReplaceShadowPasswordEntryTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/login/SudoStatementsTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/login/TestConfiguration.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/login/UserAddTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/ssh/AuthorizeRSAPublicKeyTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/ssh/InstallRSAPrivateKeyTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/statements/ssh/SshStatementsTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/util/UtilsTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/EnvBuilderTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/InitBuilderTest.java
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/java/org/jclouds/scriptbuilder/ScriptBuilderTest.java
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/functions/nonewline.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/functions/nonewline.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/client_rb.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/client_rb.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/forget.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_flipped.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_params.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_plainuser.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_standard.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_ebs.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_env.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_env.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_find_pid.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_find_pid.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_init.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_init.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun_header.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_script.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_script.sh
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_seek_and_destroy.cmd
 !????? /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_seek_and_destroy.sh
  AL    /scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/pom.xml
 
 *****************************************************
 Printing headers for files without AL header...
 
 
 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/abort.cmd
 =======================================================================
:abort
   echo aborting: %EXCEPTION%
   exit /b 1

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/abort.sh
 =======================================================================
function abort {
   echo "aborting: $@" 1>&2
   exit 1
}

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/findPid.cmd
 =======================================================================
:findPid
   set FOUND_PID=
   set _expression=%1
   shift
   set FIND_PROCESS=TASKLIST /FI "WINDOWTITLE eq %_expression%" /NH
   FOR /F "usebackq tokens=2 delims= " %%A IN (`cmd /c "%FIND_PROCESS% 2>NUL"`) DO (
      SET FOUND_PID=%%A
   )
   if defined FOUND_PID (
      exit /b 0
   ) else (
      set EXCEPTION=%_expression% not found
      exit /b 1
   )

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/findPid.sh
 =======================================================================
function findPid {
   unset FOUND_PID;
   [ $# -eq 1 ] || {
      abort "findPid requires a parameter of pattern to match"
      return 1
   }
   local PATTERN="$1"; shift
   local _FOUND=`ps auxwww|grep "$PATTERN"|grep -v " $0"|grep -v grep|grep -v $$|awk '{print $2}'`
   [ -n "$_FOUND" ] && {
      export FOUND_PID=$_FOUND
      return 0
   } || {
      return 1
   }
}

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/forget.cmd
 =======================================================================
:forget
   SETLOCAL
   set FOUND_PID=
   set NEXT_MINUTE=
   set INSTANCE_NAME=%1
   shift
   set SCRIPT=%1
   shift
   set LOG_DIR=%1
   shift
   CALL :findProcess %INSTANCE_NAME%
   if defined FOUND_PID (
      echo %INSTANCE_NAME% already running pid [%FOUND_PID%]
   ) else (
      CALL :nextMinute
      set _DATE=%DATE:~4%
      set CMD=schtasks /create /sd %_DATE% /tn %INSTANCE_NAME% /ru System /tr "cmd /c title %INSTANCE_NAME%&%SCRIPT% >%LOG_DIR%\stdout.log 2>%LOG_DIR%\stderr.log" /sc:once /st %NEXT_MINUTE%
      echo %INSTANCE_NAME% will start at %NEXT_MINUTE%
      set SECONDS=%TIME:~6,2%
      set /a SECOND=60-SECONDS
      %CMD% >NUL
      ping -n %SECONDS% 127.0.0.1 > NUL 2>&1
      CALL :findProcess %INSTANCE_NAME%
      if not defined FOUND_PID (
         set EXCEPTION=%INSTANCE_NAME% did not start
         abort
      )
   ) 
   exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/forget.sh
 =======================================================================
function forget {
   unset FOUND_PID;
   [ $# -eq 3 ] || {
      abort "forget requires parameters INSTANCE_NAME SCRIPT LOG_DIR"
      return 1
   }
   local INSTANCE_NAME="$1"; shift
   local SCRIPT="$1"; shift
   local LOG_DIR="$1"; shift
   mkdir -p $LOG_DIR
   findPid $INSTANCE_NAME
   [ -n "$FOUND_PID" -a -f $LOG_DIR/stdout.log ] && {
      echo $INSTANCE_NAME already running pid [$FOUND_PID]
   } || {
      nohup $SCRIPT >$LOG_DIR/stdout.log 2>$LOG_DIR/stderr.log &
      sleep 1
      findPid $INSTANCE_NAME
      [ -n "$FOUND_PID" ] || abort "$INSTANCE_NAME did not start"
   }
   return 0
}

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/nextMinute.cmd
 =======================================================================
:nextMinute
   SETLOCAL
   set HOURS=%TIME:~0,2%
   set MINUTES=%TIME:~3,2%

   set /a HOURS=%HOURS%
   set /a MINUTES+=1

   if %MINUTES% EQU 60 (set MINUTES=0&set /a HOURS+=1)
   if %HOURS% EQU 24 (set HOURS=0)

   if %HOURS% LSS 10 set HOURS=0%HOURS%
   if %MINUTES% LSS 10 set MINUTES=0%MINUTES%

   ENDLOCAL&SET NEXT_MINUTE=%HOURS%:%MINUTES%:00
   exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/sourceEnvFile.cmd
 =======================================================================
:sourceEnvFile
   set ENV_FILE=%1
   shift
   if not defined ENV_FILE (
      set EXCEPTION=sourceEnvFile requires a parameter of the file to source
      exit /b 1
   )
   call %ENV_FILE%
   if errorlevel 1 (
      set EXCEPTION=Please append 'exit /b 0' to the end of '%ENV_FILE%'
      exit /b 1
   )
   exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/sourceEnvFile.sh
 =======================================================================
function sourceEnvFile {
   [ $# -eq 1 ] || {
      abort "sourceEnvFile requires a parameter of the file to source"
      return 1
   }
   local ENV_FILE="$1"; shift
   . "$ENV_FILE" || {
      abort "Please append 'return 0' to the end of '$ENV_FILE'"
      return 1
   }
   return 0
}

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/stop.cmd
 =======================================================================
:abort
   CALL :findProcess %INSTANCE_NAME%
   if defined _pid (
      echo stopping %INSTANCE_NAME%
      TASKKILL /F /T /PID %FOUND_PID% >NUL
   )
   schtasks /end /tn %INSTANCE_NAME% >NUL 2>NUL
   schtasks /delete /tn %INSTANCE_NAME% /F >NUL 2>NUL
   exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/validateEnvFile.cmd
 =======================================================================
:validateEnvFile
   set ENV_FILE=%1
   shift
   if not defined ENV_FILE (
      set EXCEPTION=validateEnvFile requires a parameter of the file to source
      exit /b 1
   )
   if not exist "%ENV_FILE%" (
      set EXCEPTION=env file '%ENV_FILE%' does not exist
      exit /b 1
   )
   exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/main/resources/functions/validateEnvFile.sh
 =======================================================================
function validateEnvFile {
   [ $# -eq 1 ] || {
      abort "validateEnvFile requires a parameter of the file to source"
      return 1
   }
   local ENV_FILE="$1"; shift
   [ -f "$ENV_FILE" ] || {
      abort "env file '$ENV_FILE' does not exist"
      return 1
   }
   [ -r "$ENV_FILE" ] || {
      abort "env file '$ENV_FILE' is not readable"
      return 1
   }
   grep '\<exit\>' "$ENV_FILE" > /dev/null && {
      abort "please remove the 'exit' statement from env file '$ENV_FILE'"
      return 1
   }
   [ -x "$ENV_FILE" ] && {
      abort "please remove the execute permission from env file '$ENV_FILE'"
      return 1
   }
   return 0
}

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/functions/nonewline.cmd
 =======================================================================
foo

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/functions/nonewline.sh
 =======================================================================
foo

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/client_rb.cmd
 =======================================================================
echo log_level :info>>c:\etc\chef\client.rb
echo log_location STDOUT>>c:\etc\chef\client.rb
echo chef_server_url "http://localhost:4000">>c:\etc\chef\client.rb

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/client_rb.sh
 =======================================================================
cat >> /etc/chef/client.rb <<'END_OF_FILE'
log_level :info
log_location STDOUT
chef_server_url "http://localhost:4000"
END_OF_FILE

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/forget.cmd
 =======================================================================
@echo off
:: Nohup-like utility for windows written with zero dependencies on non-standard code.
::
:: Usage forget process_name fullpath arguments
::
:: Ex. forget tomcat c:\apps\tomcat start
::
:: Uses the schtasks command to launch whatever the command is in the next minute. 
:: If the process is already running, it is shutdown first.
::
:: Author Adrian Cole
::
GOTO FUNCTION_END

:ABORT
   echo aborting: %_result%
   exit /b 1

:findProcess
   SETLOCAL
   set _proc=
   set _pid=
   set _name=%1
   shift
   set FIND_PROCESS=wmic process where (name="cmd.exe" and CommandLine like "cmd /c title %_name%%%") get ProcessId
   for /f "usebackq skip=1" %%a in (`cmd /c "%FIND_PROCESS% 2>NUL"`) do (
      if not defined _proc (
         set _proc=%%a
         goto :done
      )
   )
   :done
   ENDLOCAL&SET _pid=%_proc%
   exit /b 0

:nextMinute
   SETLOCAL
   set HOURS=%TIME:~0,2%
   set MINUTES=%TIME:~3,2%

   set /a HOURS=%HOURS%
   set /a MINUTES+=1

   if %MINUTES% EQU 60 (set MINUTES=0&set /a HOURS+=1)
   if %HOURS% EQU 24 (set HOURS=0)

   if %HOURS% LSS 10 set HOURS=0%HOURS%
   if %MINUTES% LSS 10 set MINUTES=0%MINUTES%

   ENDLOCAL&SET _nextMinute=%HOURS%:%MINUTES%:00

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_flipped.sh
 =======================================================================
rm /etc/sudoers
cat >> /etc/sudoers <<'END_OF_FILE'
root ALL = (ALL) ALL
%wheel ALL = (ALL) NOPASSWD:ALL
END_OF_FILE
chmod 0440 /etc/sudoers
mkdir -p /home/users/defaultAdminUsername
groupadd -f wheel
useradd -s /bin/bash -g wheel -d /home/users/defaultAdminUsername -p 'crypt(0)' defaultAdminUsername
mkdir -p /home/users/defaultAdminUsername/.ssh
cat >> /home/users/defaultAdminUsername/.ssh/authorized_keys <<'END_OF_FILE'
publicKey
END_OF_FILE
chmod 600 /home/users/defaultAdminUsername/.ssh/authorized_keys
chown -R defaultAdminUsername /home/users/defaultAdminUsername
exec 3<> /etc/ssh/sshd_config && awk -v TEXT="PasswordAuthentication no
PermitRootLogin no
" 'BEGIN {print TEXT}{print}' /etc/ssh/sshd_config >&3
/etc/init.d/sshd reload||/etc/init.d/ssh reload
awk -v user=^${SUDO_USER:=${USER}}: -v password='crypt(1)' 'BEGIN { FS=OFS=":" } $0 ~ user { $2 = password } 1' /etc/shadow >/etc/shadow.${SUDO_USER:=${USER}}
test -f /etc/shadow.${SUDO_USER:=${USER}} && mv /etc/shadow.${SUDO_USER:=${USER}} /etc/shadow

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_params.sh
 =======================================================================
rm /etc/sudoers
cat >> /etc/sudoers <<'END_OF_FILE'
root ALL = (ALL) ALL
%wheel ALL = (ALL) NOPASSWD:ALL
END_OF_FILE
chmod 0440 /etc/sudoers
mkdir -p /home/users/foo
groupadd -f wheel
useradd -s /bin/bash -g wheel -d /home/users/foo -p 'crypt(bar)' foo
mkdir -p /home/users/foo/.ssh
cat >> /home/users/foo/.ssh/authorized_keys <<'END_OF_FILE'
fooPublicKey
END_OF_FILE
chmod 600 /home/users/foo/.ssh/authorized_keys
chown -R foo /home/users/foo
exec 3<> /etc/ssh/sshd_config && awk -v TEXT="PasswordAuthentication no
PermitRootLogin no
" 'BEGIN {print TEXT}{print}' /etc/ssh/sshd_config >&3
/etc/init.d/sshd reload||/etc/init.d/ssh reload
awk -v user=^${SUDO_USER:=${USER}}: -v password='crypt(0)' 'BEGIN { FS=OFS=":" } $0 ~ user { $2 = password } 1' /etc/shadow >/etc/shadow.${SUDO_USER:=${USER}}
test -f /etc/shadow.${SUDO_USER:=${USER}} && mv /etc/shadow.${SUDO_USER:=${USER}} /etc/shadow

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_plainuser.sh
 =======================================================================
mkdir -p /home/users/defaultAdminUsername
useradd -s /bin/bash -d /home/users/defaultAdminUsername -p 'crypt(0)' defaultAdminUsername
mkdir -p /home/users/defaultAdminUsername/.ssh
cat >> /home/users/defaultAdminUsername/.ssh/authorized_keys <<'END_OF_FILE'
publicKey
END_OF_FILE
chmod 600 /home/users/defaultAdminUsername/.ssh/authorized_keys
mkdir -p /home/users/defaultAdminUsername/.ssh
rm /home/users/defaultAdminUsername/.ssh/id_rsa
cat >> /home/users/defaultAdminUsername/.ssh/id_rsa <<'END_OF_FILE'
privateKey
END_OF_FILE
chmod 600 /home/users/defaultAdminUsername/.ssh/id_rsa
chown -R defaultAdminUsername /home/users/defaultAdminUsername

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_adminaccess_standard.sh
 =======================================================================
rm /etc/sudoers
cat >> /etc/sudoers <<'END_OF_FILE'
root ALL = (ALL) ALL
%wheel ALL = (ALL) NOPASSWD:ALL
END_OF_FILE
chmod 0440 /etc/sudoers
mkdir -p /home/users/defaultAdminUsername
groupadd -f wheel
useradd -s /bin/bash -g wheel -d /home/users/defaultAdminUsername -p 'crypt(0)' defaultAdminUsername
mkdir -p /home/users/defaultAdminUsername/.ssh
cat >> /home/users/defaultAdminUsername/.ssh/authorized_keys <<'END_OF_FILE'
publicKey
END_OF_FILE
chmod 600 /home/users/defaultAdminUsername/.ssh/authorized_keys
chown -R defaultAdminUsername /home/users/defaultAdminUsername
exec 3<> /etc/ssh/sshd_config && awk -v TEXT="PasswordAuthentication no
PermitRootLogin no
" 'BEGIN {print TEXT}{print}' /etc/ssh/sshd_config >&3
/etc/init.d/sshd reload||/etc/init.d/ssh reload
awk -v user=^${SUDO_USER:=${USER}}: -v password='crypt(1)' 'BEGIN { FS=OFS=":" } $0 ~ user { $2 = password } 1' /etc/shadow >/etc/shadow.${SUDO_USER:=${USER}}
test -f /etc/shadow.${SUDO_USER:=${USER}} && mv /etc/shadow.${SUDO_USER:=${USER}} /etc/shadow

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_ebs.sh
 =======================================================================
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
unset PATH JAVA_HOME LD_LIBRARY_PATH
function abort {
   echo "aborting: $@" 1>&2
   exit 1
}
function default {
   export INSTANCE_NAME="mkebsboot"
export INSTANCE_HOME="/tmp"
export LOG_DIR="/tmp/logs"
   return 0
}
function mkebsboot {
   export IMAGE_DIR="/mnt/tmp"
export EBS_DEVICE="/dev/sdh"
export EBS_MOUNT_POINT="/mnt/ebs"
   return 0
}
function findPid {
   unset FOUND_PID;
   [ $# -eq 1 ] || {
      abort "findPid requires a parameter of pattern to match"
      return 1
   }
   local PATTERN="$1"; shift
   local _FOUND=`ps auxwww|grep "$PATTERN"|grep -v " $0"|grep -v grep|grep -v $$|awk '{print $2}'`
   [ -n "$_FOUND" ] && {
      export FOUND_PID=$_FOUND
      return 0
   } || {
      return 1
   }
}
function forget {
   unset FOUND_PID;
   [ $# -eq 3 ] || {
      abort "forget requires parameters INSTANCE_NAME SCRIPT LOG_DIR"
      return 1
   }
   local INSTANCE_NAME="$1"; shift
   local SCRIPT="$1"; shift
   local LOG_DIR="$1"; shift
   mkdir -p $LOG_DIR
   findPid $INSTANCE_NAME
   [ -n "$FOUND_PID" -a -f $LOG_DIR/stdout.log ] && {
      echo $INSTANCE_NAME already running pid [$FOUND_PID]
   } || {

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_env.cmd
 =======================================================================
@rem Env file: please do not confuse people by making this executable
@rem
@rem Example usage to set a variable
@rem
@rem set MAVEN_OPTS=-Xms64m -Xmx128m

set JAVA_HOME=/apps/jdk1.6

@rem Please retain this statement so that the script can be validated
exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_env.sh
 =======================================================================
# Env file: please do not confuse people by making this executable
#
# Example usage to set a variable
#
# export MAVEN_OPTS="-Xms64m -Xmx128m"

export JAVA_HOME="/apps/jdk1.6"

# Please retain this statement so that the script can be validated
return 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_find_pid.cmd
 =======================================================================
@echo off
set PATH=
set JAVA_HOME=
set PATH=
GOTO FUNCTION_END
:abort
   echo aborting: %EXCEPTION%
   exit /b 1
:findPid
   set FOUND_PID=
   set _expression=%1
   shift
   set FIND_PROCESS=TASKLIST /FI "WINDOWTITLE eq %_expression%" /NH
   FOR /F "usebackq tokens=2 delims= " %%A IN (`cmd /c "%FIND_PROCESS% 2>NUL"`) DO (
      SET FOUND_PID=%%A
   )
   if defined FOUND_PID (
      exit /b 0
   ) else (
      set EXCEPTION=%_expression% not found
      exit /b 1
   )
:FUNCTION_END
set PATH=c:\windows\;C:\windows\system32;c:\windows\system32\wbem
call :findPid %*
if errorlevel 1 goto abort
echo %FOUND_PID%
exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_find_pid.sh
 =======================================================================
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
unset PATH JAVA_HOME LD_LIBRARY_PATH
function abort {
   echo "aborting: $@" 1>&2
   exit 1
}
function findPid {
   unset FOUND_PID;
   [ $# -eq 1 ] || {
      abort "findPid requires a parameter of pattern to match"
      return 1
   }
   local PATTERN="$1"; shift
   local _FOUND=`ps auxwww|grep "$PATTERN"|grep -v " $0"|grep -v grep|grep -v $$|awk '{print $2}'`
   [ -n "$_FOUND" ] && {
      export FOUND_PID=$_FOUND
      return 0
   } || {
      return 1
   }
}
export PATH=/usr/ucb/bin:/bin:/sbin:/usr/bin:/usr/sbin
findPid $@ || exit 1
echo $FOUND_PID
exit 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_init.cmd
 =======================================================================
@echo off
set PATH=
set JAVA_HOME=
set PATH=
GOTO FUNCTION_END
:abort
   echo aborting: %EXCEPTION%
   exit /b 1
:default
   set INSTANCE_NAME=mkebsboot
set INSTANCE_HOME=/mnt/tmp
set LOG_DIR=/mnt/tmp
   exit /b 0
:mkebsboot
   set TMP_DIR=/mnt/tmp
   exit /b 0
:findPid
   set FOUND_PID=
   set _expression=%1
   shift
   set FIND_PROCESS=TASKLIST /FI "WINDOWTITLE eq %_expression%" /NH
   FOR /F "usebackq tokens=2 delims= " %%A IN (`cmd /c "%FIND_PROCESS% 2>NUL"`) DO (
      SET FOUND_PID=%%A
   )
   if defined FOUND_PID (
      exit /b 0
   ) else (
      set EXCEPTION=%_expression% not found
      exit /b 1
   )
:forget
   SETLOCAL
   set FOUND_PID=
   set NEXT_MINUTE=
   set INSTANCE_NAME=%1
   shift
   set SCRIPT=%1
   shift
   set LOG_DIR=%1
   shift
   CALL :findProcess %INSTANCE_NAME%
   if defined FOUND_PID (
      echo %INSTANCE_NAME% already running pid [%FOUND_PID%]
   ) else (
      CALL :nextMinute
      set _DATE=%DATE:~4%
      set CMD=schtasks /create /sd %_DATE% /tn %INSTANCE_NAME% /ru System /tr "cmd /c title %INSTANCE_NAME%&%SCRIPT% >%LOG_DIR%\stdout.log 2>%LOG_DIR%\stderr.log" /sc:once /st %NEXT_MINUTE%
      echo %INSTANCE_NAME% will start at %NEXT_MINUTE%
      set SECONDS=%TIME:~6,2%
      set /a SECOND=60-SECONDS

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_init.sh
 =======================================================================
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
unset PATH JAVA_HOME LD_LIBRARY_PATH
function abort {
   echo "aborting: $@" 1>&2
   exit 1
}
function default {
   export INSTANCE_NAME="mkebsboot"
export INSTANCE_HOME="/mnt/tmp"
export LOG_DIR="/mnt/tmp"
   return 0
}
function mkebsboot {
   export TMP_DIR="/mnt/tmp"
   return 0
}
function findPid {
   unset FOUND_PID;
   [ $# -eq 1 ] || {
      abort "findPid requires a parameter of pattern to match"
      return 1
   }
   local PATTERN="$1"; shift
   local _FOUND=`ps auxwww|grep "$PATTERN"|grep -v " $0"|grep -v grep|grep -v $$|awk '{print $2}'`
   [ -n "$_FOUND" ] && {
      export FOUND_PID=$_FOUND
      return 0
   } || {
      return 1
   }
}
function forget {
   unset FOUND_PID;
   [ $# -eq 3 ] || {
      abort "forget requires parameters INSTANCE_NAME SCRIPT LOG_DIR"
      return 1
   }
   local INSTANCE_NAME="$1"; shift
   local SCRIPT="$1"; shift
   local LOG_DIR="$1"; shift
   mkdir -p $LOG_DIR
   findPid $INSTANCE_NAME
   [ -n "$FOUND_PID" -a -f $LOG_DIR/stdout.log ] && {
      echo $INSTANCE_NAME already running pid [$FOUND_PID]
   } || {
      nohup $SCRIPT >$LOG_DIR/stdout.log 2>$LOG_DIR/stderr.log &
      sleep 1

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun.cmd
 =======================================================================
md %TEMP%\%USERNAME%\scripttest
del %TEMP%\%USERNAME%\scripttest\yahooprod.cmd 2>NUL
echo @echo off>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo title yahooprod>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo set PATH=c:\windows\;C:\windows\system32;c:\windows\system32\wbem>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo set INSTANCE_NAME=yahooprod>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo set JAVA_HOME=%JAVA_HOME%>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo cd /d %TEMP%\%USERNAME%\scripttest>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
md %TEMP%\%USERNAME%\scripttest
del %TEMP%\%USERNAME%\scripttest\yahooprod.cmd 2>NUL
echo @echo off>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo title yahooprod>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo set PATH=c:\windows\;C:\windows\system32;c:\windows\system32\wbem>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo set INSTANCE_NAME=yahooprod>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo set JAVA_HOME=%JAVA_HOME%>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo cd /d %TEMP%\%USERNAME%\scripttest>>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd
echo exit /b 0 >>%TEMP%\%USERNAME%\scripttest\yahooprod.cmd

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun.sh
 =======================================================================
mkdir -p /tmp/$USER/scripttest

# create runscript header
cat > /tmp/$USER/scripttest/yahooprod.sh <<END_OF_SCRIPT
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
PROMPT_COMMAND='echo -ne "\033]0;yahooprod\007"'
export PATH=/usr/ucb/bin:/bin:/sbin:/usr/bin:/usr/sbin
export INSTANCE_NAME='yahooprod'
export JAVA_HOME='$JAVA_HOME'
END_OF_SCRIPT

# add desired commands from the user
cat >> /tmp/$USER/scripttest/yahooprod.sh <<'END_OF_SCRIPT'
cd /tmp/$USER/scripttest
echo hello || return 1

cat >> /tmp/$USER/scripttest/temp.txt <<'END_OF_FILE'
hello world
END_OF_FILE

echo $JAVA_HOME/bin/java -DinstanceName=$INSTANCE_NAME myServer.Main || return 1

END_OF_SCRIPT

# add runscript footer
cat >> /tmp/$USER/scripttest/yahooprod.sh <<'END_OF_SCRIPT'
exit 0
END_OF_SCRIPT

chmod u+x /tmp/$USER/scripttest/yahooprod.sh

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_runrun_header.sh
 =======================================================================
mkdir -p /tmp/$USER/scripttest

# create runscript header
(
cat <<END_OF_SCRIPT
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
PROMPT_COMMAND='echo -ne "\033]0;yahooprod\007"'
export PATH=/usr/ucb/bin:/bin:/sbin:/usr/bin:/usr/sbin
export INSTANCE_NAME='yahooprod'
export JAVA_HOME='$JAVA_HOME'
END_OF_SCRIPT
) > /tmp/$USER/scripttest/yahooprod.sh

# add desired commands from the user
(
cat <<'END_OF_SCRIPT'
cd /tmp/$USER/scripttest
echo hello
echo $JAVA_HOME/bin/java -DinstanceName=$INSTANCE_NAME myServer.Main
END_OF_SCRIPT
) >> /tmp/$USER/scripttest/yahooprod.sh

# add runscript footer
(
cat <<'END_OF_SCRIPT'
exit 0
END_OF_SCRIPT
) >> /tmp/$USER/scripttest/yahooprod.sh

chmod u+x /tmp/$USER/scripttest/yahooprod.sh

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_script.cmd
 =======================================================================
@echo off
set PATH=
set JAVA_HOME=
set PATH=
set RUNTIME=
GOTO FUNCTION_END
:abort
   echo aborting: %EXCEPTION%
   exit /b 1
:default
   set RUNTIME=Moo
   exit /b 0
:FUNCTION_END
set PATH=c:\windows\;C:\windows\system32;c:\windows\system32\wbem
if not "%1" == "start" if not "%1" == "stop" if not "%1" == "status" (
   set EXCEPTION=bad argument: %1 not in start stop status
   goto abort
)
goto CASE_%1
:CASE_start
   call :default
   if errorlevel 1 goto abort
   echo start %RUNTIME%
   GOTO END_SWITCH
:CASE_stop
   call :default
   if errorlevel 1 goto abort
   echo stop %RUNTIME%
   GOTO END_SWITCH
:CASE_status
   echo hello world>>%TEMP%\%USERNAME%\scripttest\temp.txt
   echo the following should be []: [%RUNTIME%]
   GOTO END_SWITCH
:END_SWITCH
exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_script.sh
 =======================================================================
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
unset PATH JAVA_HOME LD_LIBRARY_PATH RUNTIME
function abort {
   echo "aborting: $@" 1>&2
   exit 1
}
function default {
   export RUNTIME="Moo"
   return 0
}
export PATH=/usr/ucb/bin:/bin:/sbin:/usr/bin:/usr/sbin
case $1 in
start)
   default || exit 1
   echo start $RUNTIME
   ;;
stop)
   default || exit 1
   echo stop $RUNTIME
   ;;
status)
   cat >> /tmp/$USER/scripttest/temp.txt <<'END_OF_FILE'
hello world
END_OF_FILE
   echo "the following should be []: [$RUNTIME]"
   ;;
esac
exit 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_seek_and_destroy.cmd
 =======================================================================
@echo off
set PATH=
set JAVA_HOME=
set PATH=
GOTO FUNCTION_END
:abort
   echo aborting: %EXCEPTION%
   exit /b 1
:findPid
   set FOUND_PID=
   set _expression=%1
   shift
   set FIND_PROCESS=TASKLIST /FI "WINDOWTITLE eq %_expression%" /NH
   FOR /F "usebackq tokens=2 delims= " %%A IN (`cmd /c "%FIND_PROCESS% 2>NUL"`) DO (
      SET FOUND_PID=%%A
   )
   if defined FOUND_PID (
      exit /b 0
   ) else (
      set EXCEPTION=%_expression% not found
      exit /b 1
   )
:FUNCTION_END
set PATH=c:\windows\;C:\windows\system32;c:\windows\system32\wbem
call :findPid %*
if errorlevel 1 goto abort
if defined FOUND_PID (
   TASKKILL /F /T /PID %FOUND_PID% >NUL
)
exit /b 0

 =======================================================================
 ==/scratch/hudson/workspace/jclouds-1.1.1-maven-site/scriptbuilder/src/test/resources/test_seek_and_destroy.sh
 =======================================================================
#!/bin/bash
set +u
shopt -s xpg_echo
shopt -s expand_aliases
unset PATH JAVA_HOME LD_LIBRARY_PATH
function abort {
   echo "aborting: $@" 1>&2
   exit 1
}
function findPid {
   unset FOUND_PID;
   [ $# -eq 1 ] || {
      abort "findPid requires a parameter of pattern to match"
      return 1
   }
   local PATTERN="$1"; shift
   local _FOUND=`ps auxwww|grep "$PATTERN"|grep -v " $0"|grep -v grep|grep -v $$|awk '{print $2}'`
   [ -n "$_FOUND" ] && {
      export FOUND_PID=$_FOUND
      return 0
   } || {
      return 1
   }
}
export PATH=/usr/ucb/bin:/bin:/sbin:/usr/bin:/usr/sbin
findPid $@ || exit 1
[ -n "$FOUND_PID" ]  && {
   echo stopping $FOUND_PID
   kill -9 $FOUND_PID
}
exit 0