Merge branch 'master' of https://github.com/apache/incubator-edgent
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/5477795e Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/5477795e Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/5477795e Branch: refs/heads/master Commit: 5477795e0807554895d6b0f1401b982edfd236bf Parents: 6606e62 fa16203 Author: Yaoliang Chen <[email protected]> Authored: Thu Aug 18 22:24:44 2016 +0800 Committer: Yaoliang Chen <[email protected]> Committed: Thu Aug 18 22:24:44 2016 +0800 ---------------------------------------------------------------------- DEVELOPMENT.md | 36 ++++++++ build.gradle | 247 +++++++++++++++++++++++++++++++++++++++++---------- settings.gradle | 4 + 3 files changed, 242 insertions(+), 45 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/5477795e/build.gradle ---------------------------------------------------------------------- diff --cc build.gradle index dc2f973,eefae3c..0258f68 --- a/build.gradle +++ b/build.gradle @@@ -25,22 -27,10 +27,25 @@@ allprojects } } + apply plugin: 'java' + +/* SET PROJECT INFO for all artifacts */ +assert hasProperty('version') // See version in gradle.properties. +System.out.println("version=${version}") +group = 'org.apache.edgent' + +def getDate() { + if (!hasProperty('buildDate') || buildDate == null) { + ext.buildDate = new java.util.Date().format('yyyyMMddHHmm'); + } + return ext.buildDate; +} + +getDate(); + + ext { + commithash_error = '' commithash = { try { return "git rev-parse --short HEAD".execute().text.trim() @@@ -62,10 -67,15 +82,17 @@@ /* Configure subprojects */ subprojects { + + // ignore aggregator only projects so we don't assemble empty jars, etc for them. + if (aggregatorOnlyProjects.contains(project.path)) { + return + } + + apply plugin: 'maven-publish' + apply plugin: 'java' apply plugin: "jacoco" - + ext.artifact = project.name + if (buildFile.isFile() && !buildFile.exists()) { configurations.create('default') return @@@ -149,14 -165,8 +182,15 @@@ configure jarOptions } + task sourceJar(type: Jar) { + // baseName-appendix-version-classifier.extension + from sourceSets.main.allJava + classifier = 'sources' + } + + task copyJar(type: Copy) { + description = "Copy subproject's assembled artifacts to target_dir (implicitly builds jars due to 'from jar')" def projectGroup = "$project.group".replace("edgent.", "") if (["api", "providers", "runtime", "spi"].contains(projectGroup)) { @@@ -169,44 -182,40 +206,54 @@@ rename("$jar.archiveName", "$jar.baseName.$jar.extension") //Copy Sample SRC to dist - copy { - into "${rootProject.ext.target_java8_dir}/" + projectGroup + "/src/$project.name/src/main/java/" - from(sourceSets.main.allSource.srcDirs) { - include '**/*.java' + doLast { + copy { + from(sourceSets.main.allSource.srcDirs) { include '**/*.java' } + into "${rootProject.ext.target_java8_dir}/$projectGroup/src/$project.name/src/main/java/" } } - } else { + } + else { + // println "copyJar(cfg) other $project.group $projectGroup $project.name $jar.archiveName" from jar - into "${rootProject.ext.target_java8_dir}/" + projectGroup + "/$project.name".replaceAll(":", "/") + "/lib" + into "${rootProject.ext.target_java8_dir}/$projectGroup/$project.name/lib" rename("$jar.archiveName", "$jar.baseName.$jar.extension") + + // Copy console.war (should be more general but this works for now) + if (projectGroup == 'console' && project.name == 'servlets') { + doLast { + copy { + from war + into "${rootProject.ext.target_java8_dir}/$projectGroup/webapps" + } + } + } } } + + publishing { + publications { + mavenJava(MavenPublication) { + from components.java + artifactId = artifact + artifact sourceJar + //artifact javadocJar + //artifact testJar + pom.withXml { + } + } + } + } - - copyJar.dependsOn assemble - build.dependsOn copyJar + + // assemble: inject updating target_dir + assemble.finalizedBy copyJar } - task copyScript { - copy { - includeEmptyDirs = false - from "scripts/" - into "${rootProject.ext.target_java8_dir}/scripts/" - include "**/*" - } + task copyScripts(type: Copy) { + description = 'Copy scripts to target_java8_dir' + includeEmptyDirs = false + from("scripts/") { include "**/*" } + into "${rootProject.ext.target_java8_dir}/scripts/" } //Create Junit Report
