You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
easy-rules/easyrules-gradle/build.gradle

133 lines
4.2 KiB
Groovy

//=============================================================================================
// U S A G E ================================================================================
//=============================================================================================
task usage doLast { print """${'='*90}
Easy Rules Tutorials (http://www.easyrules.org)
NB: Use '--quiet' or '-q' to supress Gradle build output lines
./gradlew FizzBuzz
Baseline FizzBuzz using code.
Prints the numbers from 1 to 100. But for multiples of 3 print 'Fizz' instead
of the number and for the multiples of 5 print 'Buzz'. For numbers which are
multiples of both three and five print 'FizzBuzz'.
./gradlew FizzBuzzER
FizzBuzz implementation using EasyRules.
./gradlew Simple
Very simple EasyRules examples with one, always true, rule.
./gradlew HelloWorld -q
Obligatory 'Hello, world' example where the input is evaluated by a rule.
./gradlew Shop -P person=Tommy -P age=15
Rule to evaluate drinking age (US 21); Name and age can be passed in via the command line
or system properties; Default is 'Tom' at age '17'.
./gradlew Scheduling -q
A rule which implements scheduling; Reports when the time seconds count is even
./gradlew Spring
Similiar to 'Simple' but the rule is injected by Spring
./gradlew clean
Remove all reports and artifacts from './$project.buildDir.name'
${'='*90}
"""}
//============================================================================================
// P L U G I N S ===========================================================================
//============================================================================================
apply plugin: 'groovy'
//=============================================================================================
// C O N F I G U R A T I O N =================================================================
//=============================================================================================
sourceCompatibility = 1.8
targetCompatibility = sourceCompatibility
//=============================================================================================
// R e p o s i t o r i e s & D e p e n d e n c i e s ====================================
//=============================================================================================
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
def easyRules = '2.4.0' // Apr 2017
def spring = '4.3.6.RELEASE' // Apr 2017
def groovy = '2.4.10' // Apr 2017
compile ([
"org.easyrules:easyrules-core:$easyRules",
"org.easyrules:easyrules-quartz:$easyRules",
"org.easyrules:easyrules-spring:$easyRules",
"org.springframework:spring-context-support:$spring",
"org.codehaus.groovy:groovy-all:$groovy"
])
}
sourceSets {
compile {
groovy {
srcDirs = ['src/main/groovy']
}
}
}
//============================================================================================
// R U N T U T O R I A L S ===============================================================
//============================================================================================
tasks.withType(JavaExec) {
standardInput = System.in
classpath = sourceSets.main.runtimeClasspath
}
task FizzBuzz (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.fizzbuzz.FizzBuzz'
}
task FizzBuzzER (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.fizzbuzz.FizzBuzzWithEasyRules'
classpath = sourceSets.main.runtimeClasspath
}
task Simple (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.simple.Launcher'
}
task HelloWorld (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.helloworld.Launcher'
}
task Scheduling (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.scheduling.Launcher'
}
task Shop (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.shop.Launcher'
args = [
findProperty('person') ?: 'Tom',
findProperty('age') ?: '17'
]
}
task Spring (dependsOn: 'classes', type: JavaExec) {
main = 'org.easyrules.samples.spring.Launcher'
}