Apache IVY - Kho lưu trữ được chia sẻ
Một kho lưu trữ được chia sẻ là một kho lưu trữ được chia sẻ ở cấp độ nhóm của một nhóm. Nó là rất phổ biến để được ghi đè trong các tổ chức.
Vị trí mặc định
Theo mặc định, kho lưu trữ được chia sẻ có trong thư mục $ {ivy.default.ivy.user.dir} / shared. Nếu bạn muốn thay đổi nó, hãy sử dụng biến ivy.shared.default.root trong tệp ant.
build.xml
<target name="resolve">
<property name="ivy.shared.default.root" value="/opt/ivy/repository/shared"/>
<ivy:resolve />
</target>
Các thuộc tính khác như mẫu thường xuân và mẫu tạo tác cũng có thể được tùy chỉnh như sau:
build.xml
<target name="resolve">
<property name="ivy.shared.default.root" value="/opt/ivy/repository/shared"/>
<property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/ivy.xml"/>
<property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[artifact].[ext]"/>
<ivy:resolve />
</target>
Ghi đè mặc định ivysettings
Theo mặc định, ivy có cấu hình trong ivysettings.xml có trong 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>
Để ghi đè cài đặt kho lưu trữ được chia sẻ, hãy cập nhật nội dung của ivysettings-shared.xml.
ivysettings-shared.xml
<ivysettings>
<property name="ivy.shared.default.root" value="${ivy.default.ivy.user.dir}/shared" override="false"/>
<property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<resolvers>
<filesystem name="shared">
<ivy pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}" />
<artifact pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.pattern}" />
</filesystem>
</resolvers>
</ivysettings>