Le 30 juin 09 à 22:06, Eric Wasylishen a écrit :

>>> Does this set of classes look more sensible to move to a "Utilities"
>>> (or maybe "Convenience") subproject?:
>>>
>>> ETCArray
>>> ETGetOptionsDictionary - function for processing command line args
>>> ETTranscript - transcript for Smalltalk
>>> NSFileManager+NameForTempFile
>>> NSFileManager+TempFile
>>> NSIndexPath+Etoile
>>> NSIndexSet+Etoile
>>> NSInvocation+Etoile - convenience factory method for NSInvocation
>>> NSString+Etoile - some convenience methods for NSString
>>> NSURL+Etoile - some convenience methods for NSURL
>>
>> Yes (except ETTranscript may be). It's fine for me. Feel free to
>> rearrange it like that if David agrees (he is the other
>> EtoileFoundation maintainer).
>
> I tried to do this, but the makefile changes were more of a pain than
> I expected. I got it to work by putting the "Convenience" files in a
> separate framework - would that be bad? It would require changing a
> lot of code, I guess.

We should only introduce a framework when it's really needed,  
otherwise it just adds complexity (interface versioning, linking etc.).

> I tried to keep them in the same framework but put the source and
> header files in Headers/Convenience and Source/Convenience, but that
> didn't work (and is also a bit ugly).


That's possible, but you need some special tweaks as LuceneKit does  
iirc.
However we shouldn't do that imo, the extra level of nesting is too  
costly in term of navigation ease.
What could be done is to:
- introduce EtoileFoundation/Convenience where the source files are put
- rename Source to Main (or something similar) since EtoileFoundation  
would now be split accross multiple directories
- put the Convenience related headers in EtoileFoundation/Headers with  
the Main headers

Another option is to let things as is for now, since the number of  
files is pretty low. Everything fits on a web page when you navigate  
the repository with GNA viewcvs.

In the long run, as we discussed it at the hackhathon, it might be  
better to move away from the current organization, and put headers and  
source files together in module subdirectories or right in the module  
directory when the number of files is really low. I think etoile.make  
doesn't support this kind of organization by combined header/source  
subdirectory at this time. Reworking it is also not very high on my  
todo list presently.

If you decide to move Convenience related source files to a new  
subdirectory, we could later eliminate Headers and split its content  
between 'Main' and 'Convenience'.

Cheers,
Quentin.



_______________________________________________
Etoile-dev mailing list
Etoile-dev@gna.org
https://mail.gna.org/listinfo/etoile-dev

Reply via email to