Tôi có một kịch bản kiến để quản lý quá trình xây dựng. Đối với WiX, tôi cần tạo ra một hướng dẫn mới khi chúng tôi tạo ra một phiên bản mới của trình cài đặt. Bất cứ ai có bất kỳ ý tưởng làm thế nào để làm điều này trong ANT? Bất kỳ câu trả lời nào sử dụng các tác vụ tích hợp sẽ thích hợp hơn. Nhưng nếu tôi phải thêm một tập tin khác, đó là tốt.Có cách nào để tạo ra một guid trong ANT?
Trả lời
Tôi muốn sử dụng một scriptdef
task để xác định nhiệm vụ javascript đơn giản mà kết thúc tốt đẹp các lớp Java UUID, một cái gì đó như thế này:
<scriptdef name="generateguid" language="javascript">
<attribute name="property" />
<![CDATA[
importClass(java.util.UUID);
project.setProperty(attributes.get("property"), UUID.randomUUID());
]]>
</scriptdef>
<generateguid property="guid1" />
<echo message="${guid1}" />
Kết quả:
[echo] 42dada5a-3c5d-4ace-9315-3df416b31084
Nếu bạn có một cách hợp lý up-to -date Ant cài đặt, điều này sẽ làm việc ra khỏi hộp.
Điều này hoàn toàn hoàn hảo. –
Bạn không biết mình có thể làm được điều này; điều đó thật tuyệt. Cảm ơn. – duma
Lưu ý rằng nếu bạn đang sử dụng kiến với Java 8 JDK, bạn có thể gặp vấn đề sau với câu lệnh importClass. Một công việc đơn giản xung quanh là bỏ qua nó và sử dụng tên đầy đủ của UUID trên dòng tiếp theo. http://stackoverflow.com/questions/22503100/java-8-javascript-engine-backwards-compatibility – Kyle
Nếu bạn đang sử dụng (hoặc muốn sử dụng) groovy, điều này sẽ hoạt động tốt.
<project default="main" basedir=".">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"
classpath="lib/groovy-all-2.1.5.jar" />
<target name="main">
<groovy>
//generate uuid and place it in ants properties map
def myguid1 = UUID.randomUUID()
properties['guid1'] = myguid1
println "uuid " + properties['guid1']
</groovy>
<!--use the uuid from ant -->
<echo message="uuid ${guid1}" />
</target>
</project>
Output
Buildfile: C:\dev\anttest\build.xml
main:
[groovy] uuid d9b4a35e-4a75-454c-9f15-16b4b83bc6d0
[echo] uuid d9b4a35e-4a75-454c-9f15-16b4b83bc6d0
BUILD SUCCESSFUL
Sử dụng 2.1.5 groovy và kiến 1.8
Nếu bạn sao chép groovy-all-x.x.x.jar vào thư mục lib lib, bạn có thể xóa đường dẫn lớp trên taskdef groovy. Thử nghiệm với groovy-all-2.4.6.jar và ant 1.9.4 –
- 1. làm thế nào để tạo ra GUID trong java EE
- 2. Làm thế nào tôi có thể tạo ra một guid trong MFC
- 3. GUID được tạo ra như thế nào trong SQL Server?
- 4. Làm cách nào để tạo Swf được tạo ra Ant của tôi càng nhỏ càng tốt?
- 5. Làm cách nào để tạo GUID cho chuỗi?
- 6. Có phương pháp nào để tạo ra một GUID 128 bit chuẩn (UUID) trên máy Mac không?
- 7. Làm cách nào để tạo một Guid từ mảng byte SHA-1?
- 8. Có cách nào để tạo mã ngắn độc đáo như GUID ngắn không?
- 9. Cách tạo GUID/UUID bằng SDK iPhone
- 10. Làm cách nào để đặt Ant để sao chép các tệp cụ thể vào đầu ra?
- 11. Cách tạo GUID mới trong Cài đặt Inno?
- 12. Có cách nào để tạo tệp ant local.properties mà không ghi đè build.xml không?
- 13. Phương pháp nào để tạo GUID là tốt nhất để đảm bảo GUID thực sự là duy nhất?
- 14. Cách nhận GUID trong Android?
- 15. Có cách nào để phân biệt GUID chỉ với một số ngẫu nhiên không?
- 16. Có cách nào chung để tạo ra một chuỗi tuyến tính tùy ý trong SQL?
- 17. Trong Erlang, có cách nào để tạo ra một hàm rỗng không?
- 18. Zend làm cách nào để tạo ra một trái join
- 19. Làm cách nào để sao chép các tệp vào một JAR hiện có với Ant?
- 20. Tạo một tập tin giữ chỗ trống trong Ant
- 21. Tại sao tôi không thể tin tưởng GUID do khách hàng tạo ra? Liệu việc xử lý PK như một tổng hợp của client-GUID và một máy chủ-GUID có giải quyết được gì không?
- 22. Có cách nào để tạo ra một giàn giáo đường ray mà không có quan điểm?
- 23. tạo GUID mà không gạch nối
- 24. Làm cách nào để tạo dấu thời gian cho một tạo phẩm đầu ra trong Maven?
- 25. Có cách nào trong scala để tạo ra một cá thể chung mà không có một cá thể ví dụ?
- 26. Những ngoại lệ nào có thể tạo ra một tham chiếu dịch vụ được tạo ra?
- 27. Làm cách nào để tạo ra nước trong Sea Stars?
- 28. Tạo một GUID ngẫu nhiên trong C# trong một khoảng thời gian cụ thể
- 29. Có cách nào để chuyển đổi markdown thành asciidoc (hoặc có thể tạo ra cùng một đầu ra HTML) không?
- 30. Làm cách nào để tạo đầu ra cột trong Perl?
Câu trả lời dưới đây sẽ làm việc, nhưng bạn đề cập đến bạn đang sử dụng Wix. Theo cuốn sách tôi đang đọc "WIX: Hướng dẫn của nhà phát triển cho Windows Installer XML", bạn có thể định nghĩa id là * và Wix sẽ tạo ra một hướng dẫn mới cho bạn. Vì vậy, bạn chỉ có thể thực hiện