2016-10-13 2 views
0

私はUbuntuマシンにいくつかのアプリケーションをインストールする必要があります。一部のアプリケーションは、いくつかのアプリケーションが既にそれをスキップし、さらに進んで、その後インストールされている場合は、他のアプリケーションサーバ(os:Ubuntu)の設定を使用した

2)に依存している

1)以下のようなシナリオです。

install_bがinstall_aに依存する)、サンプルのGradle例の下

1を参照してください。

2)install_aがすでにインストールされている場合は、install_aというタスクをgradleでスキップする方法を教えてください。

task install_a(type: Exec) { 
    executable "sh" 
    args "-c","sudo apt-get install SOMEAPP" 
} 

task install_b(type: Exec) { 
dependsOn << install_a 
executable "sh" 
args "-c","sudo apt-get install ANOTHERAPP" 
} 

答えて

0

グラッドレの機能はskip tasksです。

task install_a(type: Exec) { 
    ... 
    onlyIf { file('/some/file/from/someapp').exists() } 
} 

1つのファイルをチェックするのがうまくいけない場合は、onlyIfクロージャでいくつかのコマンドを実行することもできます。

Gradleもup to date checksをサポートしていますが、最初の実行時に常にタスクを実行します。

関連する問題