2017-01-12 29 views
1

我們正在試驗gradle。我的項目如下模塊:多個gretty配置

  • 客戶
  • 服務器
  • 測試

其中服務器依賴於客戶端和測試依賴於服務器。

開發客戶端/服務器需要運行具有某些特定配置的服務器。

測試具有配置和運行fitnesse的定製java-exec任務,該任務有兩種模式 - 交互式,它允許您運行單個測試和無聲運行整個套件。

這讓服務器3點的配置我需要運行:

  • 只是服務器,開發模式
  • 服務器和測試,以交互方式
  • 服務器和測試,在靜音模式下

gretty文檔似乎只允許集成測試的1個任務包含在gretty配置中。另一個問題是這個任務必須在同一個模塊中,但將gretty放入server/build.gradle並將任務測試到tests/build.gradle是很自然的。

我也嘗試尋找webapp農場,但據我所知,這個想法是同時運行幾個webapps。

回答

0

這個工作對我來說:

root.gradle:

buildscript { 
    repositories { 
     mavenLocal() 
     maven { url "https://plugins.gradle.org/m2/" } 
    } 

    dependencies { 
     classpath "org.akhikhl.gretty:gretty:1.4.0" 
    } 
} 

server.gradle:

if (condition) { 
    apply plugin: 'org.akhikhl.gretty' 

    gretty { 
    // some configuration here 
    } 
} 

tests.gradle:

if (!condition) { 
    apply plugin: 'org.akhikhl.gretty' 

    gretty { 
    // different configuration here 
    } 
}