Hi I was able to successfully build and test Beehive from my environment but I though there are a couple of things that I will share so that it is useful for others who might hit this
1) If you are behind a firewall, it would be useful to add a setproxy task to the build document (build.xml). For example, <setproxy proxyhost="host" proxyport="port"> During bootstrap this is used to get the JSR 173 jar file and without this task, bootstrap will fail. I think it would be good to add the setproxy in a commented form in the build.xml and have instructions in BUILDING.txt to alert users to this I have attached a couple of patches to build.xml and BUILDING.txt. I don't know whether this conforms to the project guidelines in terms of formatting, naming convention etc. Please apply it if you think it is useful Index: BUILDING.txt =================================================================== --- BUILDING.txt (revision 23158) +++ BUILDING.txt (working copy) @@ -11,6 +11,23 @@ directory. For example, if you ran svn checkout from "C:\MyProjects", your BEEHIVE_HOME will be "C:\MyProjects\beehive\trunk" +NOTE: If you need to use proxies you can setup additional environment + variables so that ant bootstrap target is successful in getting the + JSR 173 API jar file. + PROXYHOST=<name of proxy host> + PROXYPORT=<port used for proxying> + PROXYUSER=<username for proxy authentication> + PROXYPASSWORD=<password for proxy authentication> + NONPROXYHOSTS=<hosts that should not be proxied> + SOCKSPROXYHOST=<socks proxy host name> + SOCKSPROXYPORT=<socks proxy port> + + At the least, you will need to set PROXYHOST and PROXYPORT if your + environment requires a proxy connection + For information on proxy support using the setproxy tag, please + visit http://ant.apache.org/manual/OptionalTasks/setproxy.html + + In addition, you'll need to install Ant in $BEEHIVE_HOME/installed/ from the archive in $BEEHIVE_HOME/external/ant/apache-ant-1.6.1-bin.(zip|tar). The installed Ant distribution should end up here: Index: build.xml =================================================================== --- build.xml (revision 23158) +++ build.xml (working copy) @@ -7,7 +7,6 @@ <property environment="os"/> <property file="beehive.properties"/> - <!-- Local properties used to specify the installers and the directories into which they should be installed --> <property name="tomcat.installer" location="${beehive.external.dir}/tomcat/jakarta-tomcat-5.0.25.zip"/> <property name="log4j.installer" location="${beehive.external.dir}/log4j/jakarta-log4j-1.2.8.zip"/> @@ -144,7 +143,7 @@ <antcall target="get.jsr173"/> </target> - <target name="get.jsr173" unless="jsr173.present"> + <target name="get.jsr173" unless="jsr173.present" depends="ensure.proxysettings"> <mkdir dir="${beehive.external.dir}/xmlbeans"/> <get dest="${jsr173.installer}" src="http://workshop.bea.com/xmlbeans/jsr173v1/jsr173.jar" verbose="true" usetimestamp="true" ignoreerrors="false"/> @@ -152,6 +151,42 @@ <unzip src="${jsr173.installer}" dest="${beehive.installed.dir}/jsr173"/> </target> + <target name="ensure.proxysettings"> + <echo>Ensuring whether proxy setup is required</echo> + <condition property="proxy.needed"> + <and> + <isset property="os.PROXYHOST"/> + </and> + </condition> + <condition property="socks.proxy.needed" value="true"> + <and> + <isset property="os.SOCKSPROXYHOST"/> + </and> + </condition> + <antcall target="set.proxy"/> + <antcall target="set.socks.proxy"/> + </target> + + <target name="set.proxy" if="proxy.needed"> + <echo>Proxy setup needed.</echo> + <echo>Proxy host: "${os.PROXYHOST}"</echo> + <echo>Proxy port: "${os.PROXYPORT}"</echo> + <echo>Proxy user: "${os.PROXYUSER}"</echo> + <echo>Proxy password: "${os.PROXYPASSWORD}"</echo> + <echo>Non proxy hosts : "${os.NONPROXYHOSTS}"</echo> + <setproxy proxyhost="${os.PROXYHOST}" + proxyport="${os.PROXYPORT}" + proxyuser="${os.PROXYUSER}" + proxypassword="${os.PROXYPASSWORD}" + nonproxyhosts="${os.NONPROXYHOSTS}" + /> + </target> + <target name="set.socks.proxy" if="socks.proxy.needed"> + <echo>Socks Proxy setup needed.</echo> + <setproxy socksproxyhost="${os.SOCKSPROXYHOST}" + socksproxyport="${os.SOCKSPROXYPORT}" + /> + </target> <target name="usage" description="Print the usage for this build.xml"> <java fork="no" classname="org.apache.tools.ant.Main"> <arg line="-projecthelp"/> 2) Another thing that tripped me was that my JDK1.5.0 said beta-2 but the build was build 47 whereas the build available to download is build 51. The later one has this version string java version "1.5.0-beta2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta2-b51) Java HotSpot(TM) Client VM (build 1.5.0-beta2-b51, mixed mode, sharing) And the one I had before has a version string as below java version "1.5.0-beta2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta2-b47) Java HotSpot(TM) Client VM (build 1.5.0-beta2-b47, mixed mode) This resulted in some compilation errors. So, I guess my point is, if you have JDK 1.5.0 already, make sure that it is build 51. Regards Venkat BTW, my JIRA id is nrv