diff --git a/theodolite-benchmarks/application-kafkastreams-commons/build.gradle b/theodolite-benchmarks/application-kafkastreams-commons/build.gradle index c1ce7502eddd48c7fb50f754012334e01823a3c6..e177aa5c4770c1a77fc21084a7766741fdb9bdec 100644 --- a/theodolite-benchmarks/application-kafkastreams-commons/build.gradle +++ b/theodolite-benchmarks/application-kafkastreams-commons/build.gradle @@ -1,3 +1,14 @@ +plugins { + id 'theodolite.java-commons' +} + +repositories { + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } +} + dependencies { // These dependencies are used internally, and not exposed to consumers on their own compile classpath. // implementation 'org.slf4j:slf4j-simple:1.7.25' @@ -7,4 +18,4 @@ dependencies { // Use JUnit test framework testImplementation 'junit:junit:4.12' - } \ No newline at end of file +} diff --git a/theodolite-benchmarks/build.gradle b/theodolite-benchmarks/build.gradle index 4e49dc99394304e6d9fa99e163b60a9877218c15..cd2ca985538ff84ec6b21aa5dccea86940d8fc6d 100644 --- a/theodolite-benchmarks/build.gradle +++ b/theodolite-benchmarks/build.gradle @@ -1,218 +1,13 @@ -// Inherited to all subprojects -buildscript { - repositories { - maven { - url "https://plugins.gradle.org/m2/" - } - } - dependencies { - classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.6.0" - classpath "com.github.jengelman.gradle.plugins:shadow:6.0.0" - } -} - -// Variables used to distinct different subprojects -def useCaseProjects = subprojects.findAll {it -> it.name.matches('uc(.)*')} -def useCaseApplications = subprojects.findAll {it -> it.name.matches('uc[0-9]+-application')} -def useCaseApplicationsFlink = subprojects.findAll {it -> it.name.matches('uc[0-9]+-application-flink')} -def useCaseGenerators = subprojects.findAll {it -> it.name.matches('uc[0-9]+-workload-generator*')} - // Plugins allprojects { apply plugin: 'eclipse' } -subprojects { - apply plugin: 'checkstyle' - apply plugin: 'pmd' - apply plugin: 'com.github.spotbugs' - apply plugin: 'java-library' -} - -configure(useCaseProjects){ - apply plugin: 'application' -} - -configure(useCaseApplicationsFlink){ - apply plugin: 'com.github.johnrengelman.shadow' - applicationDefaultJvmArgs = ["-Dlog4j.configuration=log4j.properties"] -} - -// Java version for all subprojects -subprojects { - java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - // Check for updates every build configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } -// Repositories for all projects -allprojects { - repositories { - jcenter() - maven { - url "https://oss.sonatype.org/content/repositories/snapshots/" - } - maven { - url 'https://packages.confluent.io/maven/' - } - maven { - url 'https://repository.apache.org/content/repositories/snapshots/' - } // TODO required? - } -} - -// Dependencies for all Kafka Streams benchmarks (use case applications) -configure(useCaseApplications) { - dependencies { - // These dependencies are used internally, and not exposed to consumers on their own compile classpath. - implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } - implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } - implementation 'org.apache.kafka:kafka-streams:2.6.0' // enable TransformerSuppliers - implementation 'com.google.code.gson:gson:2.8.2' - implementation 'com.google.guava:guava:24.1-jre' - implementation 'org.slf4j:slf4j-simple:1.7.25' - implementation project(':application-kafkastreams-commons') - - // Use JUnit test framework - testImplementation 'junit:junit:4.12' - } -} - -// Dependencies for all Flink benchmarks (use case applications) -configure(useCaseApplicationsFlink) { - ext { - flinkVersion = '1.12.2' - scalaBinaryVersion = '2.12' - } - - dependencies { - // Special version required because of https://issues.apache.org/jira/browse/FLINK-13703 - implementation('org.industrial-devops:titan-ccp-common:0.1.0-flink-ready-SNAPSHOT') { changing = true } - implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } - - // These dependencies are used internally, and not exposed to consumers on their own compile classpath. - implementation 'org.apache.kafka:kafka-clients:2.2.0' - implementation 'com.google.guava:guava:24.1-jre' - implementation 'com.google.code.gson:gson:2.8.2' - implementation 'org.slf4j:slf4j-simple:1.6.1' - compile project(':flink-commons') - - //compile group: 'org.apache.kafka', name: 'kafka-clients', version: "2.2.0" - compile group: 'org.apache.flink', name: 'flink-java', version: "${flinkVersion}" - compile group: 'org.apache.flink', name: "flink-streaming-java_${scalaBinaryVersion}", version:"${flinkVersion}" - compile group: 'org.apache.flink', name: "flink-table-api-java-bridge_${scalaBinaryVersion}", version: "${flinkVersion}" - compile group: 'org.apache.flink', name: "flink-table-planner-blink_${scalaBinaryVersion}", version: "${flinkVersion}" - compile group: 'org.apache.flink', name: "flink-connector-kafka_${scalaBinaryVersion}", version: "${flinkVersion}" - implementation "org.apache.flink:flink-avro:${flinkVersion}" - implementation "org.apache.flink:flink-avro-confluent-registry:${flinkVersion}" - compile group: 'org.apache.flink', name: "flink-runtime-web_${scalaBinaryVersion}", version: "${flinkVersion}" // TODO: remove after development - compile group: 'org.apache.flink', name: "flink-statebackend-rocksdb_${scalaBinaryVersion}", version: "${flinkVersion}" - compile group: 'org.apache.flink', name: "flink-metrics-prometheus_${scalaBinaryVersion}", version: "${flinkVersion}" - - // Use JUnit test framework - testImplementation 'junit:junit:4.12' - } - - run.classpath = sourceSets.main.runtimeClasspath - - jar { - manifest { - attributes 'Built-By': System.getProperty('user.name'), - 'Build-Jdk': System.getProperty('java.version') - } - } - - shadowJar { - configurations = [project.configurations.compile] - zip64 true - } -} - -// Dependencies for all load generators -configure(useCaseGenerators) { - dependencies { - // These dependencies are used internally, and not exposed to consumers on their own compile classpath. - implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } - implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } - implementation 'org.slf4j:slf4j-simple:1.7.25' - - // These dependencies are used for the workload-generator-commmon - implementation project(':workload-generator-commons') - - // Use JUnit test framework - testImplementation 'junit:junit:4.12' - } -} - -// Per default XML reports for SpotBugs are generated -// Include this to generate HTML reports -tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { - reports { - // Either HTML or XML reports can be activated - html.enabled true - xml.enabled false - } -} - -// Subprojects quality tools tasks -subprojects { - task pmd { - group 'Quality Assurance' - description 'Run PMD' - - dependsOn 'pmdMain' - dependsOn 'pmdTest' - } - - task checkstyle { - group 'Quality Assurance' - description 'Run Checkstyle' - - dependsOn 'checkstyleMain' - dependsOn 'checkstyleTest' - } - - task spotbugs { - group 'Quality Assurance' - description 'Run SpotBugs' - - dependsOn 'spotbugsMain' - dependsOn 'spotbugsTest' - } -} - -// Subprojects quality tools configuration -subprojects { - pmd { - ruleSets = [] // Gradle requires to clean the rule sets first - ruleSetFiles = files("$rootProject.projectDir/config/pmd.xml") - ignoreFailures = false - toolVersion = "6.7.0" - } - - checkstyle { - configDirectory = file("$rootProject.projectDir/config") - configFile = file("$rootProject.projectDir/config/checkstyle.xml") - maxWarnings = 0 - ignoreFailures = false - toolVersion = "8.12" - } - - spotbugs { - excludeFilter = file("$rootProject.projectDir/config/spotbugs-exclude-filter.xml") - reportLevel = "low" - effort = "max" - ignoreFailures = false - toolVersion = '4.1.4' - } -} - allprojects { eclipse { classpath { diff --git a/theodolite-benchmarks/buildSrc/build.gradle b/theodolite-benchmarks/buildSrc/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..4c099de32dc97ed3aa0417e8fff1f06e2a50dfd8 --- /dev/null +++ b/theodolite-benchmarks/buildSrc/build.gradle @@ -0,0 +1,24 @@ +buildscript { + repositories { + maven { + url "https://plugins.gradle.org/m2/" + } + } + dependencies { + classpath "com.github.jengelman.gradle.plugins:shadow:6.0.0" + } +} + +// to discover the precompiled script plugins +plugins { + id 'groovy-gradle-plugin' +} + +repositories { + gradlePluginPortal() // so that external plugins can be resolved in dependencies section +} + +dependencies { + implementation 'gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.6.0' + implementation 'com.github.jengelman.gradle.plugins:shadow:6.0.0' +} diff --git a/theodolite-benchmarks/buildSrc/settings.gradle b/theodolite-benchmarks/buildSrc/settings.gradle new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-commons.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-commons.gradle new file mode 100644 index 0000000000000000000000000000000000000000..f195d6e117d29cad7a6d7494835626f92fb1c2b0 --- /dev/null +++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-commons.gradle @@ -0,0 +1,7 @@ +plugins { + // common java conventions + id 'theodolite.java-conventions' + + // provide library capability in commons + id 'java-library' +} diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle new file mode 100644 index 0000000000000000000000000000000000000000..773872648edfd4b30218a99d307b6e7c45ed3470 --- /dev/null +++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle @@ -0,0 +1,70 @@ +plugins { + id 'java' + id 'checkstyle' + id 'pmd' + + // NOTE: external plugin version is specified in implementation dependency artifact of the project's build file + id 'com.github.spotbugs' +} + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 +} + +// Per default XML reports for SpotBugs are generated +// Include this to generate HTML reports +tasks.withType(com.github.spotbugs.snom.SpotBugsTask) { + reports { + // Either HTML or XML reports can be activated + html.enabled true + xml.enabled false + } +} + +task pmd { + group 'Quality Assurance' + description 'Run PMD' + + dependsOn 'pmdMain' + dependsOn 'pmdTest' +} + +task checkstyle { + group 'Quality Assurance' + description 'Run Checkstyle' + + dependsOn 'checkstyleMain' + dependsOn 'checkstyleTest' +} + +task spotbugs { + group 'Quality Assurance' + description 'Run SpotBugs' + + dependsOn 'spotbugsMain' + dependsOn 'spotbugsTest' +} + +pmd { + ruleSets = [] // Gradle requires to clean the rule sets first + ruleSetFiles = files("$rootProject.projectDir/config/pmd.xml") + ignoreFailures = false + toolVersion = "6.7.0" +} + +checkstyle { + configDirectory = file("$rootProject.projectDir/config") + configFile = file("$rootProject.projectDir/config/checkstyle.xml") + maxWarnings = 0 + ignoreFailures = false + toolVersion = "8.12" +} + +spotbugs { + excludeFilter = file("$rootProject.projectDir/config/spotbugs-exclude-filter.xml") + reportLevel = "low" + effort = "max" + ignoreFailures = false + toolVersion = '4.1.4' +} diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-flink.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-flink.gradle new file mode 100644 index 0000000000000000000000000000000000000000..f9c1d98d9f88a95bdc3fa25e7c1bec2f3c9bddb4 --- /dev/null +++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-flink.gradle @@ -0,0 +1,64 @@ +plugins { + id 'theodolite.java-conventions' + id 'application' // executable + id 'com.github.johnrengelman.shadow' // create fat jar +} + +applicationDefaultJvmArgs = ["-Dlog4j.configuration=log4j.properties"] + +ext { + flinkVersion = '1.12.2' + scalaBinaryVersion = '2.12' +} + +repositories { + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } + maven { + url 'https://packages.confluent.io/maven/' + } +} + +dependencies { + // Special version required because of https://issues.apache.org/jira/browse/FLINK-13703 + implementation('org.industrial-devops:titan-ccp-common:0.1.0-flink-ready-SNAPSHOT') { changing = true } + implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } + + // These dependencies are used internally, and not exposed to consumers on their own compile classpath. + implementation 'org.apache.kafka:kafka-clients:2.2.0' + implementation 'com.google.guava:guava:24.1-jre' + implementation 'com.google.code.gson:gson:2.8.2' + implementation 'org.slf4j:slf4j-simple:1.6.1' + compile project(':flink-commons') + + //compile group: 'org.apache.kafka', name: 'kafka-clients', version: "2.2.0" + compile group: 'org.apache.flink', name: 'flink-java', version: "${flinkVersion}" + compile group: 'org.apache.flink', name: "flink-streaming-java_${scalaBinaryVersion}", version:"${flinkVersion}" + compile group: 'org.apache.flink', name: "flink-table-api-java-bridge_${scalaBinaryVersion}", version: "${flinkVersion}" + compile group: 'org.apache.flink', name: "flink-table-planner-blink_${scalaBinaryVersion}", version: "${flinkVersion}" + compile group: 'org.apache.flink', name: "flink-connector-kafka_${scalaBinaryVersion}", version: "${flinkVersion}" + implementation "org.apache.flink:flink-avro:${flinkVersion}" + implementation "org.apache.flink:flink-avro-confluent-registry:${flinkVersion}" + compile group: 'org.apache.flink', name: "flink-runtime-web_${scalaBinaryVersion}", version: "${flinkVersion}" // TODO: remove after development + compile group: 'org.apache.flink', name: "flink-statebackend-rocksdb_${scalaBinaryVersion}", version: "${flinkVersion}" + compile group: 'org.apache.flink', name: "flink-metrics-prometheus_${scalaBinaryVersion}", version: "${flinkVersion}" + + // Use JUnit test framework + testImplementation 'junit:junit:4.12' +} + +run.classpath = sourceSets.main.runtimeClasspath + +jar { + manifest { + attributes 'Built-By': System.getProperty('user.name'), + 'Build-Jdk': System.getProperty('java.version') + } +} + +shadowJar { + configurations = [project.configurations.compile] + zip64 true +} diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-kafka-streams.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-kafka-streams.gradle new file mode 100644 index 0000000000000000000000000000000000000000..c664038cfe7af98d9331a05db224170f06442537 --- /dev/null +++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-kafka-streams.gradle @@ -0,0 +1,31 @@ +plugins { + // common java conventions + id 'theodolite.java-conventions' + + // make executable + id 'application' +} + +repositories { + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } + maven { + url 'https://packages.confluent.io/maven/' + } +} + +dependencies { + // These dependencies are used internally, and not exposed to consumers on their own compile classpath. + implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } + implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } + implementation 'org.apache.kafka:kafka-streams:2.6.0' // enable TransformerSuppliers + implementation 'com.google.code.gson:gson:2.8.2' + implementation 'com.google.guava:guava:24.1-jre' + implementation 'org.slf4j:slf4j-simple:1.7.25' + implementation project(':application-kafkastreams-commons') + + // Use JUnit test framework + testImplementation 'junit:junit:4.12' +} diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-workload.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-workload.gradle new file mode 100644 index 0000000000000000000000000000000000000000..2c1f9509afffb5ec4abd9c65127abaed328da1e4 --- /dev/null +++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.uc-workload.gradle @@ -0,0 +1,30 @@ +plugins { + // common java conventions + id 'theodolite.java-conventions' + + // make executable + id 'application' +} + +repositories { + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } + maven { + url 'https://packages.confluent.io/maven/' + } +} + +dependencies { + // These dependencies are used internally, and not exposed to consumers on their own compile classpath. + implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } + implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } + implementation 'org.slf4j:slf4j-simple:1.7.25' + + // These dependencies are used for the workload-generator-commmon + implementation project(':workload-generator-commons') + + // Use JUnit test framework + testImplementation 'junit:junit:4.12' +} diff --git a/theodolite-benchmarks/flink-commons/build.gradle b/theodolite-benchmarks/flink-commons/build.gradle index bbfedff3ded8381a9d42bbad5a0926876bfe4e99..1b0b9359a406bf2ab16fbbe52631877cf360df2a 100644 --- a/theodolite-benchmarks/flink-commons/build.gradle +++ b/theodolite-benchmarks/flink-commons/build.gradle @@ -1,8 +1,22 @@ +plugins { + id 'theodolite.java-commons' +} + ext { flinkVersion = '1.12.0' scalaBinaryVersion = '2.12' } +repositories { + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } + maven { + url 'https://packages.confluent.io/maven/' + } +} + dependencies { // Special version required because of https://issues.apache.org/jira/browse/FLINK-13703 implementation('org.industrial-devops:titan-ccp-common:0.1.0-flink-ready-SNAPSHOT') { changing = true } @@ -18,4 +32,4 @@ dependencies { // Use JUnit test framework testImplementation 'junit:junit:4.12' - } \ No newline at end of file + } diff --git a/theodolite-benchmarks/uc1-application-flink/build.gradle b/theodolite-benchmarks/uc1-application-flink/build.gradle index 8b8552dbc0c116a0987dbdfe874ca3111c8f11b9..8a57c61ba7d3f799c69feb74d697b806f3773fa7 100644 --- a/theodolite-benchmarks/uc1-application-flink/build.gradle +++ b/theodolite-benchmarks/uc1-application-flink/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-flink' +} + mainClassName = "theodolite.uc1.application.HistoryServiceFlinkJob" diff --git a/theodolite-benchmarks/uc1-application/build.gradle b/theodolite-benchmarks/uc1-application/build.gradle index 3b197e85116f41dde5574d9253d60e1146fe44a2..3c4f6cda286c61dcee7efe4b871fbd71657d7973 100644 --- a/theodolite-benchmarks/uc1-application/build.gradle +++ b/theodolite-benchmarks/uc1-application/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-kafka-streams' +} + mainClassName = "theodolite.uc1.application.HistoryService" diff --git a/theodolite-benchmarks/uc1-workload-generator/build.gradle b/theodolite-benchmarks/uc1-workload-generator/build.gradle index 9cc0bdbf01032efa3b251db06a2837cc9b920675..cec494c8e4f15d327b7c07c4f1f0adb597fa329d 100644 --- a/theodolite-benchmarks/uc1-workload-generator/build.gradle +++ b/theodolite-benchmarks/uc1-workload-generator/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-workload' +} + mainClassName = "theodolite.uc1.workloadgenerator.LoadGenerator" diff --git a/theodolite-benchmarks/uc2-application-flink/build.gradle b/theodolite-benchmarks/uc2-application-flink/build.gradle index b5e847553db8f3847d5fe858c76b31520f728aff..ee30302acd653257e361ffdbeb25aea241da1845 100644 --- a/theodolite-benchmarks/uc2-application-flink/build.gradle +++ b/theodolite-benchmarks/uc2-application-flink/build.gradle @@ -1,3 +1,7 @@ +plugins { + id 'theodolite.uc-flink' +} + allprojects { repositories { maven { diff --git a/theodolite-benchmarks/uc2-application/build.gradle b/theodolite-benchmarks/uc2-application/build.gradle index e4d3f5346e401def9c9a5a49820d0682eafb0ad3..da9ea85fa0b63188f06c596cc49fc6e5bb1bc048 100644 --- a/theodolite-benchmarks/uc2-application/build.gradle +++ b/theodolite-benchmarks/uc2-application/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-kafka-streams' +} + mainClassName = "theodolite.uc2.application.HistoryService" diff --git a/theodolite-benchmarks/uc2-workload-generator/build.gradle b/theodolite-benchmarks/uc2-workload-generator/build.gradle index f2c3e5d2e73b655dffd94222ecfbc4fc31b7f722..e949b625b95462c90819dc7c23a238abc77007f0 100644 --- a/theodolite-benchmarks/uc2-workload-generator/build.gradle +++ b/theodolite-benchmarks/uc2-workload-generator/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-workload' +} + mainClassName = "theodolite.uc2.workloadgenerator.LoadGenerator" diff --git a/theodolite-benchmarks/uc3-application-flink/build.gradle b/theodolite-benchmarks/uc3-application-flink/build.gradle index d50fa8efecd9b17e387d00c71934b8cc144240a1..20801fa5ff637980012d3f0eb55ee8c5c787a902 100644 --- a/theodolite-benchmarks/uc3-application-flink/build.gradle +++ b/theodolite-benchmarks/uc3-application-flink/build.gradle @@ -1,3 +1,7 @@ +plugins { + id 'theodolite.uc-flink' +} + allprojects { repositories { maven { diff --git a/theodolite-benchmarks/uc3-application/build.gradle b/theodolite-benchmarks/uc3-application/build.gradle index aa96b6dbf90c4895dfda57a51c753c9103c29414..ac6bd76b5b72718eb7eadf0ade8d5c4d9456b3ba 100644 --- a/theodolite-benchmarks/uc3-application/build.gradle +++ b/theodolite-benchmarks/uc3-application/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-kafka-streams' +} + mainClassName = "theodolite.uc3.application.HistoryService" diff --git a/theodolite-benchmarks/uc3-workload-generator/build.gradle b/theodolite-benchmarks/uc3-workload-generator/build.gradle index c3ca94290c8600d8482210362666efc1249b8f02..d536e6e5ab47fcca02f99ce88b30d6ac9b69d71f 100644 --- a/theodolite-benchmarks/uc3-workload-generator/build.gradle +++ b/theodolite-benchmarks/uc3-workload-generator/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-workload' +} + mainClassName = "theodolite.uc3.workloadgenerator.LoadGenerator" diff --git a/theodolite-benchmarks/uc4-application-flink/build.gradle b/theodolite-benchmarks/uc4-application-flink/build.gradle index 0ad804c62566aff81d05f71a874f52c09be4ebcb..e5466514ff96f3c0a711cbb333e5a6bd1a8dde94 100644 --- a/theodolite-benchmarks/uc4-application-flink/build.gradle +++ b/theodolite-benchmarks/uc4-application-flink/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-flink' +} + mainClassName = "theodolite.uc4.application.AggregationServiceFlinkJob" diff --git a/theodolite-benchmarks/uc4-application/build.gradle b/theodolite-benchmarks/uc4-application/build.gradle index 9cb1b311d8f50769d371952db886e4a00a454591..8486e9302b655087e0c8a970fd7f55a170f60a8f 100644 --- a/theodolite-benchmarks/uc4-application/build.gradle +++ b/theodolite-benchmarks/uc4-application/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-kafka-streams' +} + mainClassName = "theodolite.uc4.application.AggregationService" diff --git a/theodolite-benchmarks/uc4-workload-generator/build.gradle b/theodolite-benchmarks/uc4-workload-generator/build.gradle index 8865ec9391213f3d8c52be2366573dee09652087..14b39ccd5d3bc736f49bf2dff6943bfda66fac91 100644 --- a/theodolite-benchmarks/uc4-workload-generator/build.gradle +++ b/theodolite-benchmarks/uc4-workload-generator/build.gradle @@ -1 +1,5 @@ +plugins { + id 'theodolite.uc-workload' +} + mainClassName = "theodolite.uc4.workloadgenerator.LoadGenerator" diff --git a/theodolite-benchmarks/workload-generator-commons/build.gradle b/theodolite-benchmarks/workload-generator-commons/build.gradle index c42fff0412c332bc8292e175a352c03ada71f659..118f3e648f829a3eafe719ddf660d35ac8563574 100644 --- a/theodolite-benchmarks/workload-generator-commons/build.gradle +++ b/theodolite-benchmarks/workload-generator-commons/build.gradle @@ -1,3 +1,17 @@ +plugins { + id 'theodolite.java-commons' +} + +repositories { + jcenter() + maven { + url "https://oss.sonatype.org/content/repositories/snapshots/" + } + maven { + url 'https://packages.confluent.io/maven/' + } +} + dependencies { implementation 'com.google.guava:guava:30.1-jre' implementation 'com.hazelcast:hazelcast:4.1.1' @@ -6,7 +20,7 @@ dependencies { implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } implementation 'org.apache.kafka:kafka-streams:2.6.0' // TODO required? - + // Use JUnit test framework testImplementation 'junit:junit:4.12' -} \ No newline at end of file +}