Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Using CruiseControl with Subversion

This morning, I had the pleasure of setting up an AppFuse-based project to run under CruiseControl. Normally, this is very easy to do because I have the CruiseControl setup files and instructions. However, this project uses Subversion instead of CVS. Luckily, Subversion is easy to use and I was able to modify things to work quite easily. Below are the steps you can take to modify your AppFuse project to run under CruiseControl and Subversion.

  • Download svant and extract it to your work directory.
  • In build.xml, change your "cvs" target to "svn" and change the tasks appropriately.

        <path id="svn.classpath">
            <fileset dir="svnant-1.0.0-rc1/lib" includes="*.jar"/>
        </path>
            
        <taskdef resource="svntask.properties" classpathref="svn.classpath"/>
        
        <target name="svn">
            <delete dir="checkout/appfuse"/>
            <svn>
                <checkout url="https://svn.java.net/svn/appfuse/trunk" 
                    revision="HEAD" destPath="checkout/appfuse" />
            </svn>
        </target>
    
  • Modify the "test" target in build.xml to depend on "svn".
  • In config.xml, change the <modificationset> to be <svn LocalWorkingCopy="/home/cc/work/checkout/appfuse"/> instead of the <cvs> equivalent.

The instructions have been documented on the wiki and checked into AppFuse's CVS.

Posted in Java at Aug 24 2005, 10:24:26 AM MDT 4 Comments
Comments:

Matt, I went through the same exercise a couple of months back for Connector/J. What I found was _really_ nice about moving to this setup is that the amount of network traffic consumed checking for new versions is much, much less with SVN than it was when CruiseControl was using CVS...Basically checking for the repository version #, versus scanning a large chunk of the HISTORY from CVS. (I run cruise control locally, the source repositories for MySQL are in Sweden, so _this_ was a big issue for me!). -Mark

Posted by Mark Matthews on August 24, 2005 at 05:32 PM MDT #

Matt, you might want to try out Luntbuild. You can get projects up and running in literally 15 minutes -- it's all configured via a webapp. The only issue I've had with it is that it cannot be run easily as a windows service. Otherwise, it's the ideal build management system.

Posted by Ashish Kulkarni on August 25, 2005 at 06:06 AM MDT #

Installing LuntBuild on Fedora Core 3, JDK 1.5 and Resin, first impressions:

It was quick and easy with Subversion, and yes it looks well designed.

two problems:

When the framework detects a problem, it shuts down and restarts itself. From what I see, the details are minimum and occurs every 15 minutes.

the logs have the following messages:
---snip---
2005-08-30 20:06:08,672 WARN  net.sf.ehcache.CacheManager - CacheManager already shutdown
2005-08-30 20:06:08,672 INFO  com.luntsys.luntbuild.utility.Luntbuild - application shutdown complete
2005-08-30 20:06:28,393 INFO  com.luntsys.luntbuild.utility.Luntbuild - Leaving application initialization
2005-08-30 20:21:23,460 INFO  com.luntsys.luntbuild.utility.Luntbuild - Enter application shutdown
2005-08-30 20:21:23,466 WARN  net.sf.ehcache.CacheManager - CacheManager already shutdown
2005-08-30 20:21:23,467 INFO  com.luntsys.luntbuild.utility.Luntbuild - application shutdown complete
2005-08-30 20:21:43,245 INFO  com.luntsys.luntbuild.utility.Luntbuild - Leaving application initialization
2005-08-30 20:36:38,313 INFO  com.luntsys.luntbuild.utility.Luntbuild - Enter application shutdown
---snip---

Then, spawning svn commands works, however has this error:

---snip---
2005-08-30 15:48:10,914 INFO  com.luntsys.luntbuild.BuildGenerator - Getting revisions for project "projectName"...
2005-08-30 15:48:10,962 DEBUG com.luntsys.luntbuild.BuildGenerator - Execute command: Executing '/usr/local/bin/svn' with arguments:
'log'
'svn://svnserver.mydomain.com:3692/projectName'
'--username'
'myname'
'--password'
'******'
'--non-interactive'
'-v'
'--xml'
'-r'
'{2005-08-30T22:33:34Z}:{2005-08-30T22:48:10Z}'

The ' characters around the executable and arguments are
not part of the command.
---snip---

the issue is that the command exits with a non-zero status, so the build is logically broken even though everything between svn, java and ant work fine.

Off to try CruiseControl, then buildbot next.

Posted by Mike Gleeson on August 31, 2005 at 05:34 PM MDT #

Matt, Check our Parabuild - it's a prduction-grade commercial continuous integration and build management server. It supports Subversion and is very easy to install (about 2 minutes).

Posted by Segey Pashin on October 02, 2005 at 10:32 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed