You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by ca...@apache.org on 2016/08/03 23:29:40 UTC

[1/4] incubator-quarks git commit: add ant.junit task - still work

Repository: incubator-quarks
Updated Branches:
  refs/heads/master c06e168fe -> 50df35804


add ant.junit task - still work


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks/commit/62b5277f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks/tree/62b5277f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks/diff/62b5277f

Branch: refs/heads/master
Commit: 62b5277f196da259aad0b5ed2746fdba044bfa5a
Parents: a7582c0
Author: Cazen Lee <ca...@apache.org>
Authored: Wed Jul 27 08:37:28 2016 +0000
Committer: Cazen Lee <ca...@apache.org>
Committed: Fri Jul 29 08:34:39 2016 +0000

----------------------------------------------------------------------
 build.gradle | 99 ++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 62 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/62b5277f/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 7a98394..89e8a84 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,54 +12,62 @@
  * limitations under the License.
  */
 /* Configure root project */
-apply plugin: 'java'
-ext.commithash = {
-  try {
-    return "git rev-parse --short HEAD".execute().text.trim()
-  } catch (Exception e) {
-    return ''
-  }
-}()
-def now = new Date()
-ext.DSTAMP = String.format('%tY%<tm%<td', now)
-ext.TSTAMP = String.format('%tH%<tM', now)
-ext.ext_classpath = ['com.google.code.gson:gson:2.2.4',
-  'org.slf4j:slf4j-api:1.7.12',
-  'io.dropwizard.metrics:metrics-core:3.1.2']
-ext.target_dir = "$distsDir"
-ext.target_java8_dir = "${ext.target_dir}/java8"
-ext.target_javadoc_dir = "${ext.target_dir}/docs/javadoc"
+allprojects {
+  apply plugin: 'idea'
+  apply plugin: 'eclipse'
+  apply plugin: "jacoco"
+  apply plugin: 'java'
 
-/* Configure subprojects */
-subprojects {
-  if (!buildFile.exists()) {
-    configurations.create('default')
-    return
-  }
   repositories {
     mavenCentral()
     maven {
       url 'https://repo.eclipse.org/content/repositories/paho-snapshots/'
     }
   }
+}
 
-  plugins.apply 'java'
-  plugins.apply 'jacoco'
+ext {
+  commithash = {
+    try {
+      return "git rev-parse --short HEAD".execute().text.trim()
+    } catch (Exception e) {
+      return ''
+    }
+  }()
+  now = new Date()
+  DSTAMP = String.format('%tY%<tm%<td', now)
+  TSTAMP = String.format('%tH%<tM', now)
+  ext_classpath = ['com.google.code.gson:gson:2.2.4',
+                   'org.slf4j:slf4j-api:1.7.12',
+                   'io.dropwizard.metrics:metrics-core:3.1.2']
+  target_dir = "$distsDir"
+  target_java8_dir = "${ext.target_dir}/java8"
+  target_javadoc_dir = "${ext.target_dir}/docs/javadoc"
+  target_report_dir = "${ext.target_dir}/reports"
+}
+/* Configure subprojects */
+subprojects {
+  if (buildFile.isFile() && !buildFile.exists()) {
+    configurations.create('default')
+    return
+  }
+
+  configurations {
+    junitLibs
+  }
 
-  if(["javax.websocket-client", "javax.websocket-server", "edgent.javax.websocket"].contains(project.name)) {
+  if (["javax.websocket-client", "javax.websocket-server", "edgent.javax.websocket"].contains(project.name)) {
     archivesBaseName = "${project.name}"
-  } else{
+  } else {
     archivesBaseName = "${rootProject.name}${project.path.replace(':', '.')}"
   }
   version = build_version
 
-  jacoco {
-    toolVersion = '0.7.5.201505241946'
-  }
-
   dependencies {
     testCompile 'junit:junit:4.10'
     testRuntime 'org.slf4j:slf4j-jdk14:1.7.12'
+    junitLibs 'org.apache.ant:ant-junit:1.9.5'
+    junitLibs 'org.apache.ant:ant-junit4:1.9.5'
   }
 
   ext.addCompileTestDependencies = { String... deps ->
@@ -75,6 +83,7 @@ subprojects {
 
   sourceCompatibility = '1.8'
   targetCompatibility = '1.8'
+
   def compileOptions = {
     options.debugOptions.debugLevel = 'source,lines,vars'
     options.verbose = logger.isDebugEnabled()
@@ -91,21 +100,37 @@ subprojects {
 
   test {
     include '**/*Test.class'
+    exclude '**/*Mqtt*'
 
     systemProperty 'edgent.test.top.dir.file.path', rootProject.projectDir
     systemProperty 'edgent.test.root.dir', rootProject.projectDir
     testLogging {
       exceptionFormat 'full'
     }
+
+    mkdir 'test-result'
+    afterSuite {
+      if (!it.parent) {
+        ant.taskdef(name: 'junitreport',
+                classname: 'org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator',
+                classpath: configurations.junitLibs.asPath)
+        ant.junitreport(todir: './test-result') {
+          fileset(dir: './test-result') {
+            include(name: '*.xml')
+          }
+          report(format: 'frames', todir: "${target_report_dir}/junit")
+        }
+      }
+    }
   }
 
   ext.jarOptions = {
     manifest {
       attributes(
-        'Implementation-Title': "${-> baseName}",
-        'Implementation-Vendor': build_vendor,
-        'Implementation-Version': "${commithash}-${DSTAMP}-${TSTAMP}",
-        // TODO Class-Path attribute
+              'Implementation-Title': "${-> baseName}",
+              'Implementation-Vendor': build_vendor,
+              'Implementation-Version': "${commithash}-${DSTAMP}-${TSTAMP}",
+              // TODO Class-Path attribute
       )
     }
     metaInf {
@@ -123,7 +148,7 @@ subprojects {
       from jar
       into "${rootProject.ext.target_java8_dir}/" + "/lib"
       rename("$jar.archiveName", "$jar.baseName.$jar.extension")
-    }else if(["samples"].contains(projectGroup)){
+    } else if (["samples"].contains(projectGroup)) {
       from jar
       into "${rootProject.ext.target_java8_dir}/" + projectGroup + "/lib"
       rename("$jar.archiveName", "$jar.baseName.$jar.extension")
@@ -135,7 +160,7 @@ subprojects {
           include '**/*.java'
         }
       }
-    }else{
+    } else {
       from jar
       into "${rootProject.ext.target_java8_dir}/" + projectGroup + "/$project.name".replaceAll(":", "/") + "/lib"
       rename("$jar.archiveName", "$jar.baseName.$jar.extension")


[3/4] incubator-quarks git commit: cleanup

Posted by ca...@apache.org.
cleanup


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks/commit/34a2cd13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks/tree/34a2cd13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks/diff/34a2cd13

Branch: refs/heads/master
Commit: 34a2cd134ba3d132eeeb80d80f3cb57fd8d19028
Parents: cc66868
Author: Cazen Lee <ca...@apache.org>
Authored: Wed Aug 3 05:41:55 2016 +0000
Committer: Cazen Lee <ca...@apache.org>
Committed: Wed Aug 3 22:53:16 2016 +0900

----------------------------------------------------------------------
 build.gradle | 59 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 49 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/34a2cd13/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index e409202..fb3dbc1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -100,7 +100,6 @@ subprojects {
       dependsOn ":console:servlets"
     }
     include '**/*Test.class'
-    exclude '**/*Mqtt*'
 
     systemProperty 'edgent.test.top.dir.file.path', rootProject.projectDir
     systemProperty 'edgent.test.root.dir', rootProject.projectDir
@@ -136,6 +135,7 @@ subprojects {
 
   task copyJar(type: Copy) {
     def projectGroup = "$project.group".replace("edgent.", "")
+
     if (["api", "providers", "runtime", "spi"].contains(projectGroup)) {
       from jar
       into "${rootProject.ext.target_java8_dir}/" + "/lib"
@@ -198,10 +198,21 @@ task createJunitReport << {
 }
 build.finalizedBy createJunitReport
 
-task jacocoTestReport {
+task jacocoTestReport << {
+
   description = 'Generates a coverage report from all subprojects'
 
-  dependsOn(subprojects*.test, subprojects*.jar)
+  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()
 
@@ -224,7 +235,7 @@ task jacocoTestReport {
     structure(name: project.name) {
       group(name: "Edgent API") {
         classfiles {
-          fileset(dir: "${target_java8_dir}", includes: "edgent.api.*.jar")
+          fileset(dir: "${target_java8_dir}/lib", includes: "edgent.api.*.jar")
         }
         sourcefiles {
           fileset(dir: "./api/function/src/main/java", includes: "**/*.java")
@@ -236,7 +247,7 @@ task jacocoTestReport {
       }
       group(name: "Edgent SPI") {
         classfiles {
-          fileset(dir: "${target_java8_dir}", includes: "edgent.spi.*.jar")
+          fileset(dir: "${target_java8_dir}/lib", includes: "edgent.spi.*.jar")
         }
         sourcefiles {
           fileset(dir: "./spi/graph/src/main/java", includes: "**/*.java")
@@ -245,7 +256,7 @@ task jacocoTestReport {
       }
       group(name: "Edgent Runtime") {
         classfiles {
-          fileset(dir: "${target_java8_dir}", includes: "edgent.runtime.*.jar")
+          fileset(dir: "${target_java8_dir}/lib", includes: "edgent.runtime.*.jar")
         }
         sourcefiles {
           fileset(dir: "./runtime/etiao/src/main/java", includes: "**/*.java")
@@ -254,16 +265,16 @@ task jacocoTestReport {
       }
       group(name: "Edgent Utilities") {
         classfiles {
-          fileset(dir: "${target_java8_dir}", includes: "edgent.utils.*.jar")
+          fileset(dir: "${target_java8_dir}/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 Utilities") {
+      group(name: "Edgent Connectors") {
         classfiles {
-          fileset(dir: "${target_java8_dir}", includes: "edgent.connectors.*.jar")
+          fileset(dir: "${target_java8_dir}/connectors", includes: "**/edgent.connectors.*.jar")
         }
         sourcefiles {
           fileset(dir: "./connectors/common/src/main/java", includes: "**/*.java")
@@ -280,12 +291,40 @@ task jacocoTestReport {
           fileset(dir: "./connectors/wsclient-javax.websocket/src/main/java", includes: "**/*.java")
         }
       }
+      group(name: "Edgent Providers") {
+        classfiles {
+          fileset(dir: "${target_java8_dir}/lib", includes: "edgent.providers.*.jar")
+        }
+        sourcefiles {
+          fileset(dir: "./providers/direct/src/main/java", includes: "**/*.java")
+          fileset(dir: "./providers/development/src/main/java", includes: "**/*.java")
+        }
+      }
+      group(name: "Edgent Analytics") {
+        classfiles {
+          fileset(dir: "${target_java8_dir}/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: "${target_java8_dir}/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")
   }
 }
 build.finalizedBy jacocoTestReport
+jacocoTestReport.dependsOn subprojects*.test, subprojects*.copyJar
 
 //Create JavaDoc
 task aggregateJavadoc(type: Javadoc) {
@@ -322,4 +361,4 @@ build.finalizedBy aggregateJavadoc
 
 task wrapper(type: Wrapper) {
   jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
-}
+}
\ No newline at end of file


[4/4] incubator-quarks git commit: Merge branch 'pr-175' This closes #175

Posted by ca...@apache.org.
Merge branch 'pr-175'
This closes #175


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks/commit/50df3580
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks/tree/50df3580
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks/diff/50df3580

Branch: refs/heads/master
Commit: 50df35804f51f1e0273a12189fa882ffa3adc26c
Parents: c06e168 34a2cd1
Author: Cazen Lee <ca...@apache.org>
Authored: Wed Aug 3 23:29:19 2016 +0000
Committer: Cazen Lee <ca...@apache.org>
Committed: Wed Aug 3 23:29:19 2016 +0000

----------------------------------------------------------------------
 build.gradle             | 254 +++++++++++++++++++++++++++++++++++-------
 test/fvtiot/build.gradle |   2 +-
 2 files changed, 215 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/50df3580/build.gradle
----------------------------------------------------------------------
diff --cc build.gradle
index 1bf63ff,fb3dbc1..65aba44
--- a/build.gradle
+++ b/build.gradle
@@@ -181,24 -356,8 +356,23 @@@ task aggregateJavadoc(type: Javadoc) 
    classpath = files(subprojects.collect
            { project -> project.sourceSets.main.compileClasspath }
    )
 +  // Eliminate implementation packages/classes from the javadoc.
 +  // TODO achieve the effect w/o causing warnings from the javadoc run
 +  exclude "**/edgent/connectors/**/runtime"
 +  exclude "**/edgent/console"
 +  exclude "**/edgent/samples/scenarios/iotp/range/sensor"
 +  
 +  // 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 "$rootProject.ext.target_javadoc_dir"
 +    }
 +  }
  }
- 
- build.dependsOn aggregateJavadoc
+ build.finalizedBy aggregateJavadoc
  
  task wrapper(type: Wrapper) {
    jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')


[2/4] incubator-quarks git commit: Add junit and coverage report

Posted by ca...@apache.org.
Add junit and coverage report


Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks/commit/cc668689
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks/tree/cc668689
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks/diff/cc668689

Branch: refs/heads/master
Commit: cc668689164683086fbdd7a904a51191d2f0c118
Parents: 62b5277
Author: Cazen Lee <ca...@apache.org>
Authored: Fri Jul 29 08:35:24 2016 +0000
Committer: Cazen Lee <ca...@apache.org>
Committed: Tue Aug 2 00:29:44 2016 +0000

----------------------------------------------------------------------
 build.gradle             | 156 +++++++++++++++++++++++++++++++++++-------
 test/fvtiot/build.gradle |   2 +-
 2 files changed, 134 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/cc668689/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 89e8a84..e409202 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,6 @@
 allprojects {
   apply plugin: 'idea'
   apply plugin: 'eclipse'
-  apply plugin: "jacoco"
   apply plugin: 'java'
 
   repositories {
@@ -45,17 +44,17 @@ ext {
   target_javadoc_dir = "${ext.target_dir}/docs/javadoc"
   target_report_dir = "${ext.target_dir}/reports"
 }
+
 /* Configure subprojects */
 subprojects {
+
+  apply plugin: "jacoco"
+
   if (buildFile.isFile() && !buildFile.exists()) {
     configurations.create('default')
     return
   }
 
-  configurations {
-    junitLibs
-  }
-
   if (["javax.websocket-client", "javax.websocket-server", "edgent.javax.websocket"].contains(project.name)) {
     archivesBaseName = "${project.name}"
   } else {
@@ -66,8 +65,6 @@ subprojects {
   dependencies {
     testCompile 'junit:junit:4.10'
     testRuntime 'org.slf4j:slf4j-jdk14:1.7.12'
-    junitLibs 'org.apache.ant:ant-junit:1.9.5'
-    junitLibs 'org.apache.ant:ant-junit4:1.9.5'
   }
 
   ext.addCompileTestDependencies = { String... deps ->
@@ -99,6 +96,9 @@ subprojects {
   }
 
   test {
+    if(it.path == ":test:fvtiot" ||  it.path == ":providers:development") {
+      dependsOn ":console:servlets"
+    }
     include '**/*Test.class'
     exclude '**/*Mqtt*'
 
@@ -107,20 +107,9 @@ subprojects {
     testLogging {
       exceptionFormat 'full'
     }
-
-    mkdir 'test-result'
-    afterSuite {
-      if (!it.parent) {
-        ant.taskdef(name: 'junitreport',
-                classname: 'org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator',
-                classpath: configurations.junitLibs.asPath)
-        ant.junitreport(todir: './test-result') {
-          fileset(dir: './test-result') {
-            include(name: '*.xml')
-          }
-          report(format: 'frames', todir: "${target_report_dir}/junit")
-        }
-      }
+    reports {
+      junitXml.enabled = true
+      html.enabled = true
     }
   }
 
@@ -139,6 +128,9 @@ subprojects {
     }
   }
   jar {
+    if(it.path == ":test:fvtiot" ||  it.path == ":providers:development") {
+      dependsOn ":console:servlets"
+    }
     configure jarOptions
   }
 
@@ -180,7 +172,126 @@ task copyScript {
   }
 }
 
+//Create Junit Report
+configurations {
+  junitLibs
+}
+dependencies {
+  junitLibs 'org.apache.ant:ant-junit:1.9.5'
+  junitLibs 'org.apache.ant:ant-junit4:1.9.5'
+  junitLibs 'org.jacoco:org.jacoco.ant:0.7.5.201505241946'
+}
+
+task createJunitReport << {
+  description = 'Generates a Junit report from all subprojects'
+
+  ant.taskdef(name: 'junitreport',
+          classname: 'org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator',
+          classpath: configurations.junitLibs.asPath)
+  ant.junitreport(todir: './') {
+    fileset(dir: './') {
+      include(name: '**/test-results/TEST-*.xml')
+    }
+    report(format: 'frames', todir: "${target_report_dir}/junit")
+  }
+  ant.move(file: "TESTS-TestSuites.xml", tofile: "${target_report_dir}/TESTS-TestSuites.xml")
+}
+build.finalizedBy createJunitReport
+
+task jacocoTestReport {
+  description = 'Generates a coverage report from all subprojects'
+
+  dependsOn(subprojects*.test, subprojects*.jar)
+
+  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')
+    }
+
+    structure(name: project.name) {
+      group(name: "Edgent API") {
+        classfiles {
+          fileset(dir: "${target_java8_dir}", 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: "${target_java8_dir}", 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: "${target_java8_dir}", 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: "${target_java8_dir}", 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 Utilities") {
+        classfiles {
+          fileset(dir: "${target_java8_dir}", 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")
+        }
+      }
+    }
+    html(destdir: "${target_report_dir}/coverage/")
+    xml(destfile: "${target_report_dir}/coverage/jacoco-sessions.xml")
+  }
+}
+build.finalizedBy jacocoTestReport
+
+//Create JavaDoc
 task aggregateJavadoc(type: Javadoc) {
+  description = 'Generates a Javadoc from all subprojects'
+
+  dependsOn(subprojects*.test, subprojects*.jar)
   destinationDir file("$rootProject.ext.target_javadoc_dir")
   options.addStringOption('Xdoclint:none', '-quiet')
   configure(options) {
@@ -207,8 +318,7 @@ task aggregateJavadoc(type: Javadoc) {
           { project -> project.sourceSets.main.compileClasspath }
   )
 }
-
-build.dependsOn aggregateJavadoc
+build.finalizedBy aggregateJavadoc
 
 task wrapper(type: Wrapper) {
   jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')

http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/cc668689/test/fvtiot/build.gradle
----------------------------------------------------------------------
diff --git a/test/fvtiot/build.gradle b/test/fvtiot/build.gradle
index 68a5682..262552c 100644
--- a/test/fvtiot/build.gradle
+++ b/test/fvtiot/build.gradle
@@ -18,4 +18,4 @@ dependencies {
   compile ext_classpath
 }
 
-addCompileTestDependencies ':apps:iot'
+addCompileTestDependencies ':apps:iot'
\ No newline at end of file