Tuesday, July 14, 2009

CVS to SVN import selected project to existing repo

1. Take a dump of the CVS repo(the projetc needed using):

cvs2svn --dumpfile=a_dump_file_name.dump --trunk=name_for_trunk --trunk-only path_to_CVS_repo/needed_project

Where --trunk=name_for_trunk means the name of trunk needed instead of having directory named 'trunk', It was my project name for me and I used --trunkonly since I have no use of branch or tags. and path_to_CVS_repo/needed_project is the path to myproject on CVS directory structure.


2. Load the created svn dump using svnadmin load command to an existing svn repo:

svnadmin load /SVN < itilnewdump1.dump

/SVN is the existing svn repo path, it not url its directory path!

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
















Tuesday, June 16, 2009

errors/fixes on linux

Error: sudo: must be setuid root

1.chown root:root /usr/bin/sudo
2.chmod 4111 /usr/bin/sudo
3.If this doesnt work make sure that the commnd used (eg:sudo gem list) is added to user's permission at /etc/sudoers and check the command path is correct say gem can be on /usr/local/bin/gem or /usr/bin/gem. The same can be happened with other commands too. You may find the path of a command by $which gem (the command name)