2015-04-24 17 views
6

Tôi cố gắng để làm việc xung quanh vấn đề mô tả trong GRADLE-2293 nơi tập tin được tạo luôn được cập nhật vì một dấu thời gian được ghi vào file Eclipse nằm trong thư mục .settings bởi Gradle plugin mà tạo ra Các tệp dự án Eclipse.Làm thế nào để thay thế văn bản trong các tập tin sử dụng Gradle/Groovy chức năng

Các tập tin chứa một tiêu đề như thế này mà tôi muốn loại bỏ

# 
#Fri Mar 27 10:26:55 CET 2015 

Hiện nay tôi đang sử dụng là một nhiệm vụ Exec để sử dụng ứng dụng bên ngoài sed để cắt ra dòng bắt đầu bằng '#':

task adjustEclipseSettingsFile(type: Exec) { 
    executable 'sed' 
    args '-i','-e','s/^#.*//g','.settings/org.eclipse.jdt.core.prefs' 
} 
eclipseJdt.finalizedBy adjustEclipseSettingsFile 

tuy nhiên điều này thêm phụ thuộc vào nhị phân hệ điều hành mà tôi muốn tránh.

Làm cách nào tôi có thể thực hiện việc xóa các dòng đơn giản này bắt đầu bằng '#' trong tác vụ Gradle mà không cần gọi các công cụ bên ngoài?

Trả lời

6

Có thực sự rất nhiều cách để làm việc đó, một với ant có lẽ là đáng tin cậy nhất:

task removeLines << { 
    ant.replaceregexp(match:'^#.*', replace:'', flags:'g', byline:true) { 
     fileset(dir: project.projectDir, includes: 'lol') 
    } 
}                                            
+0

Cảm ơn, chính xác những gì tôi đang tìm kiếm! – centic

+0

BTW, tôi đã phải thay thế rootDir bằng projectDir để làm cho nó hoạt động trong các thiết lập đa dự án – centic

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