From 1acbca062ae7f850fcb6ba216cda7acf49d7d274 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Tue, 1 Jul 2014 17:28:50 -0500 Subject: [PATCH] Move src to separate project to support sample --- build.gradle | 66 +------------------ gradle/java.gradle | 52 +++++++++++++++ settings.gradle | 3 +- spring-session/build.gradle | 15 +++++ ...edisOperationsSessionRepositoryITests.java | 0 .../springframework/session/MapSession.java | 0 .../session/MapSessionRepository.java | 0 .../org/springframework/session/Session.java | 0 .../session/SessionRepository.java | 0 .../RedisOperationsSessionRepository.java | 6 ++ .../web/CookieHttpSessionStrategy.java | 0 .../web/HeaderHttpSessionStrategy.java | 0 .../session/web/HttpSessionStrategy.java | 0 .../web/OnCommittedResponseWrapper.java | 0 .../session/web/OncePerRequestFilter.java | 0 .../session/web/SessionRepositoryFilter.java | 0 .../session/MapSessionTests.java | 0 ...RedisOperationsSessionRepositoryTests.java | 0 .../web/CookieHttpSessionStrategyTests.java | 0 .../web/HeaderSessionStrategyTests.java | 0 .../web/OncePerRequestFilterTests.java | 0 .../web/SessionRepositoryFilterTests.java | 0 22 files changed, 77 insertions(+), 65 deletions(-) create mode 100644 gradle/java.gradle create mode 100644 spring-session/build.gradle rename {src => spring-session/src}/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/MapSession.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/MapSessionRepository.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/Session.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/SessionRepository.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java (94%) rename {src => spring-session/src}/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/web/HttpSessionStrategy.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/web/OncePerRequestFilter.java (100%) rename {src => spring-session/src}/main/java/org/springframework/session/web/SessionRepositoryFilter.java (100%) rename {src => spring-session/src}/test/java/org/springframework/session/MapSessionTests.java (100%) rename {src => spring-session/src}/test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryTests.java (100%) rename {src => spring-session/src}/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java (100%) rename {src => spring-session/src}/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java (100%) rename {src => spring-session/src}/test/java/org/springframework/session/web/OncePerRequestFilterTests.java (100%) rename {src => spring-session/src}/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java (100%) diff --git a/build.gradle b/build.gradle index 264c6e0c..c87d6394 100644 --- a/build.gradle +++ b/build.gradle @@ -13,78 +13,16 @@ buildscript { } } -apply plugin: 'java' -apply plugin: 'groovy' -apply plugin: 'javadocHotfix' -apply plugin: 'eclipse-wtp' -apply plugin: 'propdeps' -apply plugin: 'propdeps-maven' -apply plugin: 'propdeps-idea' -apply plugin: 'propdeps-eclipse' - group = 'org.springframework.session' sourceCompatibility = 1.5 targetCompatibility = 1.5 +ext.JAVA_GRADLE = "$rootDir/gradle/java.gradle" + ext.servletApiVersion = '3.0.1' ext.springSecurityVersion = '3.2.4.RELEASE' ext.springVersion = '4.0.2.RELEASE' -repositories { - mavenCentral() - maven { url 'http://clojars.org/repo' } -} - -// Integration test setup -configurations { - integrationTestCompile { - extendsFrom testCompile, optional, provided - } - integrationTestRuntime { - extendsFrom integrationTestCompile, testRuntime - } -} - -sourceSets { - integrationTest { - java.srcDir file('src/integration-test/java') - groovy.srcDirs file('src/integration-test/groovy') - resources.srcDir file('src/integration-test/resources') - compileClasspath = sourceSets.main.output + sourceSets.test.output + configurations.integrationTestCompile - runtimeClasspath = output + compileClasspath + configurations.integrationTestRuntime - } -} - -dependencies { - optional "org.springframework.data:spring-data-redis:1.3.0.RELEASE" - provided "javax.servlet:javax.servlet-api:$servletApiVersion" - integrationTestCompile "redis.clients:jedis:2.4.1", - "org.apache.commons:commons-pool2:2.2", - "redis.embedded:embedded-redis:0.2" - testCompile 'junit:junit:4.11', - 'org.mockito:mockito-core:1.9.5', - "org.springframework:spring-test:$springVersion", - 'org.easytesting:fest-assert:1.4', - "org.springframework.security:spring-security-core:$springSecurityVersion" -} -task integrationTest(type: Test, dependsOn: jar) { - testClassesDir = sourceSets.integrationTest.output.classesDir - logging.captureStandardOutput(LogLevel.INFO) - classpath = sourceSets.integrationTest.runtimeClasspath - maxParallelForks = 1 - reports { - html.destination = project.file("$project.buildDir/reports/integration-tests/") - junitXml.destination = project.file("$project.buildDir/integration-test-results/") - } -} - -project.conf2ScopeMappings.addMapping(MavenPlugin.TEST_COMPILE_PRIORITY + 1, project.configurations.getByName("integrationTestCompile"), Conf2ScopeMappingContainer.TEST) -project.conf2ScopeMappings.addMapping(MavenPlugin.TEST_COMPILE_PRIORITY + 2, project.configurations.getByName("integrationTestRuntime"), Conf2ScopeMappingContainer.TEST) -check.dependsOn integrationTest - -project.idea.module { - scopes.TEST.plus += [project.configurations.integrationTestRuntime] -} diff --git a/gradle/java.gradle b/gradle/java.gradle new file mode 100644 index 00000000..3e22b731 --- /dev/null +++ b/gradle/java.gradle @@ -0,0 +1,52 @@ +apply plugin: 'java' +apply plugin: 'groovy' +apply plugin: 'javadocHotfix' +apply plugin: 'eclipse-wtp' +apply plugin: 'propdeps' +apply plugin: 'propdeps-maven' +apply plugin: 'propdeps-idea' +apply plugin: 'propdeps-eclipse' + +repositories { + mavenCentral() + maven { url 'http://clojars.org/repo' } +} + +// Integration test setup +configurations { + integrationTestCompile { + extendsFrom testCompile, optional, provided + } + integrationTestRuntime { + extendsFrom integrationTestCompile, testRuntime + } +} + +sourceSets { + integrationTest { + java.srcDir file('src/integration-test/java') + groovy.srcDirs file('src/integration-test/groovy') + resources.srcDir file('src/integration-test/resources') + compileClasspath = sourceSets.main.output + sourceSets.test.output + configurations.integrationTestCompile + runtimeClasspath = output + compileClasspath + configurations.integrationTestRuntime + } +} + +task integrationTest(type: Test, dependsOn: jar) { + testClassesDir = sourceSets.integrationTest.output.classesDir + logging.captureStandardOutput(LogLevel.INFO) + classpath = sourceSets.integrationTest.runtimeClasspath + maxParallelForks = 1 + reports { + html.destination = project.file("$project.buildDir/reports/integration-tests/") + junitXml.destination = project.file("$project.buildDir/integration-test-results/") + } +} + +project.conf2ScopeMappings.addMapping(MavenPlugin.TEST_COMPILE_PRIORITY + 1, project.configurations.getByName("integrationTestCompile"), Conf2ScopeMappingContainer.TEST) +project.conf2ScopeMappings.addMapping(MavenPlugin.TEST_COMPILE_PRIORITY + 2, project.configurations.getByName("integrationTestRuntime"), Conf2ScopeMappingContainer.TEST) +check.dependsOn integrationTest + +project.idea.module { + scopes.TEST.plus += [project.configurations.integrationTestRuntime] +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 5f6f7f5e..4791c287 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,3 @@ -rootProject.name = 'spring-session' +rootProject.name = 'spring-session-build' +include 'spring-session' \ No newline at end of file diff --git a/spring-session/build.gradle b/spring-session/build.gradle new file mode 100644 index 00000000..69d46b5e --- /dev/null +++ b/spring-session/build.gradle @@ -0,0 +1,15 @@ +apply from: JAVA_GRADLE + + +dependencies { + optional "org.springframework.data:spring-data-redis:1.3.0.RELEASE" + provided "javax.servlet:javax.servlet-api:$servletApiVersion" + integrationTestCompile "redis.clients:jedis:2.4.1", + "org.apache.commons:commons-pool2:2.2", + "redis.embedded:embedded-redis:0.2" + testCompile 'junit:junit:4.11', + 'org.mockito:mockito-core:1.9.5', + "org.springframework:spring-test:$springVersion", + 'org.easytesting:fest-assert:1.4', + "org.springframework.security:spring-security-core:$springSecurityVersion" +} \ No newline at end of file diff --git a/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java b/spring-session/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java similarity index 100% rename from src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java rename to spring-session/src/integration-test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryITests.java diff --git a/src/main/java/org/springframework/session/MapSession.java b/spring-session/src/main/java/org/springframework/session/MapSession.java similarity index 100% rename from src/main/java/org/springframework/session/MapSession.java rename to spring-session/src/main/java/org/springframework/session/MapSession.java diff --git a/src/main/java/org/springframework/session/MapSessionRepository.java b/spring-session/src/main/java/org/springframework/session/MapSessionRepository.java similarity index 100% rename from src/main/java/org/springframework/session/MapSessionRepository.java rename to spring-session/src/main/java/org/springframework/session/MapSessionRepository.java diff --git a/src/main/java/org/springframework/session/Session.java b/spring-session/src/main/java/org/springframework/session/Session.java similarity index 100% rename from src/main/java/org/springframework/session/Session.java rename to spring-session/src/main/java/org/springframework/session/Session.java diff --git a/src/main/java/org/springframework/session/SessionRepository.java b/spring-session/src/main/java/org/springframework/session/SessionRepository.java similarity index 100% rename from src/main/java/org/springframework/session/SessionRepository.java rename to spring-session/src/main/java/org/springframework/session/SessionRepository.java diff --git a/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java b/spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java similarity index 94% rename from src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java rename to spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java index 5e08ee1d..b50d0439 100644 --- a/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java +++ b/spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java @@ -27,6 +27,12 @@ import java.util.Set; import java.util.concurrent.TimeUnit; /** + * A {@link org.springframework.session.SessionRepository} that is implemented using Spring Data's {@link org.springframework.data.redis.core.RedisOperations}. In a web environment, this is typically used in combination with + * {@link org.springframework.session.web.SessionRepositoryFilter}. + * + * + * @since 1.0 + * * @author Rob Winch */ public class RedisOperationsSessionRepository implements SessionRepository { diff --git a/src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java b/spring-session/src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java similarity index 100% rename from src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java rename to spring-session/src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java diff --git a/src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java b/spring-session/src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java similarity index 100% rename from src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java rename to spring-session/src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java diff --git a/src/main/java/org/springframework/session/web/HttpSessionStrategy.java b/spring-session/src/main/java/org/springframework/session/web/HttpSessionStrategy.java similarity index 100% rename from src/main/java/org/springframework/session/web/HttpSessionStrategy.java rename to spring-session/src/main/java/org/springframework/session/web/HttpSessionStrategy.java diff --git a/src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java b/spring-session/src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java similarity index 100% rename from src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java rename to spring-session/src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java diff --git a/src/main/java/org/springframework/session/web/OncePerRequestFilter.java b/spring-session/src/main/java/org/springframework/session/web/OncePerRequestFilter.java similarity index 100% rename from src/main/java/org/springframework/session/web/OncePerRequestFilter.java rename to spring-session/src/main/java/org/springframework/session/web/OncePerRequestFilter.java diff --git a/src/main/java/org/springframework/session/web/SessionRepositoryFilter.java b/spring-session/src/main/java/org/springframework/session/web/SessionRepositoryFilter.java similarity index 100% rename from src/main/java/org/springframework/session/web/SessionRepositoryFilter.java rename to spring-session/src/main/java/org/springframework/session/web/SessionRepositoryFilter.java diff --git a/src/test/java/org/springframework/session/MapSessionTests.java b/spring-session/src/test/java/org/springframework/session/MapSessionTests.java similarity index 100% rename from src/test/java/org/springframework/session/MapSessionTests.java rename to spring-session/src/test/java/org/springframework/session/MapSessionTests.java diff --git a/src/test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryTests.java b/spring-session/src/test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryTests.java similarity index 100% rename from src/test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryTests.java rename to spring-session/src/test/java/org/springframework/session/data/redis/RedisOperationsSessionRepositoryTests.java diff --git a/src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java b/spring-session/src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java similarity index 100% rename from src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java rename to spring-session/src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java diff --git a/src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java b/spring-session/src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java similarity index 100% rename from src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java rename to spring-session/src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java diff --git a/src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java b/spring-session/src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java similarity index 100% rename from src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java rename to spring-session/src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java diff --git a/src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java b/spring-session/src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java similarity index 100% rename from src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java rename to spring-session/src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java