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