web-api-commander/build.gradle

121 lines
3.4 KiB
Groovy

plugins {
// Apply the java plugin to add support for Java
id 'java'
// Apply the application plugin to add support for building an application
id 'application'
}
// Define the main class for the application
mainClassName = 'org.reso.commander.Main'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
compile 'com.google.guava:guava:28.2-jre'
compile 'commons-cli:commons-cli:1.4'
compile 'org.apache.logging.log4j:log4j-api:2.13.0'
compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.13.0'
compile 'org.apache.logging.log4j:log4j-1.2-api:2.13.0'
compile 'org.apache.logging.log4j:log4j-core:2.13.0'
compile 'org.apache.olingo:odata-client-api:4.7.1'
compile 'org.apache.olingo:odata-commons-core:4.7.1'
compile 'org.apache.olingo:odata-client-core:4.7.1'
compile 'io.rest-assured:rest-assured:4.2.0'
compile 'io.rest-assured:json-path:4.2.0'
compile 'io.rest-assured:json-schema-validator:4.2.0'
compile 'io.cucumber:cucumber-java8:5.4.0'
compile 'io.cucumber:cucumber-junit:5.4.0'
compile 'net.masterthought:cucumber-reporting:5.1.1'
}
configurations {
cucumberRuntime {
extendsFrom compile
}
}
jar {
manifest {
attributes(
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
'Main-Class': 'org.reso.commander.App'
)
}
// generate "fat jar" by default
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
// don't suppress warnings or deprecation notices
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:unchecked'
options.deprecation = true
}
// task for Web API Server 1.0.2 Gold Testing
task testWebApiServer_1_0_2_Gold() {
dependsOn jar
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
args = [
'--strict',
'--plugin',
'pretty',
'--plugin',
'json:build/web-api-server-1.0.2.gold.json',
'--plugin',
'html:build/web-api-server-1.0.2.gold.html',
'--glue',
'org.reso.certification.stepdefs#WebAPIServer_1_0_2',
'src/main/java/org/reso/certification/features',
'--tags',
'not @platinum'
+ (systemProperties.get('cucumber.filter.tags') != null ? ' and ' + systemProperties.get('cucumber.filter.tags') : '')
]
}
}
}
// task for Web API Server 1.0.2 Platinum Testing - currently equivalent to all, but generates a platinum-named report.
task testWebApiServer_1_0_2_Platinum() {
dependsOn jar
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
systemProperties = System.getProperties()
args = [
'--strict',
'--plugin',
'pretty',
'--plugin',
'json:build/web-api-server-1.0.2.platinum.json',
'--plugin',
'html:build/web-api-server-1.0.2.platinum.html',
'--glue',
'org.reso.certification.stepdefs#WebAPIServer_1_0_2',
'src/main/java/org/reso/certification/features'
]
}
}
}