Apache IVY - Repository locale
Un repository locale è un repository privato di un utente. È molto utile nel caso in cui un utente stia utilizzando una libreria la cui versione è stata modificata in altri luoghi e presenta modifiche sostanziali. In caso di repository locale, ivy utilizzerà la libreria presente nel locale se trovata e non esaminerà repository pubblici o condivisi.
Posizione predefinita
Per impostazione predefinita, il repository locale è presente nella cartella $ {ivy.default.ivy.user.dir} / local. Se vuoi cambiarlo, usa la variabile ivy.local.default.root nel file ant.
build.xml
<target name="resolve">
<property name="ivy.local.default.root" value="/opt/ivy/repository/local"/>
<ivy:resolve />
</target>
Altre proprietà come il modello di edera e il modello di artefatto possono anche essere personalizzate come segue:
build.xml
<target name="resolve">
<property name="ivy.local.default.root" value="/opt/ivy/repository/local"/>
<property name="ivy.local.default.ivy.pattern" value="[module]/[revision]/ivy.xml"/>
<property name="ivy.local.default.artifact.pattern" value="[module]/[revision]/[artifact].[ext]"/>
<ivy:resolve />
</target>
Ignorare i valori predefiniti di ivysettings
Per impostazione predefinita, ivy ha le sue configurazioni in ivysettings.xml presente in ivy.jar.
ivysettings.xml
<ivysettings>
<settings defaultResolver="default"/>
<include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>
Per sovrascrivere l'impostazione del repository locale, aggiornare il contenuto di ivysettings-local.xml.
ivysettings-local.xml
<ivysettings>
<property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local" override="false"/>
<property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<resolvers>
<filesystem name="local">
<ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
<artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
</filesystem>
</resolvers>
</ivysettings>