Standardize Build

Fixes gh-769
This commit is contained in:
Rob Winch
2017-02-03 22:31:18 -06:00
parent e23aaeca5f
commit d590ca58e4
87 changed files with 710 additions and 1257 deletions

View File

@@ -1,57 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
}
}
apply from: JAVA_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'samples'
ext['spring-data-releasetrain.version'] = springDataReleaseTrainVersion
dependencies {
compile project(':spring-session-data-redis'),
"org.springframework.boot:spring-boot-starter-security",
"org.springframework.boot:spring-boot-starter-thymeleaf",
"org.springframework.boot:spring-boot-starter-web",
"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect",
"org.webjars:bootstrap:$bootstrapVersion",
"org.webjars:html5shiv:$html5ShivVersion",
"org.webjars:webjars-locator",
"com.maxmind.geoip2:geoip2:2.3.1",
"org.apache.httpcomponents:httpclient"
testCompile "org.springframework.boot:spring-boot-starter-test",
"org.assertj:assertj-core:$assertjVersion"
integrationTestCompile seleniumDependencies
}
integrationTest {
doFirst {
def port = reservePort()
systemProperties['server.port'] = port
systemProperties['management.port'] = 0
systemProperties['spring.session.redis.namespace'] = project.name
}
}
def reservePort() {
def socket = new ServerSocket(0)
def result = socket.localPort
socket.close()
result
}

View File

@@ -0,0 +1,31 @@
apply plugin: 'io.spring.convention.spring-sample-boot'
dependencies {
compile project(':spring-session-data-redis')
compile "org.springframework.boot:spring-boot-starter-security"
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
compile "org.springframework.boot:spring-boot-starter-web"
compile "nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect"
compile "org.webjars:bootstrap"
compile "org.webjars:html5shiv"
compile "org.webjars:webjars-locator"
compile "com.maxmind.geoip2:geoip2"
compile "org.apache.httpcomponents:httpclient"
testCompile "org.springframework.boot:spring-boot-starter-test"
testCompile "org.assertj:assertj-core"
integrationTestCompile seleniumDependencies
}
integrationTest {
doFirst {
systemProperties['spring.session.redis.namespace'] = project.name
}
}
integrationTest {
doFirst {
systemProperties['spring.session.redis.namespace'] = project.name
}
}

View File

