On 5/9/06, Richard van der Hoff <[EMAIL PROTECTED]> wrote:
...
This brings me to my next thought, which is that the maven "artifact"
probably ought to be a zip file (or similar) containing the
correctly-named library. This is good because it means my artifacts have
the same extension no matter what platform they were built for; I can
distinguish between platforms using the classifier; and I can be sure
that the name of the library itself is just right for the given platform.
On the other hand, it means I now need to set up my assembly such that
the zip files are unpacked. Ideally, I'd like for all such artifacts to
be unpacked automatically, but there doesn't seem to be any way of doing
so without configuring it in each assembly.xml. It's a property of the
artifact, rather than the assembly, so it would be nice to somehow
derive this from an ArtifactHandler rather than in the assembly
descriptor. I can probably fudge this with a shared assembly descriptor,
however.
...
I think your on the right path here. Having the native artifacts in
zip would very handy. But how about instead of the artifact being a
zip, it's a directory? If maven could deploy and retrieve a whole
directory as an artifact, it should make things easier for your use
case correct?
The reason I'm think this way, is that in the native world, if you
want to distribute a native .dll (shared library), the library is more
than just the dll, you also have to distribute the .h files the define
the interfaces into that binary shared library. And if there were
being pushed up into a maven repo, then when it was downloaded, the
c++ compiler would need to add to the include path the directory where
those .h files are at. So those .h files need to be in a directory,
not in a .zip file.
And note, if an artifact is a directory, I don't care is maven zip /
tars that directory when it puts it on the remote repo, a long as when
it puts it on the local repo it back to it's original directory form.
--
Regards,
Hiram
Blog: http://hiramchirino.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]