According to this page, I need to declare an <ivy:settings>
task inside my Ant build that helps Ant locate where the ivysettings.xml
file is located. This setting file is where the definitions for all of my repositories can be found, as well as additional info.
What's confusing me is this: according to that page (link provided above), the following attributes are possible for the <ivy:settings>
task:
id
file
url
host
realm
username
passwd
The description for url
is:
url of the settings file to use
Implying that the ivysettings.xml
file can actually be stored on a different machine, perhaps even inside the repository itself?!?.
But then the descriptions for the last for attributes (host
, realm
, username
, passwd
) are all of the variety:
http authentication (host|realm|username|passwd)
To me, these descriptions, combined with the one for url
, indicate that the host
, realm
, username
and passwd
attributes are connection credentials for locating and retreiving the ivysettings.xml
file; and that they are not connection credentials for connecting to a remote repository.
This is further evidenced by the fact that Ivy allows you to define multiple repositories inside ivysettings.xml
, including multiple url-resolvers
, which could be different repositories located on different servers with different access credentials. Seeing that the <ivy:settings>
task only allows you to specify one set of credentials with these attributes, again it seems to imply that these attributes are merely for finding and pulling down the ivysettings.xml
file, and not for communicating with 1+ repos.
So, I ask:
- Are these 4 attributes for connecting to a
url
whereivysettings.xml
lives, or are they for connecting to a remote repository that is defined insideivysettings.xml
? - If the answer to the question above is that they are credentials for locating
ivysettings.xml
at a remoteurl
, then where do I place the credentials for communicating with the web server where my actual repo lives (as the server whereivysettings.xml
lives and the server where my repo lives may be two different machines)? - Is my suspicion that you can store
ivysettings.xml
at a remoteurl
(remote server) correct? If so, how do I tell Ivy to look atServer A
withLoging Credentials A
to find myivysettings.xml
file, but to find my repository atServer B
withLogin Credentials B
?
Please note, some of you may also find this question and think that my question here is a duplicate of it. I argue that the referenced question above is simply the question "where do I put the ivysettings.xml
file?" My question is kind of similar, however, at its core, its really about understanding the intention of the <ivy:settings>
attributes, and what they're trying to find: the settings file, or the repo(s) defined inside the settings file. Thanks in advance.