@@ -53,9 +53,7 @@ public class FindByUsernameTests {
@After
public void tearDown() {
if (this.driver != null) {
this.driver.quit();
}
this.driver.quit();
}
@Test

View File

@@ -20,10 +20,10 @@
</tr>
<tr th:each="sessionElement : ${sessions}" th:with="details=${sessionElement.getAttribute('SESSION_DETAILS')}">
<td th:text="${sessionElement.id.substring(30)}"></td>
<td th:text="${details.location}"></td>
<td th:text="${details?.location}"></td>
<td th:text="${#dates.format(new java.util.Date(sessionElement.creationTime),'dd/MMM/yyyy HH:mm:ss')}"></td>
<td th:text="${#dates.format(new java.util.Date(sessionElement.lastAccessedTime),'dd/MMM/yyyy HH:mm:ss')}"></td>
<td th:text="${details.accessType}"></td>
<td th:text="${details?.accessType}"></td>
<td>
<form th:action="@{'/sessions/' + ${sessionElement.id}}" th:method="delete">
<input th:id="'terminate-' + ${sessionElement.id}" type="submit" value="Terminate" th:disabled="${sessionElement.id == #httpSession.id}"/>

View File

@@ -1,37 +1,20 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion"
}
}
apply from: JAVA_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'io.spring.convention.spring-sample-boot'
apply plugin: "application"
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
ext['spring-data-releasetrain.version'] = springDataReleaseTrainVersion
dependencies {
compile project(':spring-session-data-gemfire'),
"org.springframework.boot:spring-boot-starter-thymeleaf",
"org.springframework.boot:spring-boot-starter-web",
"org.webjars:bootstrap:$bootstrapVersion",
"org.webjars:webjars-locator"
compile project(':spring-session-data-gemfire')
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
compile "org.springframework.boot:spring-boot-starter-web"
compile "org.webjars:bootstrap"
compile "org.webjars:webjars-locator"
runtime "org.springframework.shell:spring-shell:1.1.0.RELEASE"
runtime "org.springframework.shell:spring-shell"
testCompile "org.springframework.boot:spring-boot-starter-test"
integrationTestCompile seleniumDependencies
integrationTestRuntime "org.springframework.shell:spring-shell:1.1.0.RELEASE"
integrationTestRuntime "org.springframework.shell:spring-shell"
}
run {
@@ -40,8 +23,8 @@ run {
}
}
springBoot {
mainClassName = 'sample.client.Application'
bootJar {
mainClass = 'sample.client.Application'
}
task runGemFireServer() {

View File

@@ -53,7 +53,7 @@ public class HomePage {
}
private static void get(WebDriver driver, String get) {
String baseUrl = "http://localhost:" + System.getProperty("tomcat.port", "8080");
String baseUrl = "http://localhost:" + System.getProperty("app.port", "8080");
driver.get(baseUrl + get);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2014-2017 the original author or authors.
* Copyright 2014-2016 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.
@@ -23,7 +23,6 @@ import org.apache.geode.cache.Cache;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
@@ -51,7 +50,7 @@ public class GemFireServer {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(GemFireServer.class);
springApplication.setWebApplicationType(WebApplicationType.NONE);
springApplication.setWebEnvironment(false);
springApplication.run(args);
}

View File

@@ -1,58 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
}
}
apply from: JAVA_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'samples'
dependencies {
compile project(':spring-session-jdbc'),
"org.springframework.boot:spring-boot-starter-jdbc",
"org.springframework.boot:spring-boot-starter-web",
"org.springframework.boot:spring-boot-starter-security",
"org.springframework.boot:spring-boot-starter-thymeleaf",
"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect",
"org.webjars:bootstrap:$bootstrapVersion",
"org.webjars:html5shiv:$html5ShivVersion",
"org.webjars:webjars-locator",
"com.h2database:h2"
testCompile "org.springframework.boot:spring-boot-starter-test",
"org.assertj:assertj-core:$assertjVersion"
integrationTestCompile seleniumDependencies
}
integrationTest {
doFirst {
def port = reservePort()
def host = 'localhost:' + port
systemProperties['geb.build.baseUrl'] = 'http://'+host+'/'
systemProperties['geb.build.reportsDir'] = 'build/geb-reports'
systemProperties['server.port'] = port
systemProperties['management.port'] = 0
systemProperties['spring.session.redis.namespace'] = project.name
}
}
def reservePort() {
def socket = new ServerSocket(0)
def result = socket.localPort
socket.close()
result
}

View File

@@ -0,0 +1,20 @@
apply plugin: 'io.spring.convention.spring-sample-boot'
dependencies {
compile project(':spring-session-jdbc')
compile "org.springframework.boot:spring-boot-starter-jdbc"
compile"org.springframework.boot:spring-boot-starter-web"
compile"org.springframework.boot:spring-boot-starter-security"
compile"org.springframework.boot:spring-boot-starter-thymeleaf"
compile"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect"
compile"org.webjars:bootstrap"
compile"org.webjars:html5shiv"
compile"org.webjars:webjars-locator"
compile"com.h2database:h2"
testCompile "org.springframework.boot:spring-boot-starter-test"
testCompile "org.assertj:assertj-core"
integrationTestCompile seleniumDependencies
}

View File

@@ -1,54 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
}
}
apply from: JAVA_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'samples'
dependencies {
compile project(':spring-session'),
"org.springframework.data:spring-data-mongodb:$springDataMongoDBVersion",
"org.springframework.boot:spring-boot-starter-web",
"org.springframework.boot:spring-boot-starter-security",
"org.springframework.boot:spring-boot-starter-thymeleaf",
"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect",
"org.webjars:bootstrap:$bootstrapVersion",
"org.webjars:html5shiv:$html5ShivVersion",
"org.webjars:webjars-locator",
"de.flapdoodle.embed:de.flapdoodle.embed.mongo"
testCompile "org.springframework.boot:spring-boot-starter-test"
integrationTestCompile seleniumDependencies
}
integrationTest {
doFirst {
def port = reservePort()
systemProperties['server.port'] = port
systemProperties['management.port'] = 0
systemProperties['spring.session.redis.namespace'] = project.name
}
}
def reservePort() {
def socket = new ServerSocket(0)
def result = socket.localPort
socket.close()
result
}

View File

