ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From teknokrat <teknok...@yahoo.com>
Subject Re: How to publish file?
Date Wed, 28 Nov 2007 12:24:54 GMT
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 <teknokrat@yahoo.com> 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
>>>> <teknokrat@yahoo.com> 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
>>>>>
>>>>>
>>>>
>>>
>>
> 
> 


Mime
View raw message