2020-02-11 22:00:05 -05:00
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'
}
2020-02-19 02:43:55 -05:00
// Define the main class for the application
mainClassName = 'org.reso.commander.Main'
sourceCompatibility = 1.8
targetCompatibility = 1.8
2020-02-11 22:00:05 -05:00
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter ( )
}
dependencies {
2020-02-19 02:43:55 -05:00
compile 'com.google.guava:guava:28.2-jre'
2020-02-11 22:00:05 -05:00
compile 'commons-cli:commons-cli:1.4'
2020-02-19 02:43:55 -05:00
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'
2020-02-11 22:00:05 -05:00
2020-02-19 02:43:55 -05:00
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'
2020-02-11 22:00:05 -05:00
2020-02-27 14:00:18 -05:00
compile 'io.cucumber:cucumber-java8:5.4.0'
compile 'io.cucumber:cucumber-junit:5.4.0'
2020-02-19 02:43:55 -05:00
2020-02-27 14:00:18 -05:00
compile 'net.masterthought:cucumber-reporting:5.1.1'
2020-03-18 12:12:49 -04:00
compile 'com.networknt:json-schema-validator:1.0.35'
2020-02-19 02:43:55 -05:00
}
configurations {
cucumberRuntime {
extendsFrom compile
}
2020-02-11 22:00:05 -05:00
}
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
}
2020-03-06 00:15:43 -05:00
// task for Web API Server 1.0.2 Gold Testing
task testWebApiServer_1_0_2_Gold ( ) {
2020-02-19 02:43:55 -05:00
dependsOn jar
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations . cucumberRuntime + sourceSets . main . output + sourceSets . test . output
2020-03-06 00:15:43 -05:00
systemProperties = System . getProperties ( )
2020-02-19 02:43:55 -05:00
args = [
'--strict' ,
'--plugin' ,
'pretty' ,
'--plugin' ,
2020-03-06 00:15:43 -05:00
'json:build/web-api-server-1.0.2.gold.json' ,
2020-02-27 18:38:21 -05:00
'--plugin' ,
2020-03-06 00:15:43 -05:00
'html:build/web-api-server-1.0.2.gold.html' ,
2020-02-19 02:43:55 -05:00
'--glue' ,
'org.reso.certification.stepdefs#WebAPIServer_1_0_2' ,
2020-03-10 01:36:08 -04:00
'src/main/java/org/reso/certification/features/web-api' ,
2020-03-06 00:15:43 -05:00
'--tags' ,
2020-04-05 19:21:23 -04:00
( systemProperties . get ( 'cucumber.filter.tags' , '' ) . toString ( ) . trim ( ) . length ( ) > 0 ? 'not @platinum and ' + systemProperties . get ( 'cucumber.filter.tags' ) : 'not @platinum' )
2020-02-19 02:43:55 -05:00
]
2020-03-06 00:15:43 -05:00
}
}
}
// 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
2020-02-19 02:43:55 -05:00
systemProperties = System . getProperties ( )
2020-03-06 00:15:43 -05:00
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' ,
2020-03-10 01:36:08 -04:00
'src/main/java/org/reso/certification/features/web-api'
]
}
}
}
2020-03-10 03:07:37 -04:00
// task for Data Dictionary 1.5
task testDataDictionary_1_5 ( ) {
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/data-dictionary-1.5.json' ,
'--plugin' ,
'html:build/data-dictionary-1.5.html' ,
'--glue' ,
'org.reso.certification.stepdefs#DataDictionary' ,
'src/main/java/org/reso/certification/features/data-dictionary' ,
'--tags' ,
2020-04-05 19:21:23 -04:00
( systemProperties . get ( 'cucumber.filter.tags' , '' ) . toString ( ) . trim ( ) . length ( ) > 0 ? '@DD1.5 and ' + systemProperties . get ( 'cucumber.filter.tags' ) : '@DD1.5' )
2020-03-10 03:07:37 -04:00
]
}
}
}
// task for Data Dictionary 1.6
2020-03-10 01:36:08 -04:00
task testDataDictionary_1_6 ( ) {
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/data-dictionary-1.6.json' ,
'--plugin' ,
'html:build/data-dictionary-1.6.html' ,
'--glue' ,
'org.reso.certification.stepdefs#DataDictionary' ,
2020-03-10 03:07:37 -04:00
'src/main/java/org/reso/certification/features/data-dictionary' ,
'--tags' ,
2020-04-05 19:21:23 -04:00
( systemProperties . get ( 'cucumber.filter.tags' , '' ) . toString ( ) . trim ( ) . length ( ) > 0 ? '@DD1.6 and ' + systemProperties . get ( 'cucumber.filter.tags' ) : '@DD1.6' )
2020-03-06 00:15:43 -05:00
]
2020-02-19 02:43:55 -05:00
}
}
}