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/06/21 19:10:03 UTC
cvs commit: avalon-sandbox/merlin/meta-tools/xdocs tags.xml
mcconnell 2003/06/21 10:10:03
Modified: merlin/assembly/src/java/org/apache/avalon/assembly/lifestyle/impl
DefaultLifestyleService.java
SingletonLifestyleHandler.java
merlin/assembly/src/test/org/apache/avalon/playground
ExploitationManager.xinfo
merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl
StandardBlockLoader.java
merlin/merlin-platform/xdocs/meta/info/type index.xml
merlin/merlin-platform/xdocs/resources notebook.xml
merlin/merlin-platform/xdocs/starting/tutorial
dependencies.xml
merlin/merlin-platform/xdocs/tools ant.xml
merlin/merlin-platform/xdocs/tools/tags lifestyle.xml
merlin/meta/src/java/org/apache/avalon/meta/info/builder
XMLTypeCreator.java package.html
merlin/meta-spi/src/java/org/apache/avalon/meta type.dtd
merlin/meta-spi/src/java/org/apache/avalon/meta/info
InfoDescriptor.java
merlin/meta-tools/src/java/org/apache/avalon/meta/info/builder
DefaultTypeBuilder.java XMLTypeWriter.java
merlin/meta-tools/src/java/org/apache/avalon/meta/tools/ant
MetaTask.java
merlin/meta-tools/src/test/org/apache/avalon/meta
MetaTestCase.java
merlin/meta-tools/xdocs tags.xml
Log:
Updates include:
a) incorporate lifestyle as a formal element of the
Type defintion (as a element with the type info block)
b) addition of info.getLifestyle() and updating of related
generators, builders, writers
c) fix a synchronization bug concenring singleton instance
establishment.
Revision Changes Path
1.5 +8 -7 avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/lifestyle/impl/DefaultLifestyleService.java
Index: DefaultLifestyleService.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/lifestyle/impl/DefaultLifestyleService.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DefaultLifestyleService.java 18 Jun 2003 11:16:14 -0000 1.4
+++ DefaultLifestyleService.java 21 Jun 2003 17:10:01 -0000 1.5
@@ -62,6 +62,7 @@
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.context.ContextException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.meta.info.InfoDescriptor;
/**
* A lifestyle service provides support for the creation of a lifestyle
@@ -183,10 +184,9 @@
//
final String policy =
- appliance.getType().getInfo().getAttribute(
- "urn:avalon:lifestyle", "singleton" );
+ appliance.getType().getInfo().getLifestyle();
- if( policy.equalsIgnoreCase( "singleton" ) )
+ if( policy.equals( InfoDescriptor.SINGLETON ) )
{
try
{
@@ -201,7 +201,8 @@
"Internal error while attempting to establish the singleton lifestyle handler.";
throw new LifestyleRuntimeException( error, e );
}
- } else if( policy.equals( "transient" ) )
+ }
+ else if( policy.equals( InfoDescriptor.TRANSIENT ) )
{
try
{
@@ -218,7 +219,7 @@
throw new LifestyleRuntimeException( error, e );
}
}
- else if( policy.equals( "thread" ) )
+ else if( policy.equals( InfoDescriptor.THREAD ) )
{
try
{
@@ -234,7 +235,7 @@
throw new LifestyleRuntimeException( error, e );
}
}
- else if( policy.equals( "pooled" ) )
+ else if( policy.equals( InfoDescriptor.POOLED ) )
{
try
{
1.3 +12 -8 avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/lifestyle/impl/SingletonLifestyleHandler.java
Index: SingletonLifestyleHandler.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/assembly/src/java/org/apache/avalon/assembly/lifestyle/impl/SingletonLifestyleHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SingletonLifestyleHandler.java 18 Jun 2003 11:16:14 -0000 1.2
+++ SingletonLifestyleHandler.java 21 Jun 2003 17:10:02 -0000 1.3
@@ -147,16 +147,20 @@
{
if( m_instance == null )
{
- if( getLogger().isDebugEnabled() )
+ synchronized( this )
{
- final String debug =
- "new instance in appliance: " + getAppliance();
- getLogger().debug( debug );
+ if( m_instance == null )
+ {
+ if( getLogger().isDebugEnabled() )
+ {
+ final String debug =
+ "new instance in appliance: " + getAppliance();
+ getLogger().debug( debug );
+ }
+ m_instance = super.newInstance();
+ }
}
-
- m_instance = super.newInstance();
}
return m_instance;
}
-
}
1.2 +1 -3 avalon-sandbox/merlin/assembly/src/test/org/apache/avalon/playground/ExploitationManager.xinfo
Index: ExploitationManager.xinfo
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/assembly/src/test/org/apache/avalon/playground/ExploitationManager.xinfo,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ExploitationManager.xinfo 13 Mar 2003 01:04:26 -0000 1.1
+++ ExploitationManager.xinfo 21 Jun 2003 17:10:02 -0000 1.2
@@ -21,9 +21,7 @@
<info>
<name>exploit</name>
- <attributes>
- <attribute key="urn:avalon:lifestyle" value="thread"/>
- </attributes>
+ <lifestyle>thread</lifestyle>
</info>
<!--
1.15 +13 -34 avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/StandardBlockLoader.java
Index: StandardBlockLoader.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/StandardBlockLoader.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- StandardBlockLoader.java 18 Jun 2003 11:28:12 -0000 1.14
+++ StandardBlockLoader.java 21 Jun 2003 17:10:02 -0000 1.15
@@ -683,44 +683,23 @@
private InfoDescriptor createBlockInfoDescriptor( Configuration info )
throws BlockException
{
- final String name = info.getChild( "name" ).getValue( null );
- if( name == null )
- {
- final String error =
- "Block " + this + " does not contain a name.";
- getLogger().warn( error );
- return createBlockInfoDescriptor( "unknown", info );
- }
- return createBlockInfoDescriptor( name, info );
- }
+ String name = info.getChild( "name" ).getValue( "block" );
+ String classname = StandardBlock.class.getName();
+ final Version version =
+ Version.getVersion( info.getChild( "version" ).getValue( "1.0" ) );
- /**
- * Create a block info descriptor holding the block name, version and
- * optional properties.
- *
- * @param name the name to assign to the block
- * @param info the <info> configuration fragment
- * @return the block info descriptor
- */
- private InfoDescriptor createBlockInfoDescriptor( String name, Configuration info )
- throws BlockException
- {
try
{
- final String classname = StandardBlock.class.getName();
- final Version version =
- Version.getVersion( info.getChild( "version" ).getValue( "1.0" ) );
- final Properties attributes =
- CREATOR.buildAttributes( info.getChild( "attributes" ) );
- return new InfoDescriptor( name, classname, version, attributes );
+ final Properties attributes =
+ CREATOR.buildAttributes( info.getChild( "attributes" ) );
+ return new InfoDescriptor(
+ name, classname, version, InfoDescriptor.SINGLETON, attributes );
}
- catch( ConfigurationException ce )
+ catch( Throwable e )
{
- final String error =
- "Unexpected error building block info desciptor: "
- + name + "\n"
- + ConfigurationUtil.list( info );
- throw new BlockException( error, ce );
+ final String error
+ = "Unable to build block info descriptor.";
+ throw new BlockException( error, e );
}
}
1.2 +3 -3 avalon-sandbox/merlin/merlin-platform/xdocs/meta/info/type/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/info/type/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 10 Jun 2003 02:14:15 -0000 1.1
+++ index.xml 21 Jun 2003 17:10:02 -0000 1.2
@@ -112,8 +112,8 @@
<attributes>
- <attribute key="<font color="darkred">urn:avalon:display-name-i18n</font>" value="<font color="darkred">display-name</font>"/>
- <attribute key="<font color="darkred">urn:avalon:lifestyle</font>" value="<font color="darkred">THREAD_SAFE</font>"/>
+ <attribute key="<font color="darkred">color</font>" value="<font color="darkred">blue</font>"/>
+ <attribute key="<font color="darkred">quantity</font>" value="<font color="darkred">35</font>"/>
</attributes>
1.6 +7 -0 avalon-sandbox/merlin/merlin-platform/xdocs/resources/notebook.xml
Index: notebook.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/resources/notebook.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- notebook.xml 20 Jun 2003 19:01:39 -0000 1.5
+++ notebook.xml 21 Jun 2003 17:10:02 -0000 1.6
@@ -65,6 +65,13 @@
<td>DONE</td>
</tr>
<tr>
+ <td>
+ replace the attribute based lifestyle policy declaration with
+ a formal element in the info block
+ </td>
+ <td>DONE</td>
+ </tr>
+ <tr>
<td>tutorial on logging categories management</td>
<td></td>
</tr>
1.3 +1 -3 avalon-sandbox/merlin/merlin-platform/xdocs/starting/tutorial/dependencies.xml
Index: dependencies.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/tutorial/dependencies.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- dependencies.xml 18 Jun 2003 11:19:28 -0000 1.2
+++ dependencies.xml 21 Jun 2003 17:10:02 -0000 1.3
@@ -77,9 +77,7 @@
<info>
<name>hello</name>
<version>1.0.0</version>
- <attributes>
- <attribute key="urn:avalon:lifestyle" value="singleton"/>
- </attributes>
+ <lifestyle>singleton</lifestyle>
</info>
<dependencies>
<dependency key="random" type="tutorial.RandomGenerator:1.0.0"/>
1.3 +1 -3 avalon-sandbox/merlin/merlin-platform/xdocs/tools/ant.xml
Index: ant.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/tools/ant.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ant.xml 16 Jun 2003 09:39:05 -0000 1.2
+++ ant.xml 21 Jun 2003 17:10:02 -0000 1.3
@@ -136,9 +136,7 @@
<info>
<name>secondary-component</name>
<version>2.4.0</version>
- <attributes>
- <attribute name="urn:avalon:lifestyle" value="singleton"/>
- </attributes>
+ <lifestyle>singleton</lifestyle>
</info>
<loggers>
<logger name="system"/>
1.2 +2 -4 avalon-sandbox/merlin/merlin-platform/xdocs/tools/tags/lifestyle.xml
Index: lifestyle.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/tools/tags/lifestyle.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- lifestyle.xml 10 Jun 2003 02:14:38 -0000 1.1
+++ lifestyle.xml 21 Jun 2003 17:10:02 -0000 1.2
@@ -37,9 +37,7 @@
<info>
<version>1.0.0</version>
<name>sample</name>
- <attributes>
- <attribute name="urn:avalon:lifestyle" value="transient"/>
- </attributes>
+ <lifestyle>transient</lifestyle>
</info>
</type>
]]></source>
1.8 +33 -7 avalon-sandbox/merlin/meta/src/java/org/apache/avalon/meta/info/builder/XMLTypeCreator.java
Index: XMLTypeCreator.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta/src/java/org/apache/avalon/meta/info/builder/XMLTypeCreator.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLTypeCreator.java 20 Jun 2003 19:02:18 -0000 1.7
+++ XMLTypeCreator.java 21 Jun 2003 17:10:02 -0000 1.8
@@ -397,21 +397,47 @@
* object from specified configuraiton data and classname.
*
* @param classname The classname of Component (used to create descriptor)
- * @param component the Component Configuration
+ * @param info the component info configuration fragment
* @return the created InfoDescriptor
* @throws ConfigurationException if an error occurs
*/
public InfoDescriptor buildInfoDescriptor(
- final String classname, final Configuration component )
+ final String classname, final Configuration info )
throws ConfigurationException
{
final String name =
- component.getChild( "name" ).getValue( null );
+ info.getChild( "name" ).getValue( null );
final Version version =
- buildVersion( component.getChild( "version" ).getValue( "1.0" ) );
+ buildVersion( info.getChild( "version" ).getValue( "1.0" ) );
final Properties attributes =
- buildAttributes( component.getChild( "attributes" ) );
- return new InfoDescriptor( name, classname, version, attributes );
+ buildAttributes( info.getChild( "attributes" ) );
+ final String lifestyle =
+ buildLifestyle( info, attributes );
+ return new InfoDescriptor( name, classname, version, lifestyle, attributes );
+ }
+
+ /**
+ * Handle the resolution of the component lifestyle. Normally this is
+ * resolved by retrieving the <lifestyle> element value, however, for
+ * backward compatability - if the lifecycle element is not present, we will
+ * attempt to resolve the lifestyle using the attribute value relative to the
+ * key urn:avalon:lifestyle.
+ *
+ * @param info the info configuration fragment
+ * @param attributes the component attributes
+ * @return the lifestyle policy value
+ */
+ private String buildLifestyle( Configuration info, Properties attributes )
+ {
+ String lifestyle = info.getChild( "lifestyle" ).getValue( null );
+ if( lifestyle != null )
+ {
+ return lifestyle;
+ }
+ else
+ {
+ return attributes.getProperty( "urn:avalon:lifestyle" );
+ }
}
/**
1.3 +4 -2 avalon-sandbox/merlin/meta/src/java/org/apache/avalon/meta/info/builder/package.html
Index: package.html
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta/src/java/org/apache/avalon/meta/info/builder/package.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- package.html 2 Apr 2003 15:58:38 -0000 1.2
+++ package.html 21 Jun 2003 17:10:02 -0000 1.3
@@ -33,13 +33,15 @@
<version></strong><font color="darkred">1.2.1</font></version>
+ <lifestyle></strong><font color="darkred">singleton</font></lifestyle>
+
<font color="gray"><i><!-- the set of attribibutes associated with the type
(attribute names and values are examples only) --></i></font>
<attributes>
- <attribute key="<font color="darkred">urn:avalon:display-name-i18n</font>" value="<font color="darkred">display-name</font>"/>
- <attribute key="<font color="darkred">urn:avalon:lifestyle</font>" value="<font color="darkred">THREAD_SAFE</font>"/>
+ <attribute key="<font color="darkred">color</font>" value="<font color="darkred">blue</font>"/>
+ <attribute key="<font color="darkred">speed</font>" value="<font color="darkred">fast</font>"/>
</attributes>
1.2 +2 -1 avalon-sandbox/merlin/meta-spi/src/java/org/apache/avalon/meta/type.dtd
Index: type.dtd
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-spi/src/java/org/apache/avalon/meta/type.dtd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- type.dtd 13 Mar 2003 01:06:11 -0000 1.1
+++ type.dtd 21 Jun 2003 17:10:02 -0000 1.2
@@ -44,9 +44,10 @@
version the version of the component in (in the format #.#.#, #.# or # where
# is a integer
-->
-<!ELEMENT info (name?,version,attributes?)>
+<!ELEMENT info (name?,version,lifestyle?,attributes?)>
<!ELEMENT name (#PCDATA) >
<!ELEMENT version (#PCDATA) >
+ <!ELEMENT lifestyle (#PCDATA) >
<!--
1.4 +53 -4 avalon-sandbox/merlin/meta-spi/src/java/org/apache/avalon/meta/info/InfoDescriptor.java
Index: InfoDescriptor.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-spi/src/java/org/apache/avalon/meta/info/InfoDescriptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- InfoDescriptor.java 16 Apr 2003 14:15:00 -0000 1.3
+++ InfoDescriptor.java 21 Jun 2003 17:10:02 -0000 1.4
@@ -76,6 +76,14 @@
*/
public final class InfoDescriptor extends Descriptor
{
+ public static final String TRANSIENT = "transient";
+
+ public static final String SINGLETON = "singleton";
+
+ public static final String THREAD = "thread";
+
+ public static final String POOLED = "pooled";
+
/**
* The short name of the Component Type. Useful for displaying
* human readable strings describing the type in
@@ -94,8 +102,14 @@
private final Version m_version;
/**
+ * The component lifestyle.
+ */
+ private final String m_lifestyle;
+
+ /**
* Creation of a new component descriptor using a supplied name, key, version
* and attribute set.
+ *
* @param name the component name
* @param classname the implemetation classname
* @param version the implementation version
@@ -105,7 +119,7 @@
public InfoDescriptor( final String classname )
throws IllegalArgumentException
{
- this( null, classname, null, null );
+ this( null, classname, null, null, null );
}
/**
@@ -121,6 +135,7 @@
public InfoDescriptor( final String name,
final String classname,
final Version version,
+ final String lifestyle,
final Properties attributes )
throws IllegalArgumentException
{
@@ -131,6 +146,19 @@
throw new IllegalArgumentException( "classname: " + classname );
}
+ m_classname = classname;
+ m_version = version;
+
+ if( lifestyle == null )
+ {
+ m_lifestyle = TRANSIENT;
+ }
+ else
+ {
+ validateLifestyle( lifestyle );
+ m_lifestyle = lifestyle;
+ }
+
if( name != null )
{
m_name = name;
@@ -139,8 +167,19 @@
{
m_name = getClassName( classname );
}
- m_classname = classname;
- m_version = version;
+ }
+
+ private void validateLifestyle( String lifestyle ) throws IllegalArgumentException
+ {
+ if( lifestyle.equals( TRANSIENT )
+ || lifestyle.equals( SINGLETON )
+ || lifestyle.equals( THREAD )
+ || lifestyle.equals( POOLED ) )
+ {
+ return;
+ }
+ final String error = "Lifestyle policy not recognized: " + lifestyle;
+ throw new IllegalArgumentException( error );
}
private String getClassName( String classname )
@@ -184,6 +223,16 @@
public Version getVersion()
{
return m_version;
+ }
+
+ /**
+ * Return the component lifestyle.
+ *
+ * @return the lifestyle
+ */
+ public String getLifestyle()
+ {
+ return m_lifestyle;
}
/**
1.4 +2 -6 avalon-sandbox/merlin/meta-tools/src/java/org/apache/avalon/meta/info/builder/DefaultTypeBuilder.java
Index: DefaultTypeBuilder.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-tools/src/java/org/apache/avalon/meta/info/builder/DefaultTypeBuilder.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DefaultTypeBuilder.java 16 Apr 2003 14:19:42 -0000 1.3
+++ DefaultTypeBuilder.java 21 Jun 2003 17:10:02 -0000 1.4
@@ -120,10 +120,6 @@
Version version = new VersionTag( javaClass ).getVersion();
final String type = javaClass.getFullyQualifiedName();
Properties properties = new AttributeTag( javaClass ).getProperties();
- if( lifestyle != null )
- {
- properties.setProperty( LIFESTYLE_URN, lifestyle );
- }
- return new InfoDescriptor( name, type, version, properties );
+ return new InfoDescriptor( name, type, version, lifestyle, properties );
}
}
1.6 +6 -2 avalon-sandbox/merlin/meta-tools/src/java/org/apache/avalon/meta/info/builder/XMLTypeWriter.java
Index: XMLTypeWriter.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-tools/src/java/org/apache/avalon/meta/info/builder/XMLTypeWriter.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XMLTypeWriter.java 4 Jun 2003 02:02:54 -0000 1.5
+++ XMLTypeWriter.java 21 Jun 2003 17:10:02 -0000 1.6
@@ -113,7 +113,7 @@
private void writeHeader( final Writer writer )
throws IOException
{
- writer.write( "<?xml version=\"1.0\" ?>" );
+ writer.write( "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" );
}
/**
@@ -153,6 +153,10 @@
writer.write( "\n <version>");
writer.write( info.getVersion().toString() );
writer.write( "</version>");
+
+ writer.write( "\n <lifestyle>");
+ writer.write( info.getLifestyle() );
+ writer.write( "</lifestyle>" );
if( 0 == info.getAttributeNames().length )
{
1.7 +2 -2 avalon-sandbox/merlin/meta-tools/src/java/org/apache/avalon/meta/tools/ant/MetaTask.java
Index: MetaTask.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-tools/src/java/org/apache/avalon/meta/tools/ant/MetaTask.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MetaTask.java 16 Jun 2003 14:15:53 -0000 1.6
+++ MetaTask.java 21 Jun 2003 17:10:02 -0000 1.7
@@ -129,7 +129,7 @@
* will be generated only when the source file is
* newer than the destination file.
*/
- private boolean m_force = false;
+ private boolean m_force = true;
/**
* Set the desitation directory to generate output files to.
1.3 +1 -1 avalon-sandbox/merlin/meta-tools/src/test/org/apache/avalon/meta/MetaTestCase.java
Index: MetaTestCase.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-tools/src/test/org/apache/avalon/meta/MetaTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MetaTestCase.java 16 Apr 2003 14:21:14 -0000 1.2
+++ MetaTestCase.java 21 Jun 2003 17:10:03 -0000 1.3
@@ -202,7 +202,7 @@
assertTrue( "version", type.getInfo().getVersion().toString().equals( "1.3.0" ) );
assertTrue( "name", type.getInfo().getName().equals( "primary-component" ) );
assertTrue(
- "lifestyle", type.getInfo().getAttribute("urn:avalon:lifestyle").equals( "singleton" ) );
+ "lifestyle", type.getInfo().getLifestyle().equals( "singleton" ) );
ContextDescriptor context = m_primary.getContext();
EntryDescriptor entry = context.getEntry( "home" );
1.3 +3 -1 avalon-sandbox/merlin/meta-tools/xdocs/tags.xml
Index: tags.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/meta-tools/xdocs/tags.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- tags.xml 2 Apr 2003 15:58:39 -0000 1.2
+++ tags.xml 21 Jun 2003 17:10:03 -0000 1.3
@@ -103,7 +103,9 @@
<source><![CDATA[
<type>
<info>
+ <name>primary-component<name>
<version>1.3.0<version>
+ <lifestyle>singleton<lifestyle>
</info>
</type>
]]></source>
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org