@@ -0,0 +1,19 @@
apply plugin: 'io.spring.convention.spring-sample-boot'
dependencies {
compile project(':spring-session')
compile "org.springframework.data:spring-data-mongodb"
compile "org.springframework.boot:spring-boot-starter-web"
compile "org.springframework.boot:spring-boot-starter-security"
compile "org.springframework.boot:spring-boot-starter-thymeleaf"
compile "nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect"
compile "org.webjars:bootstrap"
compile "org.webjars:html5shiv"
compile "org.webjars:webjars-locator"
compile "de.flapdoodle.embed:de.flapdoodle.embed.mongo"
testCompile "org.springframework.boot:spring-boot-starter-test"
integrationTestCompile seleniumDependencies
}

View File

@@ -1,66 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
}
}
apply from: JAVA_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'samples'
ext {
jsonassertVersion="1.3.0"
assertjVersion = "2.4.0"
}
ext['spring-security.version'] = springSecurityVersion
dependencies {
compile project(':spring-session'),
"org.springframework.data:spring-data-redis:$springDataRedisVersion",
"io.lettuce:lettuce-core:$lettuceVersion",
"org.springframework.boot:spring-boot-starter-web",
"org.springframework.boot:spring-boot-starter-thymeleaf",
"org.springframework.boot:spring-boot-starter-security",
"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect",
"org.apache.httpcomponents:httpclient"
testCompile "org.springframework.boot:spring-boot-starter-test",
"org.assertj:assertj-core:$assertjVersion"
testCompile "org.skyscreamer:jsonassert:$jsonassertVersion"
integrationTestCompile seleniumDependencies
}
//
integrationTest {
doFirst {
def port = reservePort()
systemProperties['server.port'] = port
systemProperties['management.port'] = 0
systemProperties['spring.session.redis.namespace'] = project.name
}
jvmArgs "-XX:-UseSplitVerifier"
}
integrationTest {
testLogging {
events "passed", "skipped", "failed"
}
}
def reservePort() {
def socket = new ServerSocket(0)
def result = socket.localPort
socket.close()
result
}

View File

@@ -0,0 +1,19 @@
apply plugin: 'io.spring.convention.spring-sample-boot'
dependencies {
compile project(':spring-session')
compile"org.springframework.data:spring-data-redis"
compile"io.lettuce:lettuce-core"
compile"org.springframework.boot:spring-boot-starter-web"
compile"org.springframework.boot:spring-boot-starter-thymeleaf"
compile"org.springframework.boot:spring-boot-starter-security"
compile"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect"
compile"org.apache.httpcomponents:httpclient"
testCompile "org.springframework.boot:spring-boot-starter-test"
testCompile"org.assertj:assertj-core"
testCompile "org.skyscreamer:jsonassert"
integrationTestCompile seleniumDependencies
}

View File

@@ -53,7 +53,7 @@ public class HomePage {
}
private static void get(WebDriver driver, String get) {
String baseUrl = "http://localhost:" + System.getProperty("tomcat.port", "8080");
String baseUrl = "http://localhost:" + System.getProperty("app.port", "8080");
driver.get(baseUrl + get);
}

View File

@@ -1,54 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
}
}
apply from: JAVA_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'samples'
ext['spring-data-releasetrain.version'] = springDataReleaseTrainVersion
dependencies {
compile project(':spring-session-data-redis'),
"org.springframework.boot:spring-boot-starter-security",
"org.springframework.boot:spring-boot-starter-thymeleaf",
"org.springframework.boot:spring-boot-starter-web",
"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect",
"org.webjars:bootstrap:$bootstrapVersion",
"org.webjars:html5shiv:$html5ShivVersion",
"org.webjars:webjars-locator"
testCompile "org.springframework.boot:spring-boot-starter-test"
integrationTestCompile seleniumDependencies
}
integrationTest {
doFirst {
def port = reservePort()
systemProperties['server.port'] = port
systemProperties['management.port'] = 0
systemProperties['spring.session.redis.namespace'] = project.name
}
}
def reservePort() {
def socket = new ServerSocket(0)
def result = socket.localPort
socket.close()
result
}

View File

