geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Possible problems with maven-style configIds WAS: Warning of change in configId format
Date Wed, 23 Nov 2005 19:58:46 GMT

>> I think using the maven repo path for the configId is problematic.   
>> The layout of the repository will change over time, and is actually  
>> completely repository dependent.  We have already seen a change  
>> between maven 1 and maven 2.  I would prefer that the ID follow the  
>> maven single line notation for an artifact.
>> groupId:artifactId:version:type[:classifier]
>> In this case, we don't need a classifier and we can always assume  
>> type is "car", so we will end up with something like:
>> org.apache.geronimo:j2ee-server:1.0
>> which I think is a lot cleaner then the m1 and m2 paths, as doesn't  
>> repeat information:
>> org.apache.geronimo./cars/
>> org/apache/geronimo/geronimo-j2ee-server/1.0/geronimo-j2ee-server 
>> Does that seem reasonable?
> I like that a lot.  I have been wondering how to extract the pieces of  
> the repo path back out of the configId.

I've investigated this a little bit and think it might be  too big a  
lurch in a new direction for 1.0.  Here are a few of the things that  
would have to change or appear to be problems:

1. constructing the configId from groupId + artifactId + version +  
type.  This is pretty easy.
2. finding stuff in a repo and/or config store from the configId.  This  
is fairly easy
3. Constructing the ObjectNames that include the configId in  
J2EEApplication and/or J2EEModule.  This requires quoting the configId  
which is a big pain and is apt to cause  difficulties everywhere.
4. We have been using URI for the configIds internally.  I think if we  
use this new format this should change.  The : character appears to  
have a specific meaning in URIs and it is decidedly different from what  
we are meaning by it.  We could perhaps introduce a scheme and write
configid:groupId:artifactId:version:type.  I could not tell from a bit  
of research on URIs whether this is consistent with their intended  
semantics.  Does it make sense to have URIs of this form?  Should we  
just change our configId type to something else?

At this point I think we need more discussion before we proceed along  
this route.  I have some of it implemented.... please speak up.

david jencks

View raw message