Tuesday, July 7, 2009

Cruise Control for Ant Build

Cruise Control for Ant Build
========================
Ref. url:

http://cruisecontrol.sourceforge.net/gettingstartedsourcedist.html#Before_you_Start
Download:
http://cruisecontrol.sourceforge.net/download.html

Should Have Java and Ant installed.

1. Copy the downloaded cruisecontrol-2.8.2.zip file & unzip to your installation folder.

2. change directory to cc_unzipped folder/main

3. enter the command ant -Dtest.skip=true
*I disabled Junit test after the compilation since it doesn't work for me

After building, to confirm that the installation is consistent, start a command shell and run the following command (make sure you replace INSTALL_DIR with the actual installation directory):

java -jar INSTALL_DIR/main/dist/cruisecontrol-launcher.jar
**DON'T worry this should show an error saying config.xml is not found!

4. Create a directory "work" under the cruise-control root folder(ie, the unzipped folder)

5. change directory to the newly created 'work' directory and create three new folders named as: artifacts, logs, projects. Then copy our project folder to work/project

6. Create a new build.xml (vi/touch work/build.xml)
* I tried to paste my build.xml but it is truncated. So please mail me if you need one @ anpl1980@gmail.com

please read this : http://brennan.offwhite.net/blog/2004/04/29/lessons-for-ant-and-cruise-control/
7. Create work/config.xml
Eg:
* I tried to paste my build.xml but it is truncated. So please mail me if you need one @ anpl1980@gmail.com
Note: I have commented out so many lines like e-mail etc.... uncomment and use it as needed.
-->
8. start cc_dir/main/bin/cruisecontrol.sh from "work" dir

9. Copy reporting web app to tomcat/webapps (reporting/jsp/dist/cruisecontrol.war)

10. Edit TOMCAT_HOME/webapps/cruisecontrol/WEB-INF/web.xml

Done!
checkout http://yourserveraddress:8080/cruisecontrol

Happy coding!




PS:
I had an error on acceesing the webinterface:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
org.apache.jsp.index_jsp._jspInit(index_jsp.java:48)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Fixed by:
remove TOMCAT_HOME/webapps/cruisecontrol/WEB-INF/lib and remove el-api.jar

_^_ (namaskaram ;))
Anoop
















0 comments:

Post a Comment