Xavier Hanin wrote:
If you only have a jar the easiest is to do a mere file copy instead of
using Ivy publish. If you have an ivy file, use publish, for the deliver
first problem you should use the update = true in the publish options. If
you don't see the method with PublishOptions, maybe it's because you don't
use Ivy 2; I suggest using the trunk, it will soon be released as a beta and
is pretty stable.

I am using ivy 1.4. Are you saying that i can just copy the jar into the repository and things will work? Aren't there any config files that need creating or something?



Xavier

On Nov 27, 2007 5:32 PM, teknokrat <[EMAIL PROTECTED]> wrote:

teknokrat wrote:
Xavier Hanin wrote:
The deliver task does not publish, it only updates the ivy file for
delivery, replacing some metadata information. To publish I suggest
having a
look at the publish task code, which does something like this:
ivy.publish(mrid, artifactspattern, publishResolverName,
  new PublishOptions()
      .setPubrevision(getPubrevision())
      .setCache(CacheManager.getInstance(settings, cache))
      .setSrcIvyPattern(publishivy ? srcivypattern : null)
      .setStatus(getStatus())
      .setPubdate(pubdate)
      .setExtraArtifacts((Artifact[]) artifacts.toArray(new Artifact[
artifacts.size()]))
      .setValidate(doValidate(settings))
      .setOverwrite(overwrite)
      .setUpdate(update)
      .setConfs(splitConfs(conf)));

This should give you a pretty good idea of the options you have to call
publish yourself.

The only Ivy.publish method i found was

publish(ModuleRevisionId, String, File, String, String, String, boolean)

But I have no idea what the parameters should be.

Ok, now I get some errors telling me I need to deliver the file first.
Here is my situation, I have uploaded the jar file via a servlet to
c:\temp on the repository machine. What is the simplest way for me to
tell ivy to add this to the local repository? The only parameters I am
using are the organisation, module and revision.




Xavier

On Nov 26, 2007 2:19 PM, teknokrat
<[EMAIL PROTECTED]> wrote:

I am writing some code to publish jars using a filesystem resolver for
a
plugin. So far I have tried

String path = IvyPatternHelper.substitute("", organisation, module,
revision, "ivy", "ivy", "xml");
File ivyFile = new File(path);
if (!ivyFile.exists()) {
                IvyDeliver deliver = new IvyDeliver();
                deliver.setModule(module);
                deliver.setOrganisation(organisation);
                deliver.setRevision(revision);
                deliver.execute();
            }

This throws NPEs. How can I use the Ivy API to publish a jar file from
a
java program? What fields are mandatory and how do i add the
configuration details? There does not appear to be any javadoc link on
the main site.

cheers








Reply via email to