You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Stephen McConnell <mc...@apache.org> on 2004/07/12 14:25:46 UTC

[RUNTIME-41] repository cli solution?

Looks like we have a problem with Cygwin again.  I updated all of the 
scripts to use -classpath instead of -jar.  This was done in order to 
move away from composite jar files (such as merlin cli and repository 
main) which themselves were creating a potential source or error if not 
built correctly.

However, the resulting classpath is too long when expanded in Cygwin. 
Prior to expansion the classpath is generated by magic as :

MERLIN_CLASSPATH=
$MERLIN_HOME/system/avalon/repository/jars/avalon-repository-main-SNAPSHOT.jar:
$MERLIN_HOME/system/avalon/repository/jars/avalon-repository-spi-2.0.0.jar:
$MERLIN_HOME/system/avalon/repository/jars/avalon-repository-api-SNAPSHOT.jar:
$MERLIN_HOME/system/avalon/repository/jars/avalon-repository-util-2.0.0.jar:
$MERLIN_HOME/system/avalon/util/jars/avalon-util-exception-1.0.0.jar:
$MERLIN_HOME/system/avalon/util/jars/avalon-util-env-1.1.1.jar:
$MERLIN_HOME/system/avalon/util/jars/avalon-util-i18n-1.0.0.jar:
$MERLIN_HOME/system/avalon/util/jars/avalon-util-criteria-1.1.0.jar:
$MERLIN_HOME/system/avalon/util/jars/avalon-util-defaults-SNAPSHOT.jar:
$MERLIN_HOME/system/commons-cli/jars/commons-cli-1.0.jar:
$MERLIN_HOME/system/avalon/merlin/jars/avalon-merlin-cli-SNAPSHOT.jar

I'm thinking that now may be the moment to update the repository package 
to add support for the transfer of a command line String[] to the 
repository InitialContext - and from this push cli handling (and class 
dependency) into the loaded factory.

This would eliminate the merlin-cli package which in turn would 
eliminate the necessity to re-install merlin.  Instead the 
re-installation is as minimum, the setting of a single property - the 
merlin implementation artifact uri.

Any thoughts on this before I start dabbling?

Stephen.

-- 

|---------------------------------------|
| Magic by Merlin                       |
| Production by Avalon                  |
|                                       |
| http://avalon.apache.org              |
|---------------------------------------|


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [RUNTIME-41] repository cli solution?

Posted by Stephen McConnell <mc...@apache.org>.
Stephen McConnell wrote:

> 
> Looks like we have a problem with Cygwin again.  I updated all of the 
> scripts to use -classpath instead of -jar.  This was done in order to 
> move away from composite jar files (such as merlin cli and repository 
> main) which themselves were creating a potential source or error if not 
> built correctly.
> 
> However, the resulting classpath is too long when expanded in Cygwin. 
> Prior to expansion the classpath is generated by magic as :
> 
> MERLIN_CLASSPATH=
> $MERLIN_HOME/system/avalon/repository/jars/avalon-repository-main-SNAPSHOT.jar: 
> 
> $MERLIN_HOME/system/avalon/repository/jars/avalon-repository-spi-2.0.0.jar:
> $MERLIN_HOME/system/avalon/repository/jars/avalon-repository-api-SNAPSHOT.jar: 
> 
> $MERLIN_HOME/system/avalon/repository/jars/avalon-repository-util-2.0.0.jar: 
> 
> $MERLIN_HOME/system/avalon/util/jars/avalon-util-exception-1.0.0.jar:
> $MERLIN_HOME/system/avalon/util/jars/avalon-util-env-1.1.1.jar:
> $MERLIN_HOME/system/avalon/util/jars/avalon-util-i18n-1.0.0.jar:
> $MERLIN_HOME/system/avalon/util/jars/avalon-util-criteria-1.1.0.jar:
> $MERLIN_HOME/system/avalon/util/jars/avalon-util-defaults-SNAPSHOT.jar:
> $MERLIN_HOME/system/commons-cli/jars/commons-cli-1.0.jar:
> $MERLIN_HOME/system/avalon/merlin/jars/avalon-merlin-cli-SNAPSHOT.jar
> 
> I'm thinking that now may be the moment to update the repository package 
> to add support for the transfer of a command line String[] to the 
> repository InitialContext - and from this push cli handling (and class 
> dependency) into the loaded factory.
> 
> This would eliminate the merlin-cli package which in turn would 
> eliminate the necessity to re-install merlin.  Instead the 
> re-installation is as minimum, the setting of a single property - the 
> merlin implementation artifact uri.

Just for reference - the above idea reduces the dependency question down 
to the following set of artifacts:

   artifact:jar:avalon/repository/avalon-repository-spi#2.0.0
   artifact:jar:avalon/repository/avalon-repository-api#SNAPSHOT
   artifact:jar:avalon/repository/avalon-repository-util#2.0.0
   artifact:jar:avalon/util/avalon-util-exception#1.0.0
   artifact:jar:avalon/util/avalon-util-env#1.1.1
   artifact:jar:avalon/util/avalon-util-i18n#1.0.0
   artifact:jar:avalon/util/avalon-util-criteria#1.1.0
   artifact:jar:avalon/util/avalon-util-defaults#SNAPSHOT

The above could be expressed as a path in a property file and the 
repository cli package can be updated to create an initial classloader 
using the path - without reference to any other packages. Providing we 
put a lot of attention into repository-cli with the objective of making 
it sufficiently generic so we don't need to touch it for the foreseeable 
future - I think we would have a good bootstrap solution.

Steve.

> Any thoughts on this before I start dabbling?
> 
> Stephen.
> 


-- 

|---------------------------------------|
| Magic by Merlin                       |
| Production by Avalon                  |
|                                       |
| http://avalon.apache.org              |
|---------------------------------------|

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org