2016-02-26 40 views
1

如何將一個目錄添加到我的系統路徑中,以便後續任務能夠正確執行?Gradle - 從任務追加到系統路徑

這是我目前的嘗試,但PATH變量似乎並沒有改變或堅持:

task sourceEnv(type: Exec){ 
    environment "PATH", "$System.env.PATH" + System.getProperty("path.separator") + 
     "$projectDir/src/dist/util" 
} 

task otherTask { 
    dependsOn sourceEnv 
    ... 
} 

回答

3

定義一個全局路徑的第一個任務(在ext命名空間)之外,在這兩個任務重用。

ext.execPath = "$System.env.PATH" + System.getProperty("path.separator") + "$projectDir/src/dist/util" 

task taskA(type: Exec){ 
    environment "PATH", execPath 
    ... 
} 

task taskB(type: Exec){ 
    environment "PATH", execPath 
    ... 
} 
+0

您能舉個例子嗎? –

+0

添加了一些代碼。 – RaGe

+1

在我將'ext.path'改爲'ext.execPath'(或任何其他未定義的名稱)後,這對我有用。 'path'是在任務中定義的,它給你Gradle任務路徑。 我編輯了你的答案,包括更正。 –