Thank you Rogers for taking the time to reply. I understand the
resolver and to configure it to use maven. I do publish to local maven
repo, but what I was curious about, is't possible to encapsulate some
of the default configuration in an antlib, this when users type

<install-to-maven />

We know it's going into local maven repo. For example, to avoid
getting the developer to type this all the time or having a file
containing this part, that doesn't change a lot.

  <filesystem name="maven2-local" m2compatible="true">
            <artifact

pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact](-[classifier]).[ext]"/>
        </filesystem>

I feel it's easier just to wrap these default configurations in an ant task.

Thank you.



On Sun, Jan 22, 2012 at 8:34 PM, Roger <roger.parkinso...@gmail.com> wrote:
> A key difference between maven and ivy is that ivy is normally used with
> ant, so you should expect to use ivy:settings from ant. Often I use
> different settings files in different situations so I would not want ivy to
> find just one settings file and use that all the time.
>
> The ivy.xml file does not go int the jar file, it goes into the repository
> as a separate file. The repository contains jar file(s), possibly other
> artifacts and the ivy.xml file. The publish command pushes all the artifacts
> and the ivy.xml file into the repository.
>
>
> "we need to always to publish to a specific resolver with specific pattern
> (maven2). Can we encapsulate this configuration in an ant task to used for
> all the modules?"
>
> If you define the resolver in the ivy settings file correctly you should be
> able to use the publish command to sent it
> to the repository. I'm not certain about doing this to a maven repo, but
> there are a lot of options in the settings. To handle the pom file
> you ought to use the makepom command
> (http://ant.apache.org/ivy/history/2.0.0/use/makepom.html)
>
> Although I said you have to use ant for all this there are other options
> depending on your IDE. Eclipse has a plugin that allows you to specify the
> ivysettings file per-workspace and all projects in that workspace will
> resolve using that. I've not used that approach to publish though, I prefer
> to build with ant and publish is part of my build.
>
>
> On 23/01/12 11:19, Mansour Al Akeel wrote:
>>
>> I do have few questions about ivy.
>>
>> In maven there's ".m2/settings.xml" that will always be read by maven
>> when invoked. Ivy does not have this user wide config, and a file has
>> to be always specified using:
>> <ivy:settings file="path/to/ivysettings.xml" />
>>
>> In other words having ~/.ivy2/ivysettings.xml will never be read every
>> time without using<ivy:settings />  task
>>
>> Please correct me if I am wrong.
>>
>> The second question is about publishing and generating the artifact.
>> The packaging has to be done manually using ant, then the ivy.xml resolved
>> file
>> and pom file has to be added before the jar is created. Then it can be
>> published to a local repo. Is that right or there's a shorter way that
>> I missed ? If so, where should the resolved ivy.xml file be located in
>> the jar file ?
>>
>> I am wondering if there is a way to encapsulate some ivy settings in
>> an ant task that will be used as antlib ?
>> For example, we need to always to publish to a specific resolver with
>> specific pattern (maven2). Can we encapsulate this configuration in an
>> ant task to used for all the modules ? For example, I want a custom
>> task,<mynamespace:install-to-maven />  that will
>> automatically install to maven repo without additional config in
>> ivysettings.xml. Is this possible ?
>>
>

Reply via email to