2012-01-09 6 views
6

Можно ли изменить зависимости времени выполнения градиента в зависимости от того, в какой операционной системе он включен?Изменение зависимостей времени градации в зависимости от операционной системы?

Я использую SWT в своем приложении, в котором есть банки, зависящие от платформы. Я хочу только распределить правый SWT-банку для каждой запущенной платформы. Что-то вроде:

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

Надеюсь, что этот вопрос имеет смысл. Благодарю.

ответ

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 нет открытого API для проверки ОС, но вы можете использовать что-то вроде System.getProperty («os.name») и действовать соответствующим образом (например, с помощью простого оператора if).

Смежные вопросы