You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Eddie O'Neil <ek...@bea.com> on 2005/01/16 20:13:37 UTC
important: build changes
All--
As have been discussed in the -dev list over the last few weeks,
there are some build changes that are coming which will impact your
local SVN trunk/ source trees. These are now complete locally, and I'd
like to check them into the tree on Tuesday morning.
The changes stem from the build work that Bob started and a need /
desire to remove Tomcat and Ant from the source tree. The result are
changes in two categories:
1) In SVN, removing the BEEHIVE_HOME environment variable, isolating the
build-webapp / start / deploy calls, and fixing up compile-time and
deploy-time dependencies on XMLBean / controls / velocity / etc. This
change is basically low impact on your local development environment.
2) removing Ant and Tomcat from the build. This change is higher impact
and requires adjusting in steps 1-5 below.
Here's a draft of the changes needed to adjust your local build
environment; note, this is subject to change and will be updated when
the changes are committed to SVN. :) Just want to give everyone a
general heads up on what you'll need to change locally.
I've got a patch file I can send along if anyone is interested (it's
not attached because of its size).
Comments / questions welcome.
Eddie
How to adjust (draft!)
=============
1) install Tomcat 5.0.x from:
http://jakarta.apache.org/site/binindex.cgi#tomcat
Note, Tomcat 5.5.x versions have a deployment bug that wreaks havoc with
the NetUI DRTs, so avoid 5.5.x versions for the time being.
2) install Ant 1.6.2 from:
http://ant.apache.org/bindownload.cgi
3) setup environment variables (via a shell script or in the system) for:
CATALINA_HOME
ANT_HOME
4) copy junit.jar from ${beehive.home}/trunk/external/junit/junit.jar
into $ANT_HOME/lib
5) copy ${beehive.home}/test/conf/tomcat-users.xml to
$CATALINA_HOME/conf. This ensures that the manager role is defined and
that Tomcat's Ant tasks for deploy / undeploy of webapps work.
6) ensure that $JAVA_HOME/bin and $ANT_HOME/bin are available in your
$PATH.
There is a "check.setup" target in the trunk/build.xml file which will
help check your environment.
Overview of the changes
=======================
- the SVN build now runs without any shell scripts or environment
variables. The .cmd/.sh files for the SVN and distribution builds have
all been removed.
- the distribution build now runs without any shell scripts of
environment variables.
- no JARs that we build or use have changed locations, so these changes
shouldn't impact your IDE project setup.
- Tomcat and Ant have been removed from SVN and must now be installed
locally (preferably outside of your ${beehive.home}). I'd like to see
the same thing happen with Axis but will leave that for the WSM devs to
take care of.
- the top-level beehive.properties file is now gone. This has been
replaced with a file called "beehive-imports.xml" which is in trunk/ and
contains a set of <path>s and <fileset>s which allows downstream build
files to build classpaths and copy files more easily. For example,
previously to reference XMLBeans, one used:
<property name="classpath" location="${xbean.jar};${jsr173.jar}..."/>
now, this is setup in beehive-imports.xml as:
<path id="xbean.classpath">
<fileset refid="xbean.fileset"/>
<fileset refid="jsr173.fileset"/>
</path>
and can be imported into a classpath as:
<path refid="xbean.classpath"/>
This tends to make classpaths easier to manage, and everyone shares the
same definitions. The properties file may come back but will hopefully
only contain properties that can be tweaked by devleopers.
- importing "beehive-imports.xml" is also the same mechanism via which
Ant / JDK version checking is done and via which the "beehive.home" Ant
property is set. The "beehive.home" variable is an absolute reference
to the trunk/ directory, but without having to set an environment
variable. This makes it easy to switch between Beehive trees.
- sub-project builds have been adjusted to account for the changes from
properties to <path>s
- the targets to start / stop an app container and deploy / undeploy /
redeploy have been hidden behind a set of <macrodef>s in
beehive-imports.xml. In SVN, all downstream clients of these macros
simply call <start-server> to start some configured server. Tomcat is
setup as the default server, and the start / stop / deploy / undeploy /
redeploy targets are implemented in ant/tomcat-imports.xml. Bryan, this
would be a good place to plug-in JOnAS. Would be great to see the same
of WSM / Axis.
- the distribution is now container agnostic and doesn't ship anything
related to Tomcat. As a default, the webapp build assumes that
$CATALINA_HOME is available in order to pickup the Servlet / JSP
classpaths. Just took a stab at this, I expect that we'll discuss
further in the future.
- the webapp build files from ${beehive.home}/test/ant have moved to
${beehive.home}/ant so that they are in the same place in SVN and in the
distribution.
- the webapp build files have been restructured slightly to provide Ant
macros for compiling controls, JWSs, and JPFs.
What works
==========
- controls / wsm / netui DRTs
- "build.dist"
- "test.dist"
- doc builds
- running NetUI tests against the distribution
What is undone
==============
- Ensure that the controls perf infrastructure to run with the new system
- Ensuring that all of the /samples builds work correctly. This seems
like it can be fixed after the fact
- Ensuring that the app container plug-points in the build are 100%
capable of accepting another container. They're a good start, but it'd
be great to add SVN support for JOnAS or Geronimo.
- Fixing any of your local Ant builds / other things that exist outside
of the tree
Example environment init script (note, no BEEHIVE_HOME)
===============================
@ECHO OFF
set JAVA_HOME=d:\dev\src\build\jdk1.5.0
set MAVEN_HOME=d:\java\maven-1.0.1
set FORREST_HOME=d:\java\apache-forrest-0.6\src\core
set JSF_HOME=d:\java\jsf-1_1
set CATALINA_HOME=d:\java\jakarta-tomcat-5.0.25
set ANT_HOME=d:\java\apache-ant-1.6.2
set SVN_EDITOR=notepad
set
PATH=%PATH%;%MAVEN_HOME%\bin;%FORREST_HOME%\bin;%JAVA_HOME%\bin;%ANT_HOME%\bin
Re: important: build changes
Posted by Bryan Che <bc...@redhat.com>.
Sounds good to me--looking forward to the changes.
Bryan
Eddie O'Neil wrote:
> All--
>
> As have been discussed in the -dev list over the last few weeks, there
> are some build changes that are coming which will impact your local SVN
> trunk/ source trees. These are now complete locally, and I'd like to
> check them into the tree on Tuesday morning.
>
> The changes stem from the build work that Bob started and a need /
> desire to remove Tomcat and Ant from the source tree. The result are
> changes in two categories:
>
> 1) In SVN, removing the BEEHIVE_HOME environment variable, isolating the
> build-webapp / start / deploy calls, and fixing up compile-time and
> deploy-time dependencies on XMLBean / controls / velocity / etc. This
> change is basically low impact on your local development environment.
>
> 2) removing Ant and Tomcat from the build. This change is higher impact
> and requires adjusting in steps 1-5 below.
>
> Here's a draft of the changes needed to adjust your local build
> environment; note, this is subject to change and will be updated when
> the changes are committed to SVN. :) Just want to give everyone a
> general heads up on what you'll need to change locally.
>
> I've got a patch file I can send along if anyone is interested (it's
> not attached because of its size).
>
> Comments / questions welcome.
>
> Eddie
>
>
>
> How to adjust (draft!)
> =============
> 1) install Tomcat 5.0.x from:
>
> http://jakarta.apache.org/site/binindex.cgi#tomcat
>
> Note, Tomcat 5.5.x versions have a deployment bug that wreaks havoc with
> the NetUI DRTs, so avoid 5.5.x versions for the time being.
>
> 2) install Ant 1.6.2 from:
>
> http://ant.apache.org/bindownload.cgi
>
> 3) setup environment variables (via a shell script or in the system) for:
>
> CATALINA_HOME
> ANT_HOME
>
> 4) copy junit.jar from ${beehive.home}/trunk/external/junit/junit.jar
> into $ANT_HOME/lib
>
> 5) copy ${beehive.home}/test/conf/tomcat-users.xml to
> $CATALINA_HOME/conf. This ensures that the manager role is defined and
> that Tomcat's Ant tasks for deploy / undeploy of webapps work.
>
> 6) ensure that $JAVA_HOME/bin and $ANT_HOME/bin are available in your
> $PATH.
>
> There is a "check.setup" target in the trunk/build.xml file which will
> help check your environment.
>
> Overview of the changes
> =======================
>
> - the SVN build now runs without any shell scripts or environment
> variables. The .cmd/.sh files for the SVN and distribution builds have
> all been removed.
>
> - the distribution build now runs without any shell scripts of
> environment variables.
>
> - no JARs that we build or use have changed locations, so these changes
> shouldn't impact your IDE project setup.
>
> - Tomcat and Ant have been removed from SVN and must now be installed
> locally (preferably outside of your ${beehive.home}). I'd like to see
> the same thing happen with Axis but will leave that for the WSM devs to
> take care of.
>
> - the top-level beehive.properties file is now gone. This has been
> replaced with a file called "beehive-imports.xml" which is in trunk/ and
> contains a set of <path>s and <fileset>s which allows downstream build
> files to build classpaths and copy files more easily. For example,
> previously to reference XMLBeans, one used:
>
> <property name="classpath" location="${xbean.jar};${jsr173.jar}..."/>
>
> now, this is setup in beehive-imports.xml as:
>
> <path id="xbean.classpath">
> <fileset refid="xbean.fileset"/>
> <fileset refid="jsr173.fileset"/>
> </path>
>
> and can be imported into a classpath as:
>
> <path refid="xbean.classpath"/>
>
> This tends to make classpaths easier to manage, and everyone shares the
> same definitions. The properties file may come back but will hopefully
> only contain properties that can be tweaked by devleopers.
>
> - importing "beehive-imports.xml" is also the same mechanism via which
> Ant / JDK version checking is done and via which the "beehive.home" Ant
> property is set. The "beehive.home" variable is an absolute reference
> to the trunk/ directory, but without having to set an environment
> variable. This makes it easy to switch between Beehive trees.
>
> - sub-project builds have been adjusted to account for the changes from
> properties to <path>s
>
> - the targets to start / stop an app container and deploy / undeploy /
> redeploy have been hidden behind a set of <macrodef>s in
> beehive-imports.xml. In SVN, all downstream clients of these macros
> simply call <start-server> to start some configured server. Tomcat is
> setup as the default server, and the start / stop / deploy / undeploy /
> redeploy targets are implemented in ant/tomcat-imports.xml. Bryan, this
> would be a good place to plug-in JOnAS. Would be great to see the same
> of WSM / Axis.
>
> - the distribution is now container agnostic and doesn't ship anything
> related to Tomcat. As a default, the webapp build assumes that
> $CATALINA_HOME is available in order to pickup the Servlet / JSP
> classpaths. Just took a stab at this, I expect that we'll discuss
> further in the future.
>
> - the webapp build files from ${beehive.home}/test/ant have moved to
> ${beehive.home}/ant so that they are in the same place in SVN and in the
> distribution.
>
> - the webapp build files have been restructured slightly to provide Ant
> macros for compiling controls, JWSs, and JPFs.
>
> What works
> ==========
>
> - controls / wsm / netui DRTs
> - "build.dist"
> - "test.dist"
> - doc builds
> - running NetUI tests against the distribution
>
> What is undone
> ==============
>
> - Ensure that the controls perf infrastructure to run with the new system
> - Ensuring that all of the /samples builds work correctly. This seems
> like it can be fixed after the fact
> - Ensuring that the app container plug-points in the build are 100%
> capable of accepting another container. They're a good start, but it'd
> be great to add SVN support for JOnAS or Geronimo.
> - Fixing any of your local Ant builds / other things that exist outside
> of the tree
>
> Example environment init script (note, no BEEHIVE_HOME)
> ===============================
> @ECHO OFF
>
> set JAVA_HOME=d:\dev\src\build\jdk1.5.0
> set MAVEN_HOME=d:\java\maven-1.0.1
> set FORREST_HOME=d:\java\apache-forrest-0.6\src\core
> set JSF_HOME=d:\java\jsf-1_1
> set CATALINA_HOME=d:\java\jakarta-tomcat-5.0.25
> set ANT_HOME=d:\java\apache-ant-1.6.2
>
> set SVN_EDITOR=notepad
>
> set
> PATH=%PATH%;%MAVEN_HOME%\bin;%FORREST_HOME%\bin;%JAVA_HOME%\bin;%ANT_HOME%\bin
>
Re: important: build changes
Posted by Eddie O'Neil <ek...@bea.com>.
All--
Just to give everyone the heads up -- the build changes will go into
the tree in the next hour or two.
Send questions / comments / flames my way. :)
Thanks!
Eddie
Eddie O'Neil wrote:
> All--
>
> As have been discussed in the -dev list over the last few weeks, there
> are some build changes that are coming which will impact your local SVN
> trunk/ source trees. These are now complete locally, and I'd like to
> check them into the tree on Tuesday morning.
>
> The changes stem from the build work that Bob started and a need /
> desire to remove Tomcat and Ant from the source tree. The result are
> changes in two categories:
>
> 1) In SVN, removing the BEEHIVE_HOME environment variable, isolating the
> build-webapp / start / deploy calls, and fixing up compile-time and
> deploy-time dependencies on XMLBean / controls / velocity / etc. This
> change is basically low impact on your local development environment.
>
> 2) removing Ant and Tomcat from the build. This change is higher impact
> and requires adjusting in steps 1-5 below.
>
> Here's a draft of the changes needed to adjust your local build
> environment; note, this is subject to change and will be updated when
> the changes are committed to SVN. :) Just want to give everyone a
> general heads up on what you'll need to change locally.
>
> I've got a patch file I can send along if anyone is interested (it's
> not attached because of its size).
>
> Comments / questions welcome.
>
> Eddie
>
>
>
> How to adjust (draft!)
> =============
> 1) install Tomcat 5.0.x from:
>
> http://jakarta.apache.org/site/binindex.cgi#tomcat
>
> Note, Tomcat 5.5.x versions have a deployment bug that wreaks havoc with
> the NetUI DRTs, so avoid 5.5.x versions for the time being.
>
> 2) install Ant 1.6.2 from:
>
> http://ant.apache.org/bindownload.cgi
>
> 3) setup environment variables (via a shell script or in the system) for:
>
> CATALINA_HOME
> ANT_HOME
>
> 4) copy junit.jar from ${beehive.home}/trunk/external/junit/junit.jar
> into $ANT_HOME/lib
>
> 5) copy ${beehive.home}/test/conf/tomcat-users.xml to
> $CATALINA_HOME/conf. This ensures that the manager role is defined and
> that Tomcat's Ant tasks for deploy / undeploy of webapps work.
>
> 6) ensure that $JAVA_HOME/bin and $ANT_HOME/bin are available in your
> $PATH.
>
> There is a "check.setup" target in the trunk/build.xml file which will
> help check your environment.
>
> Overview of the changes
> =======================
>
> - the SVN build now runs without any shell scripts or environment
> variables. The .cmd/.sh files for the SVN and distribution builds have
> all been removed.
>
> - the distribution build now runs without any shell scripts of
> environment variables.
>
> - no JARs that we build or use have changed locations, so these changes
> shouldn't impact your IDE project setup.
>
> - Tomcat and Ant have been removed from SVN and must now be installed
> locally (preferably outside of your ${beehive.home}). I'd like to see
> the same thing happen with Axis but will leave that for the WSM devs to
> take care of.
>
> - the top-level beehive.properties file is now gone. This has been
> replaced with a file called "beehive-imports.xml" which is in trunk/ and
> contains a set of <path>s and <fileset>s which allows downstream build
> files to build classpaths and copy files more easily. For example,
> previously to reference XMLBeans, one used:
>
> <property name="classpath" location="${xbean.jar};${jsr173.jar}..."/>
>
> now, this is setup in beehive-imports.xml as:
>
> <path id="xbean.classpath">
> <fileset refid="xbean.fileset"/>
> <fileset refid="jsr173.fileset"/>
> </path>
>
> and can be imported into a classpath as:
>
> <path refid="xbean.classpath"/>
>
> This tends to make classpaths easier to manage, and everyone shares the
> same definitions. The properties file may come back but will hopefully
> only contain properties that can be tweaked by devleopers.
>
> - importing "beehive-imports.xml" is also the same mechanism via which
> Ant / JDK version checking is done and via which the "beehive.home" Ant
> property is set. The "beehive.home" variable is an absolute reference
> to the trunk/ directory, but without having to set an environment
> variable. This makes it easy to switch between Beehive trees.
>
> - sub-project builds have been adjusted to account for the changes from
> properties to <path>s
>
> - the targets to start / stop an app container and deploy / undeploy /
> redeploy have been hidden behind a set of <macrodef>s in
> beehive-imports.xml. In SVN, all downstream clients of these macros
> simply call <start-server> to start some configured server. Tomcat is
> setup as the default server, and the start / stop / deploy / undeploy /
> redeploy targets are implemented in ant/tomcat-imports.xml. Bryan, this
> would be a good place to plug-in JOnAS. Would be great to see the same
> of WSM / Axis.
>
> - the distribution is now container agnostic and doesn't ship anything
> related to Tomcat. As a default, the webapp build assumes that
> $CATALINA_HOME is available in order to pickup the Servlet / JSP
> classpaths. Just took a stab at this, I expect that we'll discuss
> further in the future.
>
> - the webapp build files from ${beehive.home}/test/ant have moved to
> ${beehive.home}/ant so that they are in the same place in SVN and in the
> distribution.
>
> - the webapp build files have been restructured slightly to provide Ant
> macros for compiling controls, JWSs, and JPFs.
>
> What works
> ==========
>
> - controls / wsm / netui DRTs
> - "build.dist"
> - "test.dist"
> - doc builds
> - running NetUI tests against the distribution
>
> What is undone
> ==============
>
> - Ensure that the controls perf infrastructure to run with the new system
> - Ensuring that all of the /samples builds work correctly. This seems
> like it can be fixed after the fact
> - Ensuring that the app container plug-points in the build are 100%
> capable of accepting another container. They're a good start, but it'd
> be great to add SVN support for JOnAS or Geronimo.
> - Fixing any of your local Ant builds / other things that exist outside
> of the tree
>
> Example environment init script (note, no BEEHIVE_HOME)
> ===============================
> @ECHO OFF
>
> set JAVA_HOME=d:\dev\src\build\jdk1.5.0
> set MAVEN_HOME=d:\java\maven-1.0.1
> set FORREST_HOME=d:\java\apache-forrest-0.6\src\core
> set JSF_HOME=d:\java\jsf-1_1
> set CATALINA_HOME=d:\java\jakarta-tomcat-5.0.25
> set ANT_HOME=d:\java\apache-ant-1.6.2
>
> set SVN_EDITOR=notepad
>
> set
> PATH=%PATH%;%MAVEN_HOME%\bin;%FORREST_HOME%\bin;%JAVA_HOME%\bin;%ANT_HOME%\bin
>
>