You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/09/05 12:00:33 UTC
cvs commit: avalon-sandbox/merlin/merlin-plugin/src/java/org/apache/avalon/merlin/tools MerlinBean.java
mcconnell 2003/09/05 03:00:33
Modified: merlin STRUCTURE.TXT maven.xml platform.xml
merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl
DefaultContainmentModel.java
merlin/merlin-extensions/merlin-jmx/conf block.xml
merlin/merlin-platform/tutorials/composition/application/impl
project.xml
merlin/merlin-platform/tutorials/composition/location/api
project.xml
merlin/merlin-platform/tutorials/composition/location/impl
project.xml
merlin/merlin-platform/tutorials/composition/publisher/api
project.xml
merlin/merlin-platform/tutorials/composition/publisher/impl
project.xml
merlin/merlin-plugin/src/java/org/apache/avalon/merlin/tools
MerlinBean.java
Log:
Housekeeping.
Revision Changes Path
1.6 +14 -14 avalon-sandbox/merlin/STRUCTURE.TXT
Index: STRUCTURE.TXT
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/STRUCTURE.TXT,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- STRUCTURE.TXT 19 Aug 2003 03:54:49 -0000 1.5
+++ STRUCTURE.TXT 5 Sep 2003 10:00:32 -0000 1.6
@@ -15,8 +15,10 @@
+-- activation activation implementation
+-- activation-api activation API interfaces and classes
+-- activation-spi activation SPI interfaces and classes
- +-- composition composition implementation
- +-- composition-spi composition SPI interfaces and classes
+ +-- composition composition framework
+ +- api composition API
+ +- spi composition SPI
+ +- impl composition framework implementation
+-- extension jar manegement implementation
+-- extension-spi jar manegement SPI interfaces and classes
+-- kernel
@@ -32,26 +34,24 @@
+-- merlin-platform site and installation resources
+- src resources used to build a merlin installation
+- tutorials several merlin tutorials
- +- examples example applications
- +- target
- +- docs generate site documentation
+ +- examples example applications (work-in-progress)
+-- repository
+- spi resource repository interfaces
+- impl resource repository implementation
+-- target generated build
+- merlin the generated installation (see
build procedure detailed below)
+ +- docs generate site documentation
BUILD PROCEDURE:
----------------
-The Merlin project requires the Maven project management tool.
-
-The merlin-dist goal builds a Merlin installation directory under the
+The Merlin project requires the Maven project management tool.
+The merlin:install goal builds a Merlin installation directory under the
default /target/merlin.
- $ maven merlin-dist
+ $ maven merlin:install
Following the creation of an installation you need to declare the environment
variable MERLIN_HOME with a value corresponding to the directory in which you
@@ -66,20 +66,20 @@
Support for the installation and execution of Merlin as an NT process is
now included in the package (refer bin directory) - special thanks to Leif
for helping to set this up. When updating an existing installation, the
-maven goal merlin-libs invokes the classic merlin-dist and updates your local
+maven goal merlin:update invokes the classic merlin:install and updates your local
merlin repository. This is often convinient if you are frequently updating
-the merlin core.
+the merlin core.
For additional information please check the documentation and also use the
-Avalon Users list (subscription details in the doc). The merlin-site goal
+Avalon Users list (subscription details in the doc). The merlin:site goal
aggregates the sources from across the main Merlin sub-projects to build a
consolidated project presentation. The goal should be invoked from the
root merlin directory.
- $ maven merlin-site
+ $ maven merlin:site
Finally, please keep in mind that while Merlin is nearing completion and
readiness for a first release, it should be considered as beta software as
APIs are changing, and documentation is evolving.
-SJM 17 August 2003
+SJM 1 September 2003
1.51 +24 -32 avalon-sandbox/merlin/maven.xml
Index: maven.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/maven.xml,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- maven.xml 31 Aug 2003 14:37:48 -0000 1.50
+++ maven.xml 5 Sep 2003 10:00:32 -0000 1.51
@@ -1,4 +1,4 @@
-<project default="jar:install-snapshot" xmlns:maven="jelly:maven" xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:ant="jelly:ant">
+<project default="merlin:build" xmlns:maven="jelly:maven" xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:ant="jelly:ant">
<ant:property file="project.properties"/>
<ant:property name="maven.docs.src" value="${basedir}/merlin-platform/xdocs"/>
@@ -18,7 +18,7 @@
<goal name="merlin:update">
<attainGoal name="merlin:clean"/>
- <attainGoal name="merlin:dist"/>
+ <attainGoal name="merlin:install"/>
<attainGoal name="merlin:site"/>
<attainGoal name="merlin:tutorials"/>
<attainGoal name="merlin:package"/>
@@ -31,8 +31,7 @@
</copy>
</goal>
- <goal name="merlin:demo"
- description="Execute the demo targets." >
+ <goal name="merlin:demo" description="Execute the demo targets." >
<maven:reactor
basedir="${basedir}"
includes="merlin-platform/tutorials/**/project.xml"
@@ -42,41 +41,39 @@
ignoreFailures="false" />
</goal>
- <goal name="merlin:dist"
- description="Build the Merlin distribution." >
+ <goal name="merlin:build" description="Build Merlin." >
- <ant:mkdir dir="${merlin.build.inst.dir}"/>
- <ant:mkdir dir="${merlin.build.inst.dir}/ext"/>
- <ant:mkdir dir="${merlin.build.inst.dir}/bin/lib"/>
-
- <!--
- Install the sub-project jars (meta, assembly, merlin, etc.)
- into the user's local repository and put a copy in the
- build target install directory.
- -->
- <maven:reactor
- basedir="${basedir}"
+ <!-- build the subprojects -->
+ <maven:reactor basedir="${basedir}"
includes="**/project.xml"
- excludes="merlin-platform/**,merlin-plugin/**,project.xml,kernel/bootstrap/*,merlin-extensions/**"
+ excludes="target/**,merlin-platform/**,merlin-plugin/**,project.xml,kernel/bootstrap/*,merlin-extensions/**"
goals="jar:install-snapshot"
banner="Installing:"
ignoreFailures="false" />
<attainGoal name="merlin:plugin"/>
- <maven:reactor
- basedir="${basedir}"
+ <!-- build the plugin -->
+ <maven:reactor basedir="${basedir}"
includes="kernel/bootstrap/project.xml"
goals="jar:install"
banner="Installing:"
ignoreFailures="false" />
+
+ </goal>
+
+ <goal name="merlin:install"
+ description="Build the Merlin distribution." prereqs="merlin:build">
+
+ <ant:mkdir dir="${merlin.build.inst.dir}"/>
+ <ant:mkdir dir="${merlin.build.inst.dir}/ext"/>
+ <ant:mkdir dir="${merlin.build.inst.dir}/bin/lib"/>
+
+ <!-- import bootstrap jar -->
<ant:copy
file="${basedir}/kernel/bootstrap/target/merlin-bootstrap-1.0.jar"
toDir="${merlin.build.inst.dir}/bin/lib"/>
- <!--
- Import the dependent jar files referenced by platform.xml
- into the install directory.
- -->
+ <!-- import subproject jar files -->
<maven:reactor
basedir="${basedir}"
includes="platform.xml"
@@ -84,10 +81,7 @@
banner="Resolving dependencies:"
ignoreFailures="false"/>
- <!--
- Copy the xml api jar file to the merlin/ext directory so that it
- will included in the JVM bootstrap process.
- -->
+ <!-- copy the xml api jar file to the merlin/ext directory -->
<ant:copy
file="${merlin.build.inst.dir}/repository/xml-apis/jars/xml-apis-2.0.2.jar"
toDir="${merlin.build.inst.dir}/ext"/>
@@ -100,9 +94,7 @@
toDir="${merlin.build.inst.dir}/ext"/>
<delete dir="${merlin.build.inst.dir}/repository/xerces"/>
- <!--
- Add the supporting resources.
- -->
+ <!-- add supporting resources -->
<ant:copy toDir="${merlin.build.inst.dir}">
<fileset dir="${basedir}/merlin-platform/src">
<include name="bin/**/*"/>
@@ -288,7 +280,7 @@
</goal>
<goal name="merlin-clean" prereqs="merlin:clean"/>
- <goal name="merlin-dist" prereqs="merlin:dist"/>
+ <goal name="merlin-dist" prereqs="merlin:install"/>
<goal name="merlin-site" prereqs="merlin:site"/>
<goal name="merlin-libs" prereqs="merlin:update"/>
1.3 +13 -0 avalon-sandbox/merlin/platform.xml
Index: platform.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/platform.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- platform.xml 1 Sep 2003 02:18:13 -0000 1.2
+++ platform.xml 5 Sep 2003 10:00:32 -0000 1.3
@@ -10,6 +10,19 @@
<dependencies>
+ <!-- mx4j dependecies -->
+
+ <dependency>
+ <groupId>mx4j</groupId>
+ <artifactId>mx4j-jmx</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>mx4j</groupId>
+ <artifactId>mx4j-tools</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+
<!-- merlin dependecies -->
<dependency>
1.2 +8 -5 avalon-sandbox/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java
Index: DefaultContainmentModel.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DefaultContainmentModel.java 31 Aug 2003 14:30:23 -0000 1.1
+++ DefaultContainmentModel.java 5 Sep 2003 10:00:32 -0000 1.2
@@ -269,15 +269,13 @@
public Model addModel( URL url ) throws ModelException
{
ContainmentModel model = createContainmentModel( null, url );
- m_models.put( model.getName(), model );
- return model;
+ return addModel( model.getName(), model );
}
public Model addModel( Profile profile ) throws ModelException
{
Model model = null;
final String name = profile.getName();
-
if( profile instanceof ContainmentProfile )
{
ContainmentProfile containment = (ContainmentProfile) profile;
@@ -312,7 +310,11 @@
profile.getClass().getName() );
throw new ModelException( error );
}
+ return addModel( name, model );
+ }
+ private Model addModel( String name, Model model ) throws ModelException
+ {
m_models.put( name, model );
return model;
}
@@ -327,9 +329,10 @@
private DeploymentModel createDeploymentModel( final DeploymentProfile profile )
throws ModelException
{
+
final String name = profile.getName();
final String partition = getPartition();
- final Logger logger = getLogger().getChildLogger( profile.getName() );
+ final Logger logger = getLogger().getChildLogger( name );
if( getLogger().isDebugEnabled() )
{
1.3 +3 -3 avalon-sandbox/merlin/merlin-extensions/merlin-jmx/conf/block.xml
Index: block.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-extensions/merlin-jmx/conf/block.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- block.xml 16 Aug 2003 11:19:48 -0000 1.2
+++ block.xml 5 Sep 2003 10:00:32 -0000 1.3
@@ -8,11 +8,11 @@
<classloader>
<classpath>
<repository>
- <resource id="avalon-framework:avalon-framework-api" version="4.1.5-dev"/>
- <resource id="avalon-framework:avalon-framework-impl" version="4.1.5-dev"/>
+ <resource id="avalon-framework:avalon-framework-api" version="4.1.5"/>
+ <resource id="avalon-framework:avalon-framework-impl" version="4.1.5"/>
<resource id="mx4j:mx4j-jmx" version="1.1.1"/>
<resource id="mx4j:mx4j-tools" version="1.1.1"/>
- <resource id="merlin:merlin-jmx" version="1.0"/>
+ <resource id="merlin:merlin-jmx" version="SNAPSHOT"/>
</repository>
</classpath>
</classloader>
1.4 +1 -1 avalon-sandbox/merlin/merlin-platform/tutorials/composition/application/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/application/impl/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 25 Aug 2003 23:39:58 -0000 1.3
+++ project.xml 5 Sep 2003 10:00:32 -0000 1.4
@@ -5,7 +5,7 @@
<extend>${basedir}/../../../project.xml</extend>
<id>application-impl</id>
- <name>Composition Application</name>
+ <name>Composition Application Tutorial</name>
<currentVersion>1.0</currentVersion>
<dependencies>
1.4 +1 -1 avalon-sandbox/merlin/merlin-platform/tutorials/composition/location/api/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/location/api/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 25 Aug 2003 23:39:58 -0000 1.3
+++ project.xml 5 Sep 2003 10:00:32 -0000 1.4
@@ -5,7 +5,7 @@
<extend>${basedir}/../../../project.xml</extend>
<id>locator-api</id>
- <name>Composition Locator API</name>
+ <name>Composition Locator API Tutorial</name>
<currentVersion>1.0</currentVersion>
<dependencies>
1.4 +1 -1 avalon-sandbox/merlin/merlin-platform/tutorials/composition/location/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/location/impl/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 25 Aug 2003 23:39:58 -0000 1.3
+++ project.xml 5 Sep 2003 10:00:32 -0000 1.4
@@ -5,7 +5,7 @@
<extend>${basedir}/../../../project.xml</extend>
<id>locator-impl</id>
- <name>Composition Locator Impl</name>
+ <name>Composition Locator Impl Tutorial</name>
<currentVersion>1.0</currentVersion>
<dependencies>
1.4 +1 -1 avalon-sandbox/merlin/merlin-platform/tutorials/composition/publisher/api/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/publisher/api/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 25 Aug 2003 23:39:58 -0000 1.3
+++ project.xml 5 Sep 2003 10:00:32 -0000 1.4
@@ -5,7 +5,7 @@
<extend>${basedir}/../../../project.xml</extend>
<id>publisher-api</id>
- <name>Composition Publisher API</name>
+ <name>Composition Publisher API Tutorial</name>
<currentVersion>1.0</currentVersion>
<dependencies>
1.4 +1 -1 avalon-sandbox/merlin/merlin-platform/tutorials/composition/publisher/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/publisher/impl/project.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- project.xml 25 Aug 2003 23:39:58 -0000 1.3
+++ project.xml 5 Sep 2003 10:00:33 -0000 1.4
@@ -5,7 +5,7 @@
<extend>${basedir}/../../../project.xml</extend>
<id>publisher-impl</id>
- <name>Composition Publisher Impl</name>
+ <name>Composition Publisher Impl Tutorial</name>
<currentVersion>1.0</currentVersion>
<dependencies>
1.16 +38 -3 avalon-sandbox/merlin/merlin-plugin/src/java/org/apache/avalon/merlin/tools/MerlinBean.java
Index: MerlinBean.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-plugin/src/java/org/apache/avalon/merlin/tools/MerlinBean.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- MerlinBean.java 25 Aug 2003 16:38:42 -0000 1.15
+++ MerlinBean.java 5 Sep 2003 10:00:33 -0000 1.16
@@ -229,6 +229,15 @@
}
/**
+ * Get the repository directory fiile.
+ * @return the repository directory
+ */
+ private File getRepositoryDirectory()
+ {
+ return m_repository;
+ }
+
+ /**
* Get the configuration source as a URL
* @return the config url
*/
@@ -312,14 +321,15 @@
*/
public void doExecute() throws Exception
{
+ DefaultKernelContext context = null;
try
{
File repo = new File( m_repository, "repository" );
Repository repository = new DefaultFileRepository( repo );
- DefaultKernelContext context =
+ context =
new DefaultKernelContext(
repository,
- m_repository,
+ getRepositoryDirectory(),
getAnchorDirectory(),
getHomeDirectory(),
getKernelURL(),
@@ -329,14 +339,39 @@
getInfoFlag(),
getDebugFlag()
);
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Could not establish the kernel context.";
+ String message = ExceptionHelper.packException( error, e );
+ System.err.println( message );
+ throw new KernelException( message, e );
+ }
- Kernel kernel = new DefaultKernel( context );
+ Kernel kernel = null;
+ try
+ {
+ kernel = new DefaultKernel( context );
setShutdownHook( kernel );
}
catch( Throwable e )
{
final String error =
"Could not establish the kernel.";
+ String message = ExceptionHelper.packException( error, e );
+ System.err.println( message );
+ throw new KernelException( message, e );
+ }
+
+ try
+ {
+ kernel.startup();
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Kernel startup failure.";
String message = ExceptionHelper.packException( error, e );
System.err.println( message );
throw new KernelException( message, e );
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org