2011-09-01 29 views
5

Tôi có một dự án kiến ​​tôi đang chuyển đổi thành gradle. Trong dự án kiến, có cái gì đó như thế này:Làm thế nào tôi có thể nhận được hành vi kiến ​​khi mở rộng các thuộc tính với gradle?

<copy todir="dest_dir"> 
    <fileset> 
    ... 
    </fileset> 
    <filterchain> 
    <expandproperties/> 
    </filterchain> 
</copy> 

Chuỗi lọc mở rộng tài sản như ${property}, nhưng bỏ qua những dấu hiệu đô la mà không cần niềng răng. Tôi đang cố gắng để nhân rộng hành vi này trong gradle.

Nếu tôi expand như dưới đây, gradle mở rộng các tệp dưới dạng mẫu hấp dẫn, cố gắng mở rộng các dấu đô la có dấu ngoặc.

copy { 
    from 'source_dir' 
    into 'dest_dir' 
    expand(project.properties) 
} 

Nếu tôi filter với lớp lọc ant ExpandProperties, tôi nhận được một NullPointerException. Có cách nào dễ dàng để làm điều này tôi đã bỏ lỡ?

Trả lời

6

Ok, tôi đã tìm ra điều này. Bộ lọc ExpandProperties cần thuộc tính dự án của nó được thiết lập với dự án Ant. Đây là cách tôi nhận được cấu hình để hoạt động:

copy { 
    from 'source_dir' 
    to 'dest_dir' 
    filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.antProject) 
} 

Điều này mở rộng các đặc tính giống như Ant, mà không bị vấp trên các ký hiệu đô la không có niềng răng.

Các vấn đề liên quan