Reorganize project as a multi-module project with modules for both Spring Data for Apache Geode and Pivotal GemFire.

Create Maven build files for modules.

Create Gradle build files for modules.
This commit is contained in:
John Blum
2018-05-17 20:54:32 -07:00
parent df7cacdcbd
commit d3dc626277
36 changed files with 240 additions and 24 deletions

View File

@@ -8,11 +8,7 @@ buildscript {
}
}
ext.IDE_GRADLE = "$rootDir/gradle/ide.gradle"
apply plugin: 'io.spring.convention.root'
apply plugin: 'io.spring.convention.spring-module'
apply from: IDE_GRADLE
group = 'org.springframework.data'
description = 'Spring Test Framework for Apache Geode and Pivotal GemFire using Spring Data'
@@ -21,18 +17,7 @@ ext.releaseBuild = version.endsWith('RELEASE')
ext.snapshotBuild = version.endsWith('SNAPSHOT')
ext.milestoneBuild = !(releaseBuild || snapshotBuild)
ext.IDE_GRADLE = "$rootDir/gradle/ide.gradle"
ext['apache-geode.version'] = '1.6.0'
repositories {
maven { url = "https://repo.spring.io/libs-snapshot" }
}
dependencies {
compile "org.springframework.data:spring-data-geode"
compile("org.springframework.boot:spring-boot-starter-test") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-logging";
}
}

19
pom.xml
View File

@@ -8,19 +8,24 @@
<parent>
<groupId>org.springframework.data.build</groupId>
<artifactId>spring-data-parent</artifactId>
<version>2.0.7.RELEASE</version>
<version>2.1.0.BUILD-SNAPSHOT</version>
</parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-test-data-geode</artifactId>
<artifactId>spring-test-data-geode-build</artifactId>
<version>0.0.1.BUILD-SNAPSHOT</version>
<packaging>jar</packaging>
<packaging>pom</packaging>
<name>Spring-based Test Framework for Spring Data GemFire and Spring Data Geode</name>
<modules>
<module>spring-test-data-geode</module>
<module>spring-test-data-gemfire</module>
</modules>
<name>Spring Test Framework for Apache Geode and Pivotal GemFire using Spring Data</name>
<description>
This project introduces a new Spring Data module building on the core Spring Framework's TestContext
and is used to write both Unit and Integration Tests for Spring Data for Pivotal GemFire
as well as Spring Data for Apache Geode.
This project introduces a Spring Data module building on the Spring Framework's TestContext,
used to write both Unit and Integration Tests for Spring Data for Pivotal GemFire
as well as Spring Data for Apache Geode applications.
</description>
<url>https://github.com/jxblum/spring-data-tests-4-gemfire</url>

View File

@@ -1 +1,35 @@
rootProject.name = 'spring-test-data-geode'
FileTree buildFiles = fileTree(rootDir) {
include '**/*.gradle'
exclude '/build.gradle', 'settings.gradle', '**/gradle', 'buildSrc', '.*'
}
String rootDirPath = rootDir.absolutePath + File.separator
buildFiles.each { File buildFile ->
boolean isDefaultName = 'build.gradle'.equals(buildFile.name)
if (isDefaultName) {
String buildFilePath = buildFile.parentFile.absolutePath
String projectPath = buildFilePath.replace(rootDirPath, '').replaceAll(File.separator, ':')
include projectPath
}
else {
String projectName = buildFile.name.replace('.gradle', '');
String projectPath = ':' + projectName;
include projectPath
def project = findProject("${projectPath}")
project.name = projectName
project.projectDir = buildFile.parentFile
project.buildFileName = buildFile.name
}
}

View File

@@ -0,0 +1,16 @@
apply plugin: 'io.spring.convention.spring-module'
apply from: IDE_GRADLE
description = "Spring Test for Pivotal GemFire"
dependencies {
compile(project(':spring-test-data-geode')) {
exclude group: "org.springframework.data", module: "spring-data-geode"
}
compile "org.springframework.data:spring-data-gemfire"
}

View File

@@ -0,0 +1,84 @@
<?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>
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-test-data-geode-build</artifactId>
<version>0.0.1.BUILD-SNAPSHOT</version>
</parent>
<artifactId>spring-test-data-gemfire</artifactId>
<packaging>jar</packaging>
<name>Spring Test Framework for Pivotal GemFire using Spring Data for Pivotal GemFire</name>
<description>
Module using Spring Framework's TestContext to write both Unit and Integration Tests
for Spring Data for Pivotal GemFire applications.
</description>
<url>https://github.com/jxblum/spring-data-tests-4-gemfire</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
<comments>
Copyright 2018-present the original author or authors.
Licensed 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.
</comments>
</license>
</licenses>
<organization>
<name>Pivotal Software, Inc.</name>
<url>http://www.pivotal.io</url>
</organization>
<developers>
<developer>
<id>jblum</id>
<name>John Blum</name>
<email>jblum at pivotal dot io</email>
<organization>Pivotal Software, Inc.</organization>
<organizationUrl>http://www.spring.io</organizationUrl>
<roles>
<role>Spring Data Engineer</role>
<role>Apache Geode Committer</role>
</roles>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-test-data-geode</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-geode</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,19 @@
apply plugin: 'io.spring.convention.spring-module'
apply from: IDE_GRADLE
description = "Spring Test for Pivotal GemFire"
repositories {
maven { url = "https://repo.spring.io/libs-snapshot" }
}
dependencies {
compile "org.springframework.data:spring-data-geode"
compile("org.springframework.boot:spring-boot-starter-test") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-logging";
}
}

View File

@@ -0,0 +1,73 @@
<?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>
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-test-data-geode-build</artifactId>
<version>0.0.1.BUILD-SNAPSHOT</version>
</parent>
<artifactId>spring-test-data-geode</artifactId>
<packaging>jar</packaging>
<name>Spring Test Framework for Apache Geode using Spring Data for Apache Geode</name>
<description>
Module using Spring Framework's TestContext to write both Unit and Integration Tests
for Spring Data for Apache Geode applications.
</description>
<url>https://github.com/jxblum/spring-data-tests-4-gemfire</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
<comments>
Copyright 2018-present the original author or authors.
Licensed 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.
</comments>
</license>
</licenses>
<organization>
<name>Pivotal Software, Inc.</name>
<url>http://www.pivotal.io</url>
</organization>
<developers>
<developer>
<id>jblum</id>
<name>John Blum</name>
<email>jblum at pivotal dot io</email>
<organization>Pivotal Software, Inc.</organization>
<organizationUrl>http://www.spring.io</organizationUrl>
<roles>
<role>Spring Data Engineer</role>
<role>Apache Geode Committer</role>
</roles>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-geode</artifactId>
</dependency>
</dependencies>
</project>