Repository: incubator-edgent Updated Branches: refs/heads/master bc60753f0 -> d5d6e1558
Edgent-240 [gradle] script cleanup Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/d5d6e155 Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/d5d6e155 Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/d5d6e155 Branch: refs/heads/master Commit: d5d6e1558f604b5fba8dad687b6af1231f4ee857 Parents: bc60753 Author: Dale LaBossiere <dlab...@us.ibm.com> Authored: Mon Sep 26 11:42:42 2016 -0400 Committer: Dale LaBossiere <dlab...@us.ibm.com> Committed: Mon Sep 26 11:42:42 2016 -0400 ---------------------------------------------------------------------- build.gradle | 205 +--------------------------------------------------- jacoco.gradle | 150 ++++++++++++++++++++++++++++++++++++++ javadoc.gradle | 54 ++++++++++++++ other.gradle | 26 +++++++ 4 files changed, 232 insertions(+), 203 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/d5d6e155/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index 23c57a1..0ba3d3c 100644 --- a/build.gradle +++ b/build.gradle @@ -469,32 +469,6 @@ subprojects { } } - ext.unsupportedJava7TestProjects = [ // why not on all of these? (match ant_test7.run, see JAVA_SUPPORT.md) - // projects with no tests will be automatically avoided for java7 tests - // otherwise those that are not yet supported for java7 (not in ant_test7.{setup,run}) must be added here - ':api:graph', // no runnable tests - ':analytics:math3', - ':analytics:sensors', - ':connectors:command', - ':connectors:csv', - ':connectors:file', - ':connectors:jdbc', - ':connectors:mqtt', - ':connectors:kafka', - ':connectors:serial', - ':connectors:wsclient', - ':connectors:wsclient-javax.websocket', - ':connectors:javax.websocket-client', - ':connectors:edgent.javax.websocket', - ':connectors:javax.websocket-server', - ':console:server', - ':console:servlets', - ':providers:development', - ':utils:streamscope', - ':test:fvtiot', - ':test:svt', - ] - ext.j7TestClassesDir = file("$project.buildDir/classes/java7Test") task test7AdjustTestTask << { @@ -596,183 +570,8 @@ task createJunitReport << { ant.move(file: "TESTS-TestSuites.xml", tofile: "${target_report_dir}/TESTS-TestSuites.xml") } -task jacocoTestReport { - description = "Generates a coverage report from all subprojects (use after 'test')" - ext.test7AdjustJacocoReport = false -} -jacocoTestReport << { - - ant.delete(dir: "${target_report_dir}/coverage") - - def libDir = new File("${target_java8_dir}", "lib") - def utilsDir = new File("${target_java8_dir}", "utils") - def connectorsDir = new File("${target_java8_dir}", "connectors") - def analyticsDir = new File("${target_java8_dir}", "analytics") - def consoleDir = new File("${target_java8_dir}", "console") - - if( !libDir.exists() ) { libDir.mkdirs() } - if( !utilsDir.exists() ) { utilsDir.mkdirs() } - if( !connectorsDir.exists() ) { connectorsDir.mkdirs() } - if( !analyticsDir.exists() ) { analyticsDir.mkdirs() } - if( !consoleDir.exists() ) { consoleDir.mkdirs() } - - FileCollection executionData = files() - - subprojects.findAll { subproject -> - subproject.pluginManager.hasPlugin('java') && subproject.pluginManager.hasPlugin('jacoco') - }.each { subproject -> - executionData += subproject.tasks.jacocoTestReport.executionData - } - - executionData = files(executionData.findAll { - it.exists() - }) - ant.taskdef(name: 'jacocoReport', classname: 'org.jacoco.ant.ReportTask', - classpath: configurations.junitLibs.asPath) - ant.jacocoReport { - executiondata { - executionData.addToAntBuilder(ant, 'resources') - } - - platformTargetDir = target_java8_dir - if (test7AdjustJacocoReport) { - platformTargetDir = target_java7_dir - } - - structure(name: project.name) { - group(name: "Edgent API") { - classfiles { - fileset(dir: "$platformTargetDir/lib", includes: "edgent.api.*.jar") - } - sourcefiles { - fileset(dir: "./api/function/src/main/java", includes: "**/*.java") - fileset(dir: "./api/execution/src/main/java", includes: "**/*.java") - fileset(dir: "./api/oplet/src/main/java", includes: "**/*.java") - fileset(dir: "./api/graph/src/main/java", includes: "**/*.java") - fileset(dir: "./api/topology/src/main/java", includes: "**/*.java") - } - } - group(name: "Edgent SPI") { - classfiles { - fileset(dir: "$platformTargetDir/lib", includes: "edgent.spi.*.jar") - } - sourcefiles { - fileset(dir: "./spi/graph/src/main/java", includes: "**/*.java") - fileset(dir: "./spi/topology/src/main/java", includes: "**/*.java") - } - } - group(name: "Edgent Runtime") { - classfiles { - fileset(dir: "$platformTargetDir/lib", includes: "edgent.runtime.*.jar") - } - sourcefiles { - fileset(dir: "./runtime/etiao/src/main/java", includes: "**/*.java") - fileset(dir: "./runtime/jmxcontrol/src/main/java", includes: "**/*.java") - } - } - group(name: "Edgent Utilities") { - classfiles { - fileset(dir: "$platformTargetDir/utils", includes: "**/edgent.utils.*.jar") - } - sourcefiles { - fileset(dir: "./utils/metrics/src/main/java", includes: "**/*.java") - fileset(dir: "./utils/streamscope/src/main/java", includes: "**/*.java") - } - } - group(name: "Edgent Connectors") { - classfiles { - fileset(dir: "$platformTargetDir/connectors", includes: "**/edgent.connectors.*.jar") - } - sourcefiles { - fileset(dir: "./connectors/common/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/command/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/csv/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/file/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/iot/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/iotp/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/jdbc/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/kafka/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/mqtt/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/http/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/wsclient/src/main/java", includes: "**/*.java") - fileset(dir: "./connectors/wsclient-javax.websocket/src/main/java", includes: "**/*.java") - } - } - group(name: "Edgent Providers") { - classfiles { - fileset(dir: "$platformTargetDir/lib", includes: "edgent.providers.*.jar") - } - sourcefiles { - fileset(dir: "./providers/direct/src/main/java", includes: "**/*.java") - fileset(dir: "./providers/development/src/main/java", includes: "**/*.java") - } - } - if (!test7AdjustJacocoReport) { - group(name: "Edgent Analytics") { - classfiles { - fileset(dir: "$platformTargetDir/analytics", includes: "**/edgent.analytics.*.jar") - } - sourcefiles { - fileset(dir: "./analytics/math3/src/main/java", includes: "**/*.java") - fileset(dir: "./analytics/sensors/src/main/java", includes: "**/*.java") - } - } - group(name: "Edgent Console") { - classfiles { - fileset(dir: "$platformTargetDir/console", includes: "**/edgent.console.*.jar") - } - sourcefiles { - fileset(dir: "./console/server/src/main/java", includes: "**/*.java") - fileset(dir: "./console/servlets/src/main/java", includes: "**/*.java") - } - } - } - } - html(destdir: "${target_report_dir}/coverage/") - xml(destfile: "${target_report_dir}/coverage/jacoco-sessions.xml") - } -} - -task aggregateJavadoc(type: Javadoc) { - description = 'Create all javadoc into target_dir/docs/javadoc' - destinationDir file(target_javadoc_dir) - options.addStringOption('Xdoclint:none', '-quiet') - configure(options) { - author = true - version = true - use = true - docTitle "Apache Edgent (incubating) v${build_version}" - footer '<a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a>' - bottom "Copyright © 2016 The Apache Software Foundation. All Rights Reserved - ${commithash}-${DSTAMP}-${TSTAMP}" - overview "edgent_overview.html" - windowTitle "Edgent v${build_version}" - - group("Edgent Providers", "org.apache.edgent.providers.*") - group("Edgent API", "org.apache.edgent.execution", "org.apache.edgent.function", "org.apache.edgent.topology", "org.apache.edgent.topology.json", "org.apache.edgent.topology.mbeans", "org.apache.edgent.topology.plumbing", "org.apache.edgent.topology.services", "org.apache.edgent.execution.*") - group("Edgent Analytics", "org.apache.edgent.analytics.*") - group("Edgent Utilities", "org.apache.edgent.metrics", "org.apache.edgent.metrics.*", "org.apache.edgent.streamscope", "org.apache.edgent.streamscope.*") - group("Edgent Connectors", "org.apache.edgent.connectors.*") - group("Edgent Samples", "org.apache.edgent.samples.*") - group("Edgent Low-Level API", "org.apache.edgent.graph", "org.apache.edgent.graph.*", "org.apache.edgent.oplet", "org.apache.edgent.oplet.*", "org.apache.edgent.window") - group("Edgent SPI", "org.apache.edgent.topology.spi", "org.apache.edgent.topology.spi.*") - } - source subprojects.collect { project -> project.sourceSets.main.allJava } - exclude "**/edgent/connectors/**/runtime" - exclude "**/edgent/console" - exclude "**/edgent/samples/scenarios/iotp/range/sensor" - exclude "**/android/**" - classpath = files(filteredSubprojects.collect { it.jar.archivePath }) - - // doc-files aren't picked up automatically so get them now. - doLast { - copy { - from subprojects.collect { project -> project.sourceSets.main.java.srcDirs } - include '**/doc-files/**' - includeEmptyDirs = false - into target_javadoc_dir - } - } -} +apply from: 'jacoco.gradle' +apply from: 'javadoc.gradle' task addVersionDotTxt { description = 'Add version.txt in target_dir' http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/d5d6e155/jacoco.gradle ---------------------------------------------------------------------- diff --git a/jacoco.gradle b/jacoco.gradle new file mode 100644 index 0000000..5922489 --- /dev/null +++ b/jacoco.gradle @@ -0,0 +1,150 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +task jacocoTestReport { + description = "Generates a coverage report from all subprojects (use after 'test')" + ext.test7AdjustJacocoReport = false +} +jacocoTestReport << { + + ant.delete(dir: "${target_report_dir}/coverage") + + def libDir = new File("${target_java8_dir}", "lib") + def utilsDir = new File("${target_java8_dir}", "utils") + def connectorsDir = new File("${target_java8_dir}", "connectors") + def analyticsDir = new File("${target_java8_dir}", "analytics") + def consoleDir = new File("${target_java8_dir}", "console") + + if( !libDir.exists() ) { libDir.mkdirs() } + if( !utilsDir.exists() ) { utilsDir.mkdirs() } + if( !connectorsDir.exists() ) { connectorsDir.mkdirs() } + if( !analyticsDir.exists() ) { analyticsDir.mkdirs() } + if( !consoleDir.exists() ) { consoleDir.mkdirs() } + + FileCollection executionData = files() + + subprojects.findAll { subproject -> + subproject.pluginManager.hasPlugin('java') && subproject.pluginManager.hasPlugin('jacoco') + }.each { subproject -> + executionData += subproject.tasks.jacocoTestReport.executionData + } + + executionData = files(executionData.findAll { + it.exists() + }) + ant.taskdef(name: 'jacocoReport', classname: 'org.jacoco.ant.ReportTask', + classpath: configurations.junitLibs.asPath) + ant.jacocoReport { + executiondata { + executionData.addToAntBuilder(ant, 'resources') + } + + platformTargetDir = target_java8_dir + if (test7AdjustJacocoReport) { + platformTargetDir = target_java7_dir + } + + structure(name: project.name) { + group(name: "Edgent API") { + classfiles { + fileset(dir: "$platformTargetDir/lib", includes: "edgent.api.*.jar") + } + sourcefiles { + fileset(dir: "./api/function/src/main/java", includes: "**/*.java") + fileset(dir: "./api/execution/src/main/java", includes: "**/*.java") + fileset(dir: "./api/oplet/src/main/java", includes: "**/*.java") + fileset(dir: "./api/graph/src/main/java", includes: "**/*.java") + fileset(dir: "./api/topology/src/main/java", includes: "**/*.java") + } + } + group(name: "Edgent SPI") { + classfiles { + fileset(dir: "$platformTargetDir/lib", includes: "edgent.spi.*.jar") + } + sourcefiles { + fileset(dir: "./spi/graph/src/main/java", includes: "**/*.java") + fileset(dir: "./spi/topology/src/main/java", includes: "**/*.java") + } + } + group(name: "Edgent Runtime") { + classfiles { + fileset(dir: "$platformTargetDir/lib", includes: "edgent.runtime.*.jar") + } + sourcefiles { + fileset(dir: "./runtime/etiao/src/main/java", includes: "**/*.java") + fileset(dir: "./runtime/jmxcontrol/src/main/java", includes: "**/*.java") + } + } + group(name: "Edgent Utilities") { + classfiles { + fileset(dir: "$platformTargetDir/utils", includes: "**/edgent.utils.*.jar") + } + sourcefiles { + fileset(dir: "./utils/metrics/src/main/java", includes: "**/*.java") + fileset(dir: "./utils/streamscope/src/main/java", includes: "**/*.java") + } + } + group(name: "Edgent Connectors") { + classfiles { + fileset(dir: "$platformTargetDir/connectors", includes: "**/edgent.connectors.*.jar") + } + sourcefiles { + fileset(dir: "./connectors/common/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/command/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/csv/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/file/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/iot/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/iotp/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/jdbc/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/kafka/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/mqtt/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/http/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/wsclient/src/main/java", includes: "**/*.java") + fileset(dir: "./connectors/wsclient-javax.websocket/src/main/java", includes: "**/*.java") + } + } + group(name: "Edgent Providers") { + classfiles { + fileset(dir: "$platformTargetDir/lib", includes: "edgent.providers.*.jar") + } + sourcefiles { + fileset(dir: "./providers/direct/src/main/java", includes: "**/*.java") + fileset(dir: "./providers/development/src/main/java", includes: "**/*.java") + } + } + if (!test7AdjustJacocoReport) { + group(name: "Edgent Analytics") { + classfiles { + fileset(dir: "$platformTargetDir/analytics", includes: "**/edgent.analytics.*.jar") + } + sourcefiles { + fileset(dir: "./analytics/math3/src/main/java", includes: "**/*.java") + fileset(dir: "./analytics/sensors/src/main/java", includes: "**/*.java") + } + } + group(name: "Edgent Console") { + classfiles { + fileset(dir: "$platformTargetDir/console", includes: "**/edgent.console.*.jar") + } + sourcefiles { + fileset(dir: "./console/server/src/main/java", includes: "**/*.java") + fileset(dir: "./console/servlets/src/main/java", includes: "**/*.java") + } + } + } + } + html(destdir: "${target_report_dir}/coverage/") + xml(destfile: "${target_report_dir}/coverage/jacoco-sessions.xml") + } +} http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/d5d6e155/javadoc.gradle ---------------------------------------------------------------------- diff --git a/javadoc.gradle b/javadoc.gradle new file mode 100644 index 0000000..ee8b955 --- /dev/null +++ b/javadoc.gradle @@ -0,0 +1,54 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +task aggregateJavadoc(type: Javadoc) { + description = 'Create all javadoc into target_dir/docs/javadoc' + destinationDir file(target_javadoc_dir) + options.addStringOption('Xdoclint:none', '-quiet') + configure(options) { + author = true + version = true + use = true + docTitle "Apache Edgent (incubating) v${build_version}" + footer '<a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a>' + bottom "Copyright © 2016 The Apache Software Foundation. All Rights Reserved - ${commithash}-${DSTAMP}-${TSTAMP}" + overview "edgent_overview.html" + windowTitle "Edgent v${build_version}" + + group("Edgent Providers", "org.apache.edgent.providers.*") + group("Edgent API", "org.apache.edgent.execution", "org.apache.edgent.function", "org.apache.edgent.topology", "org.apache.edgent.topology.json", "org.apache.edgent.topology.mbeans", "org.apache.edgent.topology.plumbing", "org.apache.edgent.topology.services", "org.apache.edgent.execution.*") + group("Edgent Analytics", "org.apache.edgent.analytics.*") + group("Edgent Utilities", "org.apache.edgent.metrics", "org.apache.edgent.metrics.*", "org.apache.edgent.streamscope", "org.apache.edgent.streamscope.*") + group("Edgent Connectors", "org.apache.edgent.connectors.*") + group("Edgent Samples", "org.apache.edgent.samples.*") + group("Edgent Low-Level API", "org.apache.edgent.graph", "org.apache.edgent.graph.*", "org.apache.edgent.oplet", "org.apache.edgent.oplet.*", "org.apache.edgent.window") + group("Edgent SPI", "org.apache.edgent.topology.spi", "org.apache.edgent.topology.spi.*") + } + source subprojects.collect { project -> project.sourceSets.main.allJava } + exclude "**/edgent/connectors/**/runtime" + exclude "**/edgent/console" + exclude "**/edgent/samples/scenarios/iotp/range/sensor" + exclude "**/android/**" + classpath = files(filteredSubprojects.collect { it.jar.archivePath }) + + // doc-files aren't picked up automatically so get them now. + doLast { + copy { + from subprojects.collect { project -> project.sourceSets.main.java.srcDirs } + include '**/doc-files/**' + includeEmptyDirs = false + into target_javadoc_dir + } + } +} http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/d5d6e155/other.gradle ---------------------------------------------------------------------- diff --git a/other.gradle b/other.gradle index fb8a057..8e4c6b8 100644 --- a/other.gradle +++ b/other.gradle @@ -12,6 +12,32 @@ * limitations under the License. */ +ext.unsupportedJava7TestProjects = [ // why not on all of these? (match ant_test7.run, see JAVA_SUPPORT.md) + // projects with no tests will be automatically avoided for java7 tests + // otherwise those that are not yet supported for java7 (not in ant_test7.{setup,run}) must be added here + ':api:graph', // no runnable tests + ':analytics:math3', + ':analytics:sensors', + ':connectors:command', + ':connectors:csv', + ':connectors:file', + ':connectors:jdbc', + ':connectors:mqtt', + ':connectors:kafka', + ':connectors:serial', + ':connectors:wsclient', + ':connectors:wsclient-javax.websocket', + ':connectors:javax.websocket-client', + ':connectors:edgent.javax.websocket', + ':connectors:javax.websocket-server', + ':console:server', + ':console:servlets', + ':providers:development', + ':utils:streamscope', + ':test:fvtiot', + ':test:svt', +] + ext.projectsWithPreApacheContribs = [ ':analytics:math3', ':analytics:sensors', ':android:topology', ':android:hardware',