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

Reply via email to