Nate,
On Wed, Aug 22, 2012 at 11:08:36AM -0400, Nate Sarr wrote:
> Hi Paul,
>
> Are you building from the original download or using a custom script?
I'm using a custom script -- we have to because we're hosting four (soon
to be six) independent instances of IR+. I was just able to build the
stock IR+ 2.1 in a separate dir using just ant, so obviously I'm doing
something wrong.
Ah, I see -- I was patching ir_web/ivy.xml and that was the culprit:
--- a/ivy.xml 2010-12-21 11:52:34.000000000 -0400
+++ b/ivy.xml 2012-08-22 17:04:25.000000000 -0500
@@ -28,8 +28,8 @@
<info organisation="ir_web" module="ir_web"/>
<dependencies>
- <dependency org="ir_service" name="ir_service" rev="2.1" changing="true"/>
- <dependency org="ur_tags" name="ur_tags" rev="2.1" transitive="false" changing="true"/>
+ <dependency org="ir_service" name="ir_service" rev="2.0" changing="true"/>
+ <dependency org="ur_tags" name="ur_tags" rev="2.0" transitive="false" changing="true"/>
<!-- struts 2 files and dependencies -->
<dependency org="org.apache.struts" name="struts2-core" rev="2.2.1" transitive="false">
@@ -88,7 +88,8 @@
<!-- yui download -->
<dependency org="yui" name="yui" rev="2.7.0" transitive="false" changing="true">
- <artifact name="yui" type="zip" url="
http://yui.zenfs.com/releases/yui2/yui_2.7.0r2.zip"/>
+ <artifact name="yui" type="zip"
+ url="
http://yuilibrary.com/downloads/yui2/$(yui.version).zip"/>
</dependency>
<!-- spring security libraries -->
Here's our build process, slightly simplified, in case it's of interest
to anyone. Assume we're building instance $LIB:
(1) Go to the instance directory (~/src/instance/$LIB) and create a new
build directory (builds/$BUILDNAME) in it. Each build is totally
independent of any others -- $BUILDNAME is a timestamp.
(2) Copy three few files into builds/$BUILDNAME, expanding "macros"
(speaking loosely) in them:
properties/production/ir_plus.properties
ir_web/log4j-config/production-appender/log4j.xml
ir_web/struts-config/production/struts.properties
We do this primarily to make sure config variables are set properly for
our needs -- e.g., set base.web.path to
http://ir.flo.org/$LIB/, set
struts.multipart.saveDir to /var/tmp/ir_plus_$LIB, etc.
(3) Unzip ir_plus-2.1.zip into builds/$BUILDNAME (not quite empty any
more), specifying that existing files should not be overwritten.
(4) Patch two files:
ir_web/webapps/ir_web/pages/home.jsp
ir_web/webapps/ir_web/page-resources/css/global.css
(5) Copy in a custom logo for the repository.
(6) Run ant in builds/$BUILDNAME. Bail out if the build failed.
(7) Create a symlink from builds/LATEST to builds/$BUILDNAME.
I have several individual shell and Perl scripts set up so I can do
this:
$ irpl create-instance $LIB # create the instance (if necessary)
# -- this creates the DB and sets up an
# "instance dir" for it
$ irpl new-build $LIB # create the new build dir
$ irpl build $LIB # build it
$ irpl install $LIB # install it