============================================== luntbuild 1.2.1 Release Notes ============================================== 1. Changes since version 1.2 ------------------------------ * Disable write-delay for the default HSQL database bundled with Luntbuild distribution, and apply not-null constraints for all foreign keys. (Write-delay and not-null constraints can be set in file /db/luntbuild.script if you want to apply these changes for an existing HSQL database. Find the line "SET WRITE_DELAY 60" and change it to "SET WRITE_DELAY 0"). * Fix the bug that Luntbuild's CVS adaptor can not send email to users who has recently checked in codes. * Fix the NPE when Luntbuild is not been installed as an exploded web application. * Re-configure acegi security setting, and add an extra resource access servlet so that accessing to web resources(such as icons in the web page) will no longer be authenticated. This will improve performance of Luntbuild web interface. * Schedule dependency mechanism is enhanced. Now you are able to choose whether to fail related schedules when there are unsatisfied dependencies, or just avoid building them until all dependencies are satisfied. * Fix the bug that UCM Clearcase adaptor can not retrieve source codes on Linux platform. * Fix the bug that "Notifier methods" of project can not be exported. * Add a GNOME panel applet which runs as a tray icon to monitor build status (Thanks to Marcus) * Upgrade msnm library to make MSN messenger notifier works. 2. Changes since version 1.2 beta2 ------------------------------ * Fix the bug that Luntbuild's CVS adaptor can not work properly when there are spaces contained in CVS module definition. 3. Changes since version 1.2 beta1 ------------------------------ * Fix the bug that JUNIT report can not be shown correctly when access through Firefox * Fix the bug that Luntbuild reports "java.lang.NoSuchMethodError: org.apache.tools.ant.taskdefs.Cvs.setCvsDir(Ljava/lang/String;)" when check out codes from CVS repository * Move logout button upper in order to avoid mis-triggering * Fix the bug that when more than one StarTeam adaptors configured for a project, build will fail with error message "StarTeam view XXX not found" * Add the ability to verify user's password * Add the ability to configure total number of build threads * Remove a silly mistake in UCMClearcaseAdaptor: line 660 in UCMClearcaseAdapter.java does length() - 2 to remove the quote.. should be -1 * Fix the bug that Accurev adaptor can not perform clean builds * Fix the bug that Accurev adaptor requires additional libraries * Fix the bug that Luntbuild can not run in JBoss (a .bak file steps in the lib directory) * Fix the bug that email address and MSN account can not be imported correctly from version 1.1.1 4. Changes since version 1.1.1 ------------------------------ * Maven builder support * Command shell builder support * ACL based Security (thanks Johannes Plachy) * Project/schedule dependency * Ability to stop running build * Ability to clone/copy a project * Ability to associate different builders with different schedules * Ability to configure "build cleanup strategy" which gives user the option to only keep a specified number of builds, or to keep specified build days for particular schedules * Easier way to specify properties for Ant and Maven builder, separated properties in its own text area * Ability to define multiple builders, VCS adaptors, and schedules for a project * New File system based Vcs adaptor * New Vcs Aadaptor for AccuRev (thanks Jason Carreira) * Quiet period can be set before check out code for build * Luntbuild data can be exported to an XML file or imported from an XML file * Ability to notify about build status using Jabber (thanks Johannes Plachy) * More supported servlet containers, application servers: Tomcat, Jetty, Resin, JBoss, JOnAS, SunOne * New notification strategy: "Notify when build status changed" * User password encryption * Hide password from log * Display summary of [http://junit.org JUnit] test results on build page * Upgraded Hsql/Spring and some other 3rd party libraries * For HSQLDB, changed build table definition to be a cached table in HSQL database. This way, rows of build table will be swapped to disk when they become too large * New User's Guide and FAQ documentation * New Luntbuild GUI based installer * Started Luntbuild Project Wiki at http://luntbuild.sourceforge.net/cgi-bin/moin.cgi/FrontPage 5. Supported application servers/servlet containers --------------------------------------------------- * Tomcat 4.x * Tomcat 5.5 * Jetty 4.2.23 * Jetty 5.1.12 * Resin 3.0.12 * JBoss 4.0.1RC2 * JBoss 3.2.7 * JOnAS 4.3.3 * SunOne 6.1 Luntbuild may work with other application servers/servlet containers but it is not tested with them. 5. Installing Luntbuild Installation using Luntbuild installer is the easiest way to install Luntbuild. We recommend to use the installer for all Luntbuild standard installations including upgrades. See section A and D for details. In case you need to modify for some reason Luntbuild configuration files (web.xml, applicationContext.xml) with attributes/values beyond the attributes/values modified by Luntbuild installer, you might choose installation using Luntbuild distribution zip file. See section B for details. In case you need to modify and/or extend the source code implementation of Luntbuild, you might to choose to build Luntbuild distribution from the source code. See section C for details. If you are upgrading from previous releases, please refer to section D. A. Installation using Luntbuild installer (with GUI) ---------------------------------------------------- NOTE: This is clean installation of Luntbuild. For upgrades from version 1.1.1, please refer to section D of this file. 1) Make sure you have jdk1.4 or jdk1.5 installed, and add the directory which contains the java and jar executable into your system path. Go to "http://java.sun.com/" for JDK download, if you didn't install it yet. 2) Make sure you get one of Luntbuild supported servlet container or application server installed, and make sure it has been stopped. 3) Download Luntbuild installer from "http://sourceforge.net/projects/luntbuild/". This file is normally named as "luntbuild-xxx-installer.jar", where xxx denotes current version. 4) Run command "java -jar luntbuild-xxx-installer.jar". A GUI will display to guide you through the installation, and Luntbuild will install into the selected directory, let's say "/opt/luntbuild". 5) Deploy luntbuild.war (located in "/opt/luntbuild" directory) into your servlet container or application server. Note, that if you selected the deployment directory of your servlet container or application server during installation, the installer will deploy luntbuild.war for you. 6) Access the Luntbuild web application and you should be able to start your Luntbuild adventure, :D B. Installation using zip distribution (without GUI) ---------------------------------------------------- NOTE: This is clean installation of Luntbuild. For upgrades from version 1.1.1, please refer to section D of this file. 1) Make sure you get one of Luntbuild supported servlet container or application server installed, and make sure it has been stopped. 3) Download the Luntbuild zip distribution from "http://sourceforge.net/projects/luntbuild/". This file is normally named as "luntbuild-xxx.zip", where xxx denotes current version. 4) Extract the zip file into the directory where you want to install Luntbuild, say "/opt/luntbuild". And edit the following files with your text editor: * Edit file "/opt/luntbuild/web/WEB-INF/web.xml": Replace "$INSTALL_PATH" with your Luntbuild installation path (/opt/luntbuild here). Replace "${sessionTimeout}" with your desired session timeout value (normally 30). * Edit file "/opt/luntbuild/web/WEB-INF/applicationContext.xml": Replace "${luntbuildPassword}" with your desired site administrator password. 5) Copy all the contents under "/opt/luntbuild/web" directory, and deploy it as a web application to your application server, or servlet container. For example, if you are using Tomcat servlet container: - Make Tomcat sure has been stopped - Change to Tomcat install dir: > cd /webapps - Make luntbuild directory: > mkdir luntbuild - Copy luntbuild/web to webapps: > cp -r /opt/luntbuild/web/* /webapps/luntbuild - Start Tomcat Note. Do NOT create luntbuild.war file, just copy the contents under "/opt/luntbuild/web" directory to the luntbuild directory in the appropriate web application directory of your application server, or servlet container. 6) Access the Luntbuild web application and you should be able to start your Luntbuild adventure, :D C. Building Luntbuild from source distribution ---------------------------------------------- 1) Make sure you have jdk1.4 or jdk1.5 installed, and add the directory which contains the java and jar executable into your system path. Go to "http://java.sun.com/" for JDK download, if you didn't install it yet. 2) Make sure you have Apache ant 1.6.1 (or higher) installed. Goto "http://ant.apache.org" for Ant download. 3) Download the source distribution from "http://sourceforge.net/projects/luntbuild/". This file is normally named as "luntbuild-xxx-src.zip", where xxx denotes current version. 4) Extract the source distribution into a directory, let's say "/yourhome/luntbuild-src". Change to directory "/yourhome/luntbuild-src/build", and run command "ant clean installer zip". Then Luntbuild installer and zip distribution will both be generated into directory "/yourhome/luntbuild-src/distribute". 5) Follow the installation procedures in sections A, B, or D to install Luntbuild. D. Upgrading from 1.1.1, 1.2 beta1, 1.2 beta2, or 1.2 ----------------------------------------------------------------------- 1) Assuming you've installed Luntbuild under "/opt/luntbuild". Backup the directory "/opt/luntbuild/db" which contains your db files to another location. Backup all important build artifacts. 2) If your previously installed version is 1.1.1, upgrade 1.1.1 web application with war file from: http://sourceforge.net/project/showfiles.php?group_id=113344&package_id=122604&release_id=319662 NOTE: This only upgrades web application, and should not change anything under "/opt/luntbuild". 3) Access Luntbuild web application again, Select "Administration" tab, and export data into your specified file, let's say "/yourhome/luntbuild-data.xml". This file will be stored on the machine that runs your servlet container or application server hosting your Luntbuild application. 4) Follow the instructions of section A of this file to install Luntbuild 1.2 into your previous Luntbuild installation directory, that is "/opt/luntbuild" in this case. 5) Access the Luntbuild web application, click on "Administration" tab, and import from previously exported data file "/yourhome/luntbuild-data.xml". That will migrate data of previous Luntbuild installation to latest version. However, if your previous version is 1.1.1, some settings needs to be re-configured: * The property "environment file" has been removed in 1.2. If you are using this property in 1.1.1, you need to extract contents of the environment file, and enter them as "Environment variables" property. * All build success condition has been reset for 1.2 format. * All build necessary condition has been reset for 1.2 format. * Format of property "Next build version" has been changed, please verify your version string. * Build properties passed to Ant build script has been changed, thus your Ant build script need to be changed to use new build properties. * Ant builder command has been reset to default value. You may need to change it based on your Ant installation directory.