| 
     
      
      
      From: Andreas L. <no...@sb...> - 2001-06-07 15:31:34
      
     
   | 
On 07 Jun 2001 10:20:46 +0200, Eric Bezault wrote:
> Eric Bezault wrote:
> > 
> >   mount foo
> >      exclude
> >         impl/unix
> 
> Even better:
> 
>   mount foo exclude impl
>   mount foo/impl/${PLATFORM}
Ok, you convinced me. This is my current XACE file for the xace-tool. 
--
<?xml version="1.0"?>
<system name="xace">
	<root class="XACE" creation="make" />
	<cluster>
		<options classes="default" >
			<require enable="False" />
			<ensure enable="False" />
			<invariant enable="False" />
			<loop enable="False" />
			<optimize enable="True" />
		</options>
		<cluster name="xace" location="${EXML}/src/xace/" />
		<mount location="${EXML}/library/exml.xace" >
			<exclude cluster="exml.impl.no_eiffel" />
			<exclude cluster="exml.impl.no_tree_on_event" />
			<exclude cluster="exml.impl.expat" />
		</mount>
		<mount location="${EXML}/library/gobo.xace" />
		<mount location="${EXML}/library/ucstring.xace" />
		<mount location="${EXML}/library/kernel.xace" />
	</cluster>
</system>
--
Which means that the Eiffel and Tree on Event implementations are
included and Expat is left out. Note: Due to the factory pattern in eXML
I have to include a "no_...." cluster for each implementation left out. 
The eXML mount could be rewritten like this also:
--
		<mount location="${EXML}/library/exml.xace" >
			<exclude cluster="exml.impl" />
		</mount>
<mount location="${EXML}/library/exml.xace" 
      cluster="exml.impl.interface" />
<mount location="${EXML}/library/exml.xace" 
      cluster="exml.impl.eiffel" />
<mount location="${EXML}/library/exml.xace" 
      cluster="exml.impl.tree_on_event" />
<mount location="${EXML}/library/exml.xace" 
      cluster="exml.impl.no_expat" />
/>
--
This is modelled after your second sugesstion, but I like the first one
better. Making "exlcude" an attribute is not such a good idea IMO,
because it prehibits multiple excludes.
Andreas 
 |