![JAR search and dependency download from the Maven repository](/logo.png)
org.akhikhl.gretty.FarmIntegrationTestTask.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gretty Show documentation
Show all versions of gretty Show documentation
Advanced gradle plugin for running web-apps on jetty and tomcat
/*
* Gretty
*
* Copyright (C) 2013-2015 Andrey Hihlovskiy and contributors.
*
* See the file "LICENSE" for copying and usage permission.
* See the file "CONTRIBUTORS" for complete list of contributors.
*/
package org.akhikhl.gretty
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.slf4j.Logger
import org.slf4j.LoggerFactory
/**
*
* @author akhikhl
*/
class FarmIntegrationTestTask extends DefaultTask {
protected static final Logger log = LoggerFactory.getLogger(FarmIntegrationTestTask)
String farmName = ''
private String integrationTestTask_
private boolean integrationTestTaskAssigned
protected Map webAppRefs = [:]
String getIntegrationTestTask() {
integrationTestTask_ ?: new FarmConfigurer(project).getProjectFarm(farmName).integrationTestTask
}
boolean getIntegrationTestTaskAssigned() {
integrationTestTaskAssigned
}
Iterable getWebAppProjects() {
FarmConfigurer configurer = new FarmConfigurer(project)
Map wrefs = [:]
FarmConfigurer.mergeWebAppRefMaps(wrefs, webAppRefs)
FarmConfigurer.mergeWebAppRefMaps(wrefs, configurer.getProjectFarm(farmName).webAppRefs)
if(!wrefs && !configurer.getProjectFarm(farmName).includes)
wrefs = configurer.getDefaultWebAppRefMap()
configurer.getWebAppProjects(wrefs)
}
void integrationTestTask(String integrationTestTask) {
if(integrationTestTaskAssigned) {
log.warn '{}.integrationTestTask is already set to "{}", so "{}" is ignored', name, getIntegrationTestTask(), integrationTestTask
return
}
integrationTestTask_ = integrationTestTask
def thisTask = this
getWebAppProjects().each { proj ->
proj.tasks.all { t ->
if(t.name == thisTask.integrationTestTask)
thisTask.dependsOn t
}
}
integrationTestTaskAssigned = true
}
void webapp(Map options = [:], w) {
if(w instanceof Project)
w = w.path
webAppRefs[w] = options
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy