Paul Grenyer wrote:
Hi Tom
Thanks for this.
Note that you should use ivy:publish rather than ivy:install to publish your
own artifacts to your own repository. Unlike ivy:install, it doesn't rely on
a source repository, and doesn't install the dependencies into the target
repository, only the actually published module.
I just had a play with ivy:publish and it seems a lot less straight
forward than using ivy:install. Making the physical disk look like
this source repository is far easier. Maybe I'm missing something?
From ivy:publish:
"This task is meant to publish the current module descriptor together
with its declared publication artifacts to a repository."
From ivy:install:
"Installs a module and all its dependencies in a resolver. The module to
install should be available in a resolver, and will be installed in
another resolver which should support publish."
So, generally, you use ivy:install to, say, build an enterprise repo of
3rd party modules from public repos (such as ibiblio). But you use
ivy:publish as part of a build process to publish your own modules.
ivy:publish does things like resolving dynamic revisions into concrete
ones, adding <includes> sections, limiting the set of published
configurations, etc., whereas ivy:install is just for copying from repo
to repo as-is.
Which action are you trying to perform?
For ivy:publish, the artifactspattern and srcivypattern attributes let
you specify where ivy should look for the artifacts and ivy file. But
for your purpose, you may find ivy:install easier, if only because
you've mostly got it working already.
Tom