Tôi có một kịch bản xây dựng và là một phần của tập lệnh đó sao chép một tệp jar vào một thư mục, để dễ dàng gọi nó là bình utils. bình utils được xây dựng bởi một kịch bản xây dựng khác ngồi trong một thư mục khác. Những gì im đang cố gắng để có kịch bản xây dựng của tôi chạy kịch bản xây dựng utils để tôi có thể đảm bảo bình utils được cập nhật.Các kịch bản xây dựng Ant, antcall, phụ thuộc, v.v.
Vì vậy, tôi biết tôi cần nhập tệp xây dựng utils.
<import file="../utils/build/build.xml" />
Điều này không hoạt động vì nhiệm vụ nhập, không giống như hầu hết các kiến bò khác, không chạy từ basedir, nó chạy từ pwd. Vì vậy, để có được xung quanh mà tôi có Ditty nhỏ này, mà không nhập thành công việc xây dựng tập tin
<property name="baseDirUpOne" location=".." />
<import file="${baseDirUpOne}/utils/build/build.xml" />
Bây giờ ive rằng giải quyết vấn đề nhập của tôi, tôi cần phải gọi nhiệm vụ, rõ rằng nên dễ phải:
<antcall target="utils.package" />
lưu ý rằng ở trên, utils là tên dự án của ../utils/build/build.xml
vấn đề tôi bây giờ chạy vào đó là cuộc gọi kiến không thực hiện trong. ./utils/build vì vậy những gì tôi cần, và không thể tìm thấy, là một tài sản runat hoặc một cái gì đó tương tự, về cơ bản:
<antcall target="utils.package" runat="../utils/build" />
Lý do tôi cần điều này là trong utils tôi xây dựng tập các bước để chọn mã để sao chép vào jar được dựa trên đường dẫn tương đối để tránh hardcoding đường trong tập tin kiến của tôi. Bất kỳ ý tưởng?
Điều gì sẽ xảy ra nếu bạn cần điều chỉnh đường dẫn lớp trong mục tiêu của người dùng phụ? –