You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dl...@apache.org on 2016/12/01 17:24:27 UTC
[1/3] incubator-edgent git commit: remove gradle wrapper jar from the
source bundle per policy
Repository: incubator-edgent
Updated Branches:
refs/heads/release1.0.0 94cb41693 -> c5111e5e3
remove gradle wrapper jar from the source bundle per policy
add a build bootstrap step for source bundles
retain the wrapper in the repo for travis-ci use
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/e83df78e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/e83df78e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/e83df78e
Branch: refs/heads/release1.0.0
Commit: e83df78e844e1c3638922dd520ba03fec7ac8956
Parents: 94cb416
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Wed Nov 30 17:21:25 2016 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Wed Nov 30 17:21:25 2016 -0500
----------------------------------------------------------------------
DEVELOPMENT.md | 10 +++++++++-
README | 7 +++++++
build.gradle | 7 ++++++-
wrapper.gradle | 38 ++++++++++++++++++++++++++++++++++++++
4 files changed, 60 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/e83df78e/DEVELOPMENT.md
----------------------------------------------------------------------
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index 61168ef..263a91e 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -35,12 +35,19 @@ Once you have forked the repository and created your local clone you need to dow
these additional development software tools.
* Java 8 - The development setup assumes Java 8 and Linux.
+* gradle - (https://gradle.org/) only if building from a source release bundle
All Edgent runtime development is done using Java 8. JARs for Java 7 and Android
platforms are created as described below.
### Building a Binary Release Bundle
+Building from a source release bundle (lacking a `./gradlew`) requires
+performing a one-time bootstrap step using an installed version of gradle:
+``` sh
+$ gradle # one time gradle build bootstrap setup.
+```
+
Building an Edgent binary release bundle:
``` sh
$ ./gradlew release
@@ -73,7 +80,8 @@ The Gradle tooling:
The top-level Gradle file is `edgent/build.gradle` and it contains several
unique tasks:
-* `assemble` (default) : Build all code and Javadoc into `build\distributions`. The build will fail on any code error or Javadoc warning or error.
+* `downloadWrapper` (default) : one-time bootstrap processing for use when building from a source release bundle
+* `assemble` : Build all code and Javadoc into `build\distributions`. The build will fail on any code error or Javadoc warning or error.
* `all` : Synonym for `assemble`
* `build` : Essentially like "assemble test reports"
* `clean` : Clean the project
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/e83df78e/README
----------------------------------------------------------------------
diff --git a/README b/README
index 8c3717f..59e10a6 100644
--- a/README
+++ b/README
@@ -17,8 +17,15 @@ or in the repository mirror at github https://github.com/apache/incubator-edgent
Pre-requisites:
- Java 8 is required to build an Edgent binary distribution
+- gradle (https://gradle.org/) only if building from a source release bundle
+
+Building from a source release bundle (lacking a ./gradlew) requires
+performing a one-time bootstrap step using an installed version of gradle:
+
+$ gradle # one time gradle build bootstrap setup.
Build an Edgent binary distribution:
+
$ ./gradlew release # .\gradlew.bat on Windows
The build reports the location of the binary distribution bundle that can then
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/e83df78e/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 84305bc..4090017 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,7 +17,11 @@ specific language governing permissions and limitations
under the License.
*/
-defaultTasks 'assemble'
+ext {
+ gradleVersion = "3.1"
+ gradleDistributionSha256Sum = "c7de3442432253525902f7e8d7eac8b5fd6ce1623f96d76916af6d0e383010fc"
+}
+apply from: 'wrapper.gradle'
apply from: 'other.gradle'
@@ -745,6 +749,7 @@ task srcReleaseTarGz(type: Tar) {
from '.'
exclude 'KEYS'
exclude '.git', '.gradle', '.settings'
+ exclude '.gradle-wrapper', 'gradlew', 'gradlew.bat'
exclude '**/build/' // gradle generated artifacts
exclude '**/externalJars/' // gradle generated artifacts for eclipse
exclude '**/bin/' // eclipse generated artifacts
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/e83df78e/wrapper.gradle
----------------------------------------------------------------------
diff --git a/wrapper.gradle b/wrapper.gradle
new file mode 100644
index 0000000..fbc49d7
--- /dev/null
+++ b/wrapper.gradle
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+defaultTasks 'downloadWrapper'
+
+task downloadWrapper(type: Wrapper) {
+ description = "Download the gradle wrapper and requisite files. Overwrites existing wrapper files."
+ jarFile = "${project.projectDir}/.gradle-wrapper/gradle-wrapper.jar"
+
+ gradleVersion = project.gradleVersion
+ // ugh... must manually set in generated gradle-wrapper.properties
+ // distributionSha256Sum = project.gradleDistributionSha256Sum
+
+ doLast {
+ File wrapperProps = file(propertiesFile)
+ wrapperProps.append("distributionSha256Sum=${project.gradleDistributionSha256Sum}\n");
+ }
+ doLast {
+ println "The gradle wrapper is now initialized." +
+ "\nUse ./gradlew for subsequent build operations."
+ }
+}
\ No newline at end of file
[2/3] incubator-edgent git commit: add trailing nl
Posted by dl...@apache.org.
add trailing nl
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/47297fcb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/47297fcb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/47297fcb
Branch: refs/heads/release1.0.0
Commit: 47297fcbd7ff913e8a921c4d7836847c9e6bfadc
Parents: e83df78
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Wed Nov 30 17:29:39 2016 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Wed Nov 30 17:29:39 2016 -0500
----------------------------------------------------------------------
wrapper.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/47297fcb/wrapper.gradle
----------------------------------------------------------------------
diff --git a/wrapper.gradle b/wrapper.gradle
index fbc49d7..32fba02 100644
--- a/wrapper.gradle
+++ b/wrapper.gradle
@@ -35,4 +35,4 @@ task downloadWrapper(type: Wrapper) {
println "The gradle wrapper is now initialized." +
"\nUse ./gradlew for subsequent build operations."
}
-}
\ No newline at end of file
+}
[3/3] incubator-edgent git commit: tidy up some gradle things
Posted by dl...@apache.org.
tidy up some gradle things
add gradle version check
remove old wrapper task
rename 'downloadWrapper' (misnomer) to classic 'wrapper' task name
move some buildscripts to new gradle folder
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/c5111e5e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/c5111e5e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/c5111e5e
Branch: refs/heads/release1.0.0
Commit: c5111e5e382ab755a5dfede59e9ddd2b439cb815
Parents: 47297fc
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Dec 1 09:46:44 2016 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Dec 1 09:46:44 2016 -0500
----------------------------------------------------------------------
DEVELOPMENT.md | 2 +-
build.gradle | 17 ++---
gradle.properties | 7 ++
gradle/jacoco.gradle | 155 +++++++++++++++++++++++++++++++++++++++++++++
gradle/javadoc.gradle | 59 +++++++++++++++++
gradle/other.gradle | 65 +++++++++++++++++++
gradle/wrapper.gradle | 51 +++++++++++++++
jacoco.gradle | 155 ---------------------------------------------
javadoc.gradle | 59 -----------------
other.gradle | 65 -------------------
wrapper.gradle | 38 -----------
11 files changed, 342 insertions(+), 331 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/DEVELOPMENT.md
----------------------------------------------------------------------
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index 263a91e..00be84b 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -80,7 +80,7 @@ The Gradle tooling:
The top-level Gradle file is `edgent/build.gradle` and it contains several
unique tasks:
-* `downloadWrapper` (default) : one-time bootstrap processing for use when building from a source release bundle
+* `wrapper` (default) : one-time bootstrap processing for use when building from a source release bundle
* `assemble` : Build all code and Javadoc into `build\distributions`. The build will fail on any code error or Javadoc warning or error.
* `all` : Synonym for `assemble`
* `build` : Essentially like "assemble test reports"
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 4090017..dfa253b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,13 +17,8 @@ specific language governing permissions and limitations
under the License.
*/
-ext {
- gradleVersion = "3.1"
- gradleDistributionSha256Sum = "c7de3442432253525902f7e8d7eac8b5fd6ce1623f96d76916af6d0e383010fc"
-}
-apply from: 'wrapper.gradle'
-
-apply from: 'other.gradle'
+apply from: 'gradle/wrapper.gradle'
+apply from: 'gradle/other.gradle'
import org.gradle.plugins.signing.Sign
import java.io.Console
@@ -686,8 +681,8 @@ task createJunitReport << {
ant.move(file: "TESTS-TestSuites.xml", tofile: "${target_report_dir}/TESTS-TestSuites.xml")
}
-apply from: 'jacoco.gradle'
-apply from: 'javadoc.gradle'
+apply from: 'gradle/jacoco.gradle'
+apply from: 'gradle/javadoc.gradle'
task addVersionDotTxt {
description = 'Add version.txt in target_dir'
@@ -873,7 +868,3 @@ task setupExternalJars {
description = 'Add all of the dependant external jars to the target-dir (make available to Eclipse, etc)'
dependsOn setupCommonExtJars, filteredSubprojects.setupProjectExtJars
}
-
-task wrapper(type: Wrapper) {
- jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
-}
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/gradle.properties
----------------------------------------------------------------------
diff --git a/gradle.properties b/gradle.properties
index 004d9d8..291599b 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -14,7 +14,14 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+
build_group: org.apache.edgent
build_name: edgent
build_version: 1.0.0
build_vendor: Apache Software Foundation
+
+# Minimum required gradle version and version for the wrapper to use.
+# Comment out gradleDistributionSha256Sum to disable validation of
+# a wrapper downloaded gradle distribution.
+gradleVersion = 3.1
+gradleDistributionSha256Sum = c7de3442432253525902f7e8d7eac8b5fd6ce1623f96d76916af6d0e383010fc
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/gradle/jacoco.gradle
----------------------------------------------------------------------
diff --git a/gradle/jacoco.gradle b/gradle/jacoco.gradle
new file mode 100644
index 0000000..bcdb738
--- /dev/null
+++ b/gradle/jacoco.gradle
@@ -0,0 +1,155 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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/c5111e5e/gradle/javadoc.gradle
----------------------------------------------------------------------
diff --git a/gradle/javadoc.gradle b/gradle/javadoc.gradle
new file mode 100644
index 0000000..85bfff3
--- /dev/null
+++ b/gradle/javadoc.gradle
@@ -0,0 +1,59 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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 © ${COPYRIGHT_YEAR} 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/c5111e5e/gradle/other.gradle
----------------------------------------------------------------------
diff --git a/gradle/other.gradle b/gradle/other.gradle
new file mode 100644
index 0000000..944bacf
--- /dev/null
+++ b/gradle/other.gradle
@@ -0,0 +1,65 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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.
+*/
+
+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',
+ ':api:function', ':api:execution', ':api:window', ':api:oplet',
+ ':api:graph', ':api:topology',
+ ':connectors:common', ':connectors:iot', ':connectors:serial',
+ ':connectors:file', ':connectors:http', ':connectors:iotp',
+ ':connectors:jdbc', ':connectors:kafka', ':connectors:mqtt',
+ ':connectors:edgent.javax.websocket',
+ ':connectors:javax.websocket-client', ':connectors:javax.websocket-server',
+ ':connectors:wsclient', ':connectors:wsclient-javax.websocket',
+ ':console:server', ':console:servlets',
+ ':providers:direct', ':providers:development',
+ ':runtime:etiao', ':runtime:jmxcontrol', ':runtime:jsoncontrol',
+ ':samples:utils', ':samples:apps', ':samples:topology', ':samples:connectors',
+ ':samples:console',
+ ':spi:graph', ':spi:topology',
+ ':test:svt',
+ ':utils:metrics',
+]
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/gradle/wrapper.gradle
----------------------------------------------------------------------
diff --git a/gradle/wrapper.gradle b/gradle/wrapper.gradle
new file mode 100644
index 0000000..557a8f8
--- /dev/null
+++ b/gradle/wrapper.gradle
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+defaultTasks 'wrapper'
+
+task wrapper(type: Wrapper) {
+ description = "Initialize the gradle wrapper. Overwrites existing wrapper files."
+ jarFile = "${project.projectDir}/.gradle-wrapper/gradle-wrapper.jar"
+
+ gradleVersion = project.gradleVersion
+ // ugh... must manually set in generated gradle-wrapper.properties
+ // distributionSha256Sum = project.gradleDistributionSha256Sum
+
+ doLast {
+ if (project.hasProperty("gradleDistributionSha256Sum")) {
+ File wrapperProps = file(propertiesFile)
+ wrapperProps.append("distributionSha256Sum=${project.gradleDistributionSha256Sum}\n");
+ }
+ }
+ doLast {
+ println "The gradle wrapper is now initialized." +
+ "\nUse ./gradlew for subsequent build operations."
+ }
+}
+
+gradle.taskGraph.whenReady {taskGraph ->
+ if (!taskGraph.hasTask(wrapper)) {
+ if (GradleVersion.current() < GradleVersion.version(gradleVersion)) {
+ throw new GradleException('Running with unsupported Gradle Version (' + GradleVersion.current() + ').' +
+ '\nUse Gradle Wrapper or with Gradle version >= ' + gradleVersion +
+ '\nRun \'gradle\' (default task) to initialize the wrapper.')
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/jacoco.gradle
----------------------------------------------------------------------
diff --git a/jacoco.gradle b/jacoco.gradle
deleted file mode 100644
index bcdb738..0000000
--- a/jacoco.gradle
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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/c5111e5e/javadoc.gradle
----------------------------------------------------------------------
diff --git a/javadoc.gradle b/javadoc.gradle
deleted file mode 100644
index 85bfff3..0000000
--- a/javadoc.gradle
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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 © ${COPYRIGHT_YEAR} 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/c5111e5e/other.gradle
----------------------------------------------------------------------
diff --git a/other.gradle b/other.gradle
deleted file mode 100644
index 944bacf..0000000
--- a/other.gradle
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
-*/
-
-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',
- ':api:function', ':api:execution', ':api:window', ':api:oplet',
- ':api:graph', ':api:topology',
- ':connectors:common', ':connectors:iot', ':connectors:serial',
- ':connectors:file', ':connectors:http', ':connectors:iotp',
- ':connectors:jdbc', ':connectors:kafka', ':connectors:mqtt',
- ':connectors:edgent.javax.websocket',
- ':connectors:javax.websocket-client', ':connectors:javax.websocket-server',
- ':connectors:wsclient', ':connectors:wsclient-javax.websocket',
- ':console:server', ':console:servlets',
- ':providers:direct', ':providers:development',
- ':runtime:etiao', ':runtime:jmxcontrol', ':runtime:jsoncontrol',
- ':samples:utils', ':samples:apps', ':samples:topology', ':samples:connectors',
- ':samples:console',
- ':spi:graph', ':spi:topology',
- ':test:svt',
- ':utils:metrics',
-]
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/c5111e5e/wrapper.gradle
----------------------------------------------------------------------
diff --git a/wrapper.gradle b/wrapper.gradle
deleted file mode 100644
index 32fba02..0000000
--- a/wrapper.gradle
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-
-defaultTasks 'downloadWrapper'
-
-task downloadWrapper(type: Wrapper) {
- description = "Download the gradle wrapper and requisite files. Overwrites existing wrapper files."
- jarFile = "${project.projectDir}/.gradle-wrapper/gradle-wrapper.jar"
-
- gradleVersion = project.gradleVersion
- // ugh... must manually set in generated gradle-wrapper.properties
- // distributionSha256Sum = project.gradleDistributionSha256Sum
-
- doLast {
- File wrapperProps = file(propertiesFile)
- wrapperProps.append("distributionSha256Sum=${project.gradleDistributionSha256Sum}\n");
- }
- doLast {
- println "The gradle wrapper is now initialized." +
- "\nUse ./gradlew for subsequent build operations."
- }
-}