:: Licensed to the Apache Software Foundation (ASF) under one or more :: contributor license agreements. See the NOTICE file distributed with :: this work for additional information regarding copyright ownership. :: The ASF licenses this file to You under the Apache License, Version 2.0 :: (the "License"); you may not use this file except in compliance with :: the License. You may obtain a copy of the License at :: :: http://www.apache.org/licenses/LICENSE-2.0 :: :: Unless required by applicable law or agreed to in writing, software :: distributed under the License is distributed on an "AS IS" BASIS, :: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. :: See the License for the specific language governing permissions and :: limitations under the License. @echo off :: ----------------------------------------------------------------------------- :: Lenya Win32 Shell Script :: :: $Id$ :: ----------------------------------------------------------------------------- :: Configuration variables :: :: LENYA_HOME :: Folder that points to the root of the Lenya distribution :: :: LENYA_LIB :: Folder containing all the library files needed by the Lenya CLI :: :: JAVA_HOME :: Home of Java installation. :: :: JAVA_OPTIONS :: Extra options to pass to the JVM :: :: JAVA_DEBUG_PORT :: The location where the JVM debug server should listen to :: :: JETTY_PORT :: Override the default port for Jetty :: :: JETTY_ADMIN_PORT :: The port where the jetty web administration should bind :: :: JETTY_WEBAPP :: The directory where the webapp that jetty has to execute is located :: :: ----- Verify and Set Required Environment Variables ------------------------- if not "%JAVA_HOME%" == "" goto gotJavaHome echo You must set JAVA_HOME to point at your Java Development Kit installation goto end :gotJavaHome :: ----- Check System Properties ----------------------------------------------- if not "%EXEC%" == "" goto gotExec if not "%OS%" == "Windows_NT" goto noExecNT set EXEC=start "Apache Lenya" /D. /MAX goto gotExec :noExecNT set EXEC= :gotExec set LENYA_HOME=. :: echo lenya.bat: using %LENYA_HOME% as home set LENYA_LIB=%LENYA_HOME%\build\lenya\webapp\WEB-INF\lib :: echo lenya.bat: using %LENYA_LIB% as lib set JETTY_PORT=8888 set JETTY_ADMIN_PORT=8889 set JETTY_URI_CHARSET=ISO-8859-1 set JETTY_WEBAPP=%LENYA_HOME%\build\lenya\webapp :: echo lenya.bat: using %JETTY_WEBAPP% as the webapp directory set JAVA_DEBUG_PORT=8000 :: ----- Set Up The Classpath -------------------------------------------------- set CP=%LENYA_HOME%\tools\loader :: ----- Unpack WAR file if needed -------------------------------------------------- if exist build\lenya\webapp goto action echo ############################################### echo # First start of Lenya. Unpacking now... # echo ############################################### mkdir build\lenya\webapp cd build\lenya\webapp "%JAVA_HOME%\bin\jar.exe" -xf ..\..\..\lenya.war cd ..\..\.. mkdir build\lenya\webapp\WEB-INF\logs :: ----- Check action ---------------------------------------------------------- :action if ""%1"" == ""cli"" goto doCli if ""%1"" == ""servlet"" goto doServlet if ""%1"" == ""servlet-admin"" goto doAdmin if ""%1"" == ""servlet-debug"" goto doDebug IF ""%1"" == ""servlet-profile"" goto doProfile goto doServlet echo Usage: lenya (action) echo actions: echo cli Run Lenya from command line echo servlet Run Lenya in a servlet container echo servlet-admin Run Lenya in a servlet container and turn container web administration on echo servlet-debug Run Lenya in a servlet container and turn on remote JVM debug echo servlet-profile Run Lenya in a servlet container and turn on JVM profiling goto end :: ----- Cli ------------------------------------------------------------------- :doCli set param= shift :cliLoop if "%1"=="" goto cliLoopEnd if not "%1"=="" set param=%param% %1 shift goto cliLoop :cliLoopEnd "%JAVA_HOME%\bin\java.exe" %JAVA_OPTIONS% -classpath %CP% -Djava.endorsed.dirs=%LENYA_LIB%\endorsed -Dloader.jar.repositories=%LENYA_LIB% -Dloader.main.class=org.apache.cocoon.Main Loader %param% goto end :: ----- Servlet --------------------------------------------------------------- :doServlet %EXEC% "%JAVA_HOME%\bin\java.exe" %JAVA_OPTIONS% -classpath %CP% -Djava.endorsed.dirs=%LENYA_LIB%\endorsed -Dwebapp=%JETTY_WEBAPP% -Dorg.xml.sax.parser=org.apache.xerces.parsers.SAXParser -Djetty.port=%JETTY_PORT% -Djetty.admin.port=%JETTY_ADMIN_PORT% -Dhome=%LENYA_HOME% "-Dloader.jar.repositories=%LENYA_HOME%\tools\jetty\lib;%LENYA_HOME%\tools\jetty\extra\lib;%LENYA_HOME%\tools\jetty\extra\ext;%LENYA_HOME%\tools\jetty\ext;%LENYA_HOME%\tools\jetty\extra\resources;%LENYA_LIB%\endorsed" -Dloader.main.class=org.mortbay.jetty.plus.Server -Dorg.mortbay.util.URI.charset=%JETTY_URI_CHARSET% Loader %LENYA_HOME%\tools\jetty\conf\main.xml goto end :: ----- Servlet with Administration Web Interface ----------------------------- :doAdmin %EXEC% "%JAVA_HOME%\bin\java.exe" %JAVA_OPTIONS% -classpath %CP% -Djava.endorsed.dirs=%LENYA_LIB%\endorsed -Dwebapp=%JETTY_WEBAPP% -Dorg.xml.sax.parser=org.apache.xerces.parsers.SAXParser -Djetty.port=%JETTY_PORT% -Djetty.admin.port=%JETTY_ADMIN_PORT% -Dhome=%LENYA_HOME% "-Dloader.jar.repositories=%LENYA_HOME%\tools\jetty\lib;%LENYA_HOME%\tools\jetty\extra\lib;%LENYA_HOME%\tools\jetty\extra\ext;%LENYA_HOME%\tools\jetty\ext;%LENYA_HOME%\tools\jetty\extra\resources;%LENYA_LIB%\endorsed" -Dloader.main.class=org.mortbay.jetty.plus.Server -Dorg.mortbay.util.URI.charset=%JETTY_URI_CHARSET% Loader %LENYA_HOME%\tools\jetty\conf\main.xml %LENYA_HOME%\tools\jetty\conf\admin.xml goto end :: ----- Servlet Debug --------------------------------------------------------- :doDebug %EXEC% "%JAVA_HOME%\bin\java.exe" %JAVA_OPTIONS% -Xdebug -Xrunjdwp:transport=dt_socket,address=%JAVA_DEBUG_PORT%,server=y,suspend=n -classpath %CP% -Djava.endorsed.dirs=%LENYA_LIB%\endorsed -Dwebapp=%JETTY_WEBAPP% -Dhome=%LENYA_HOME% -Dorg.xml.sax.parser=org.apache.xerces.parsers.SAXParser -Djetty.port=%JETTY_PORT% -Djetty.admin.port=%JETTY_ADMIN_PORT% "-Dloader.jar.repositories=%LENYA_HOME%\tools\jetty\lib;%LENYA_HOME%\tools\jetty\extra\lib;%LENYA_HOME%\tools\jetty\extra\ext;%LENYA_HOME%\tools\jetty\ext;%LENYA_HOME%\tools\jetty\extra\resources;%LENYA_LIB%\endorsed" -Dloader.main.class=org.mortbay.jetty.plus.Server -Dorg.mortbay.util.URI.charset=%JETTY_URI_CHARSET% Loader %LENYA_HOME%\tools\jetty\conf\main.xml goto end :: ----- Servlet Profile --------------------------------------------------------- :doProfile %EXEC% "%JAVA_HOME%\bin\java.exe" %JAVA_OPTIONS% -Xrunhprof:heap=all,cpu=samples,thread=y,depth=3 -classpath %CP% -Djava.endorsed.dirs=%LENYA_LIB%\endorsed -Dwebapp=%JETTY_WEBAPP% -Dhome=%LENYA_HOME% -Dorg.xml.sax.parser=org.apache.xerces.parsers.SAXParser -Djetty.port=%JETTY_PORT% -Djetty.admin.port=%JETTY_ADMIN_PORT% "-Dloader.jar.repositories=%LENYA_HOME%\tools\jetty\lib;%LENYA_HOME%\tools\jetty\extra\lib;%LENYA_HOME%\tools\jetty\extra\ext;%LENYA_HOME%\tools\jetty\ext;%LENYA_HOME%\tools\jetty\extra\resources;%LENYA_LIB%\endorsed" -Dloader.main.class=org.mortbay.jetty.plus.Server -Dorg.mortbay.util.URI.charset=%JETTY_URI_CHARSET% Loader %LENYA_HOME%\tools\jetty\conf\main.xml :: ----- End ------------------------------------------------------------------- :end set CP= set EXEC=