@@ -0,0 +1,18 @@
apply plugin: 'io.spring.convention.spring-sample-boot'
dependencies {
compile project(':spring-session-data-redis')
compile "io.lettuce:lettuce-core"
compile"org.springframework.boot:spring-boot-starter-security"
compile"org.springframework.boot:spring-boot-starter-thymeleaf"
compile"org.springframework.boot:spring-boot-starter-web"
compile"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect"
compile"org.webjars:bootstrap"
compile"org.webjars:html5shiv"
compile"org.webjars:webjars-locator"
testCompile "org.springframework.boot:spring-boot-starter-test"
integrationTestCompile seleniumDependencies
}

View File

@@ -1,48 +0,0 @@
buildscript {
repositories {
mavenCentral()
maven { url "https://repo.spring.io/plugins-snapshot" }
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.2.RELEASE'
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
}
}
apply from: JAVA_GRADLE
apply from: TOMCAT_7_GRADLE
apply from: SAMPLE_GRADLE
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'samples'
dependencies {
compile(project(':spring-session-data-redis')) {
exclude module: 'jedis'
}
compile "org.springframework.boot:spring-boot-starter-data-jpa",
"org.springframework.boot:spring-boot-starter-thymeleaf",
"org.springframework.boot:spring-boot-starter-web",
"org.springframework.boot:spring-boot-starter-websocket",
"org.springframework:spring-websocket:${springVersion}",
"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect",
"io.lettuce:lettuce-core:$lettuceVersion",
"org.webjars:bootstrap:$bootstrapVersion",
"org.webjars:html5shiv:$html5ShivVersion",
"org.webjars:knockout:2.3.0",
"org.webjars:sockjs-client:0.3.4",
"org.webjars:stomp-websocket:2.3.0",
"org.webjars:webjars-locator",
"com.h2database:h2",
"org.springframework.security:spring-security-web:$springSecurityVersion",
"org.springframework.security:spring-security-config:$springSecurityVersion",
"org.springframework.security:spring-security-messaging:$springSecurityVersion",
"org.springframework.security:spring-security-data:$springSecurityVersion"
testCompile "org.springframework.boot:spring-boot-starter-test",
"org.springframework.security:spring-security-test:$springSecurityVersion"
}

View File

@@ -0,0 +1,30 @@
apply plugin: 'io.spring.convention.spring-sample-boot'
dependencies {
compile(project(':spring-session-data-redis')) {
exclude module: 'jedis'
}
compile "org.springframework.boot:spring-boot-starter-data-jpa"
compile"org.springframework.boot:spring-boot-starter-thymeleaf"
compile"org.springframework.boot:spring-boot-starter-web"
compile"org.springframework.boot:spring-boot-starter-websocket"
compile"org.springframework:spring-websocket"
compile"nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect"
compile"io.lettuce:lettuce-core"
compile"org.webjars:bootstrap"
compile"org.webjars:html5shiv"
compile"org.webjars:knockout"
compile"org.webjars:sockjs-client"
compile"org.webjars:stomp-websocket"
compile"org.webjars:webjars-locator"
compile"com.h2database:h2"
compile"org.springframework.security:spring-security-web"
compile"org.springframework.security:spring-security-config"
compile"org.springframework.security:spring-security-messaging"
compile"org.springframework.security:spring-security-data"
testCompile "org.springframework.boot:spring-boot-starter-test"
testCompile "org.springframework.security:spring-security-test"
}

View File

@@ -68,10 +68,6 @@ public class UserRepositoryUserDetailsService implements UserDetailsService {
return AuthorityUtils.createAuthorityList("ROLE_USER");
}
public String getName() {
return getUsername();
}
public String getUsername() {
return getEmail();
}

View File

@@ -16,8 +16,7 @@
package sample.websocket;
import java.util.Collections;
import java.util.Optional;
import java.util.Arrays;
import sample.data.ActiveWebSocketUser;
import sample.data.ActiveWebSocketUserRepository;
@@ -43,11 +42,14 @@ public class WebSocketDisconnectHandler<S>
if (id == null) {
return;
}
Optional<ActiveWebSocketUser> user = this.repository.findOne(id);
if (user.isPresent()) {
this.repository.delete(id);
this.messagingTemplate.convertAndSend("/topic/friends/signout",
Collections.singleton(user.map(ActiveWebSocketUser::getUsername)));
ActiveWebSocketUser user = this.repository.findOne(id);
if (user == null) {
return;
}
this.repository.delete(id);
this.messagingTemplate.convertAndSend("/topic/friends/signout",
Arrays.asList(user.getUsername()));
}
}