2012-01-09 29 views
6

Có thể thay đổi phụ thuộc thời gian chạy của gradle theo hệ điều hành mà nó đang hoạt động không?Sửa đổi phụ thuộc thời gian chạy của gradle theo hệ điều hành?

Tôi đang sử dụng SWT trong ứng dụng của tôi có các lọ phụ thuộc nền tảng. Tôi chỉ muốn phân phối bình SWT phù hợp cho mỗi nền tảng đang chạy. Một cái gì đó như:

dependencies { 
    runtime fileTree(dir: 'swt', include: 'swt_win_32.jar') if windows. 
    runtime fileTree(dir: 'swt', include: 'swt_linux_x86.jar') if linux. 
} 

Hy vọng câu hỏi này có ý nghĩa. Cảm ơn.

Trả lời

6
String jarName; 
switch(System.getProperty('os.name').toLowerCase().split()[0]) { 
    case 'windows': 
    jarName = 'swt_win_32.jar' 
    break 
    case 'linux': 
    jarName = 'swt_linux_x86.jar' 
    break 
    default: 
    throw new Exception('Unknown OS') 
} 

dependencies { 
    runtime fileTree(dir: 'swt', include: jarName) 
} 
3

Gradle không có API công cộng để kiểm tra hệ điều hành, nhưng bạn có thể sử dụng một cái gì đó như System.getProperty ("os.name") và hành động tương ứng (ví dụ: nếu câu lệnh if đơn giản).

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