Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3794E200C41 for ; Thu, 16 Feb 2017 20:23:51 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 365D0160B61; Thu, 16 Feb 2017 19:23:51 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id EB925160B77 for ; Thu, 16 Feb 2017 20:23:49 +0100 (CET) Received: (qmail 41966 invoked by uid 500); 16 Feb 2017 19:23:49 -0000 Mailing-List: contact commits-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list commits@geode.apache.org Received: (qmail 41652 invoked by uid 99); 16 Feb 2017 19:23:49 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Feb 2017 19:23:49 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D8230E0FBF; Thu, 16 Feb 2017 19:23:48 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hiteshkhamesra@apache.org To: commits@geode.apache.org Date: Thu, 16 Feb 2017 19:23:58 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [11/15] geode git commit: GEODE-2434: Generate old version classpaths in doLast archived-at: Thu, 16 Feb 2017 19:23:51 -0000 GEODE-2434: Generate old version classpaths in doLast The geode-old-versions/build.gradle was generating the classpath properties file during the build configuration phase, rather than the execution phase. Also converting the file to an actual properties file so that it will handle special characters properly. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/889d1704 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/889d1704 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/889d1704 Branch: refs/heads/develop Commit: 889d17041a26536dcc99b9f2bd0207c9c2695340 Parents: c8d10ec Author: Dan Smith Authored: Mon Feb 6 15:00:48 2017 -0800 Committer: Dan Smith Committed: Tue Feb 7 13:49:33 2017 -0800 ---------------------------------------------------------------------- .../test/dunit/standalone/VersionManager.java | 40 +++++++------- geode-old-versions/build.gradle | 57 +++++++++----------- 2 files changed, 43 insertions(+), 54 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/889d1704/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/VersionManager.java ---------------------------------------------------------------------- diff --git a/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/VersionManager.java b/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/VersionManager.java index 51c0646..a993a3b 100755 --- a/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/VersionManager.java +++ b/geode-core/src/test/java/org/apache/geode/test/dunit/standalone/VersionManager.java @@ -19,13 +19,17 @@ import org.apache.geode.test.dunit.VM; import java.io.BufferedReader; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; /** * VersionManager loads the class-paths for all of the releases of Geode configured for @@ -106,17 +110,19 @@ public class VersionManager { private void findVersions() { // this file is created by the gradle task createClasspathsPropertiesFile - File propFile = new File("../../../geode-old-versions/build/geodeOldVersionClasspaths.txt"); + File propFile = new File( + "../../../geode-old-versions/build/generated-resources/main/geodeOldVersionClasspaths.txt"); if (!propFile.exists()) { // running under an IDE - propFile = new File("../geode-old-versions/build/geodeOldVersionClasspaths.txt"); + propFile = new File( + "../geode-old-versions/build/generated-resources/main/geodeOldVersionClasspaths.txt"); } String oldver = "ZZZ"; if (propFile.exists()) { System.out.println("found geodeOldVersionClasspaths.txt - loading properties"); - Map dunitProperties = loadProperties(propFile); - for (Map.Entry entry : dunitProperties.entrySet()) { - String version = entry.getKey(); + Properties dunitProperties = loadProperties(propFile); + for (Map.Entry entry : dunitProperties.entrySet()) { + String version = (String) entry.getKey(); if (version.startsWith("test") && version.length() >= "test".length()) { if (version.equals("test")) { version = CURRENT_VERSION; @@ -126,7 +132,7 @@ public class VersionManager { oldver = version; } } - classPaths.put(version, entry.getValue()); + classPaths.put(version, (String) entry.getValue()); testVersions.add(version); } } @@ -147,23 +153,15 @@ public class VersionManager { * Properties.load() because that method interprets back-slashes as escape characters, causing * class-paths on Windows machines to be garbled. */ - private Map loadProperties(File propFile) { - Map dunitProperties = new HashMap<>(); - try { - String propertyLine; - FileReader reader = new FileReader(propFile); - BufferedReader breader = new BufferedReader(reader); - while ((propertyLine = breader.readLine()) != null) { - propertyLine = propertyLine.trim(); - if (propertyLine.length() != 0 || !propertyLine.startsWith("#")) { - String[] split = propertyLine.split("="); - dunitProperties.put(split[0], split[1]); - } - } + private Properties loadProperties(File propFile) { + Properties props = new Properties(); + try (FileReader reader = new FileReader(propFile)) { + props.load(reader); } catch (IOException e) { - e.printStackTrace(); + throw new RuntimeException(e); } - return dunitProperties; + + return props; } http://git-wip-us.apache.org/repos/asf/geode/blob/889d1704/geode-old-versions/build.gradle ---------------------------------------------------------------------- diff --git a/geode-old-versions/build.gradle b/geode-old-versions/build.gradle index a09b2d7..9aff3d2 100644 --- a/geode-old-versions/build.gradle +++ b/geode-old-versions/build.gradle @@ -18,7 +18,7 @@ disableMavenPublishing() -def addTestSource(def source, def geodeVersion, def includeEclipse) { +def addTestSource(def source, def geodeVersion) { // def sourceSet = sourceSets.create(source, { compileClasspath += configurations.provided @@ -33,45 +33,36 @@ def addTestSource(def source, def geodeVersion, def includeEclipse) { dependencies.add "${source}Compile", "org.apache.geode:geode-cq:$geodeVersion" dependencies.add "${source}Compile", "org.apache.geode:geode-rebalancer:$geodeVersion" - dependencies.add "${source}Compile", sourceSets.test.output +} + +// Add sourceSets for backwards compatibility, rolling upgrade, and +// pdx testing. +addTestSource('test100', '1.0.0-incubating') +//addTestSource('test110', '1.1.0') -// dependencies.add "${source}Compile", configurations.testCompile -// dependencies.add "${source}Runtime", configurations.testRuntime +def generatedResources = "$buildDir/generated-resources/main" - if(!includeEclipse) { - eclipse { - classpath { - file { - //Manually remove the source directory from the generated - //classpath I could not get this to work with minusConfigurations - whenMerged { classpath -> - classpath.entries.removeAll { - entry -> entry.kind == 'src' && entry.path == "src/${source}/java" - } - } - } - } - } +sourceSets { + main { + output.dir(generatedResources, builtBy: 'createGeodeClasspathsFile') } } -// Add sourceSets for backwards compatibility, rolling upgrade, and -// pdx testing. -addTestSource('test100', '1.0.0-incubating', true) -//addTestSource('test110', '1.1.0', true) +task createGeodeClasspathsFile { + File classpathsFile = file("$generatedResources/geodeOldVersionClasspaths.txt") + outputs.file(classpathsFile); + + doLast { + Properties versions = new Properties(); + project(':geode-old-versions').sourceSets.each { + versions.setProperty(it.name,it.runtimeClasspath.getAsPath()) + } + classpathsFile.getParentFile().mkdirs(); -task createGeodeClasspathsFile { - File dir = file("$buildDir"); - if (!dir.exists()) { dir.mkdirs() } - File classpathsFile = file("$buildDir/geodeOldVersionClasspaths.txt") - if (classpathsFile.exists()) { - classpathsFile.delete(); + new FileOutputStream(classpathsFile).withStream { fos -> + versions.store(fos, '') } - classpathsFile.createNewFile(); - // add other backward-compatibility projects here - project(':geode-old-versions').sourceSets.each { - classpathsFile.append(it.name+"="+it.runtimeClasspath.getAsPath()+"\n") } + } } -createGeodeClasspathsFile