2014-05-07 15 views
5

Tôi cần tạo tệp trong dự án java của mình gần tệp buiid.gradle. Tôi phải tạo nhiệm vụ (nhiệm vụ Groovy) trong tệp build.gradle, tác vụ của tôi phải tạo tệp gần buiid.gradle trong dự án của tôi, nhưng tôi không biết - làm thế nào để lấy đường dẫn đến buiid.gradle-file, đó là đặt vào dự án.Cách lấy đường dẫn đầy đủ đến tệp build.gradle bằng Groovy?

Cách lấy đường dẫn đầy đủ để tập tin buiid.gradle bằng Groovy? Làm ơn giúp tôi với.

Trả lời

17

Có một số cách để thực hiện việc này.

  1. Nếu bạn nhìn vào trang Working With Files, bạn chỉ có thể sử dụng phương pháp file() đó là một phần của đối tượng Project.
  2. Nếu bạn nhìn vào số Project DSL Docs, bạn sẽ thấy thuộc tính projectDir. Các thuộc tính có sẵn trong toàn bộ tập lệnh build.gradle.

Chúng có thể được sử dụng, tương ứng, như thế này:

task myTask << { 
    println file('.') 
    println projectDir 
} 

Would đầu ra

 
/full/path/to/your/project/ 
/full/path/to/your/project/ 

đâu thư mục chứa các tập tin mà build.gradle nhiệm vụ nằm.

+1

Bạn cũng có thể bắt đầu với phần liên quan trong hướng dẫn sử dụng - http://www.gradle.org/docs/current/userguide/working_with_files.html – Radim

+0

@Radim Có, đó có thể là cách tốt hơn nếu bạn định tạo các tập tin. Đã cập nhật câu trả lời của tôi. – kuporific

2

Để có được một xử lý để java.io.File đại diện cho tập tin .gradle hiện hành:

def file = buildscript.sourceFile 

Trong trường hợp của tôi, tôi cần các thư mục của kịch bản đó vì vậy tôi có thể áp dụng cấu hình khác từ cùng thư mục:

def buildCommonDir = buildscript.sourceFile.getParent() 
apply from: "$buildCommonDir/common.gradle" 

cách tiếp cận này làm việc với bất kỳ tập tin .gradle, không chỉ build.gradle.

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