You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by vf...@apache.org on 2016/02/02 09:19:30 UTC
incubator-geode git commit: GEODE-342: Make changes to Geode gradle
build script to also build JVSD - Switched from maven to gradle. - Modified
global gradle script to include geode-jvsd in the build and distribution. -
Added individual tasks to clone
Repository: incubator-geode
Updated Branches:
refs/heads/feature/GEODE-78 8a86c01a3 -> e08316176
GEODE-342: Make changes to Geode gradle build script to also build JVSD
- Switched from maven to gradle.
- Modified global gradle script to include geode-jvsd in the build and distribution.
- Added individual tasks to clone, compile and install MultiAxisChartFX in the build process.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/e0831617
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/e0831617
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/e0831617
Branch: refs/heads/feature/GEODE-78
Commit: e083161763d961eb3e6cc4cfaefe2b4c46cdd697
Parents: 8a86c01
Author: jujoramos <ju...@gmail.com>
Authored: Thu Jan 14 15:18:36 2016 +0000
Committer: Vince Ford <vf...@apache.org>
Committed: Mon Feb 1 23:53:32 2016 -0800
----------------------------------------------------------------------
gemfire-assembly/build.gradle | 7 +-
geode-jvsd/README.txt | 84 +++++++-------------
geode-jvsd/build.gradle | 96 +++++++++++++++++++++++
geode-jvsd/pom.xml | 155 -------------------------------------
geode-jvsd/runjvsd.sh | 8 --
settings.gradle | 1 +
6 files changed, 132 insertions(+), 219 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0831617/gemfire-assembly/build.gradle
----------------------------------------------------------------------
diff --git a/gemfire-assembly/build.gradle b/gemfire-assembly/build.gradle
index f65930d..d0abb31 100755
--- a/gemfire-assembly/build.gradle
+++ b/gemfire-assembly/build.gradle
@@ -20,13 +20,14 @@ configurations {
dependencies {
provided project(':gemfire-core')
-
+
archives project(':gemfire-json')
archives project(':gemfire-joptsimple')
archives project(':gemfire-jgroups')
archives project(':gemfire-core')
archives project(':gemfire-web')
archives project(':gemfire-web-api')
+ archives project(':geode-jvsd')
testCompile project(path: ':gemfire-junit', configuration: 'testOutput')
testCompile project(path: ':gemfire-core', configuration: 'testOutput')
@@ -190,6 +191,10 @@ distributions {
from gfshDepsJar
}
+ into ('tools/jvsd') {
+ from project(":geode-jvsd").installDist
+ }
+
into ('tools/Extensions') {
from (project(":gemfire-web").configurations.archives.allArtifacts.files) {
exclude '*.jar'
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0831617/geode-jvsd/README.txt
----------------------------------------------------------------------
diff --git a/geode-jvsd/README.txt b/geode-jvsd/README.txt
index 7ff9d63..4656063 100644
--- a/geode-jvsd/README.txt
+++ b/geode-jvsd/README.txt
@@ -1,66 +1,40 @@
-Check Java JDK version, it should version 1.8.0_60 or later.
-
-$java --version
+#######################################################################################################################
+#################################################### REQUIREMENTS ###############################################
+#######################################################################################################################
+# Check Java JDK version, it should be 1.8.0_60 or later.
+$java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Server VM (build 25.60-b23, mixed mode)
-$jps
-13760 Jps
-
-Clone Geode from the Apache repository, checkout JVSD branch and then build Geode.
-
+# Check Maven version, it should be 3.2.3 or later (required by MultiAxisChart)
+$mvn -version
+Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T21:58:10+01:00)
+Java version: 1.8.0_60, vendor: Oracle Corporation
+
+# Clone Geode from the Apache repository and checkout JVSD branch.
$git clone https://git-wip-us.apache.org/repos/asf/incubator-geode.git
$cd incubator-geode/
-$git branch jvsd origin/feature/GEODE-78
-$git checkout jvsd
-$./gradlew clean build installDist -Dskip.tests=true
-
-Clone and build the third party charting library MultiAxisChartFX.
-$cd ..
-$git clone https://github.com/gemfire/MultiAxisChartFX
-$cd MultiAxisChartFX/
-$mvn install
-
-Install the MultiAxisChart jar into local maven repository.
+$git branch feature/GEODE-78 origin/feature/GEODE-78
+$git checkout feature/GEODE-78
-$mvn install:install-file \
--Dfile=./MultiAxisChart-1.0-SNAPSHOT.jar \
--DgroupId=com.pivotal.javafx \
--DartifactId=MultiAxisChart \
--Dversion=1.0-SNAPSHOT \
--Dpackaging=jar \
--DgeneratePom=true
+# Build and install the third party charting library, MultiAxisChartFX.
+$./gradlew geode-jvsd:MultiAxisChart
-For testing, additional jars may need to be added from the Apache Geode build to
-the local Maven repository.
-
-mvn install:install-file -Dfile=gemfire-core-1.0.0-incubating-SNAPSHOT.jar \
--DgroupId=org.apache.geode \
--DartifactId=gemfire-core \
--Dversion=1.0.0-incubating-SNAPSHOT \
--Dpackaging=jar \
--DgeneratePom=true
-
-mvn install:install-file -Dfile=gemfire-jgroups-1.0.0-incubating-SNAPSHOT.jar \
--DgroupId=org.apache.geode \
--DartifactId=gemfire-jgroups \
--Dversion=1.0.0-incubating-SNAPSHOT \
--Dpackaging=jar \
--DgeneratePom=true
-
-mvn install:install-file -Dfile=fastutil-7.0.2.jar \
--DgroupId=org.apache.geode \
--DartifactId=fastutil \
--Dversion=7.0.2 \
--Dpackaging=jar \
--DgeneratePom=true
+#######################################################################################################################
+#################################################### BUILD ###############################################
+#######################################################################################################################
+# Build Geode.
+$./gradlew clean build installDist -Dskip.tests=true
-Change back into the Geode directory and then into the JVSD directory. Build JVSD.
-$cd ../incubator-geode
-$cd geode-jvsd/
-$mvn install
+# Build Only jVSD.
+$./gradlew geode-jvsd:clean geode-jvsd:build geode-jvsd:installDist -Dskip.tests=true
-Run the JVSD application.
-$runjvsd.sh
+#######################################################################################################################
+#################################################### RUN ###############################################
+#######################################################################################################################
+# Run from source.
+$./gradlew geode-jvsd:run
+# Run from distribution.
+$./geode-jvsd/build/install/geode-jvsd/bin/geode-jvsd
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0831617/geode-jvsd/build.gradle
----------------------------------------------------------------------
diff --git a/geode-jvsd/build.gradle b/geode-jvsd/build.gradle
new file mode 100755
index 0000000..e9c13b6
--- /dev/null
+++ b/geode-jvsd/build.gradle
@@ -0,0 +1,96 @@
+// Force Java 8 usage.
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
+
+// Override parent compiler options.
+gradle.taskGraph.whenReady( { graph ->
+ tasks.withType(JavaCompile).each { javac ->
+ javac.configure {
+ sourceCompatibility '1.8'
+ targetCompatibility '1.8'
+ options.encoding = 'UTF-8'
+ }
+ }
+})
+
+// Application plugin.
+apply plugin: 'application'
+mainClassName = 'org.apache.geode.jvsd.fx.Main'
+
+// Exclude master project dependencies.
+// FIXME: there must be a better way to do this.
+configurations{
+ all*.exclude group: 'cglib'
+ all*.exclude group: 'org.jmock'
+ all*.exclude group: 'org.assertj'
+ all*.exclude group: 'org.mockito'
+ all*.exclude group: 'org.ow2.asm'
+ all*.exclude group: 'org.hamcrest'
+ all*.exclude group: 'org.objenesis'
+ all*.exclude group: 'edu.umd.cs.mtc'
+ all*.exclude group: 'pl.pragmatists'
+ all*.exclude group: 'org.springframework'
+ all*.exclude group: 'com.github.stefanbirkner'
+}
+
+// Dependencies.
+dependencies {
+ compile 'commons-cli:commons-cli:1.2'
+ compile 'commons-collections:commons-collections:3.2.1'
+ compile 'com.pivotal.javafx:MultiAxisChart:1.0-SNAPSHOT'
+
+ testRuntime 'javax.transaction:jta:1.1'
+ testRuntime 'org.apache.logging.log4j:log4j:2.1'
+ testRuntime 'org.apache.logging.log4j:log4j-api:2.1'
+ testRuntime 'org.apache.logging.log4j:log4j-core:2.1'
+
+ testCompile project(':gemfire-core')
+ testCompile project(':gemfire-jgroups')
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+// MultiAxisChartFX dependency.
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath 'org.ajoberstar:gradle-git:1.3.2'
+ }
+}
+
+// Clone repository only if the directory is not created already.
+import org.ajoberstar.grgit.*
+task MultiAxisChartFX {
+ description 'Clone project MultiAxisChartFX and install the artifact into the local Maven repository.'
+ ext.destDir = new File(buildDir, 'MultiAxisChartFX')
+
+ onlyIf {
+ !destDir.exists()
+ }
+
+ doLast {
+ println "Cloning MultiAxisChartFX..."
+ Grgit.clone(dir: destDir, uri: 'https://github.com/gemfire/MultiAxisChartFX')
+ println "Cloning MultiAxisChartFX... Done!"
+
+ println "Installing MultiAxisChartFX into local maven repository..."
+ ant.exec(executable: 'mvn', dir: 'build/MultiAxisChartFX') {
+ arg(line: 'clean install')
+ }
+ println "Installing MultiAxisChartFX into local maven repository... Done!"
+ }
+}
+
+// We need the external artifact before compiling the source code.
+compileJava {
+ dependsOn MultiAxisChartFX
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0831617/geode-jvsd/pom.xml
----------------------------------------------------------------------
diff --git a/geode-jvsd/pom.xml b/geode-jvsd/pom.xml
deleted file mode 100644
index 8e1fdd5..0000000
--- a/geode-jvsd/pom.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.geode</groupId>
- <artifactId>geode-jvsd</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <properties>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2.1</version>
- </dependency>
- <!-- Enable only for Java 1.7 support
- <dependency>
- <groupId>com.oracle</groupId>
- <artifactId>javafx</artifactId>
- <version>2.2.60</version>
- <scope>system</scope>
- <systemPath>${java.home}/lib/jfxrt.jar</systemPath>
- </dependency>
- -->
- <dependency>
- <groupId>com.pivotal.javafx</groupId>
- <artifactId>MultiAxisChart</artifactId>
- <version>1.0-SNAPSHOT</version>
- <!-- use scope and system path only if not installing jar into local maven repo -->
- <!--<scope>system</scope>
- <systemPath>${HOME}/Projects/MultiAxisChartFX/target/MultiAxisChart-1.0-SNAPSHOT.jar</systemPath> -->
- </dependency>
- <dependency>
- <groupId>org.apache.geode</groupId>
- <artifactId>gemfire-core</artifactId>
- <version>1.0.0-incubating-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geode</groupId>
- <artifactId>gemfire-jgroups</artifactId>
- <version>1.0.0-incubating-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>2.1</version>
- <!--<scope>test</scope> -->
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>2.1</version>
- <!--<scope>test</scope> -->
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>2.1</version>
- <!--<scope>test</scope> -->
- </dependency>
- <dependency>
- <groupId>org.apache.geode</groupId>
- <artifactId>fastutil</artifactId>
- <version>7.0.2</version>
- <type>jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>jta</artifactId>
- <version>1.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>geode-jvsd</finalName>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>1.3.1</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
- </transformers>
- <!-- <artifactSet> <includes> <include>org.mortbay.jetty:jetty*</include>
- </includes> </artifactSet> -->
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>org.apache.geode.jvsd.fx.Main</mainClass>
- </manifest>
- </archive>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- </configuration>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0831617/geode-jvsd/runjvsd.sh
----------------------------------------------------------------------
diff --git a/geode-jvsd/runjvsd.sh b/geode-jvsd/runjvsd.sh
deleted file mode 100755
index 41f869c..0000000
--- a/geode-jvsd/runjvsd.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-echo `which java`
-
-if [ -f target/geode-jvsd-jar-with-dependencies.jar ]; then
- java -verbose:class -jar target/geode-jvsd-jar-with-dependencies.jar $@ >output.txt
-else
- echo "missing critical jar file, rebuild"
-fi
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0831617/settings.gradle
----------------------------------------------------------------------
diff --git a/settings.gradle b/settings.gradle
index 4b2da7b..93080db 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -9,6 +9,7 @@ include 'gemfire-web'
include 'gemfire-web-api'
include 'gemfire-assembly'
include 'gemfire-rebalancer'
+include 'geode-jvsd'
def minimumGradleVersion = '2.3'
if (GradleVersion.current() < GradleVersion.version(minimumGradleVersion)) {