From 413b9d682ef07053245ed2ae340c0c1917de979f Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Thu, 19 Mar 2020 22:30:53 +0530 Subject: [PATCH 1/4] JAVA-60 Mvn Clean Install Profile Issue - Github 8189 - Updated README.md as per the latest profile based segregation that we follow in this repository --- README.md | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5307efa008..47b9709465 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,38 @@ This project is **a collection of small and focused tutorials** - each covering A strong focus of these is, of course, the Spring Framework - Spring, Spring Boot and Spring Security. In additional to Spring, the modules here are covering a number of aspects in Java. +Profile based segregation +==================== + +We are using maven build profiles to segregate the huge list of individual projects we have in our repository. + +The projects are broadly divided into 3 list: first, second and heavy. + +Next, they are segregated further on the basis of tests that we want to execute. + +Therefore, we have a total of 6 profiles: + +| Profile | Includes | Type of test enabled | +| ---------------------- | --------------------------- | -------------------- | +| default-first | First set of projects | *UnitTest | +| integration-lite-first | First set of projects | *IntegrationTest | +| default-second | Second set of projects | *UnitTest | +| integration-lite-first | Second set of projects | *IntegrationTest | +| default-heavy | Heavy/long running projects | *UnitTest | +| integration-heavy | Heavy/long running projects | *IntegrationTest | Building the project ==================== -To do the full build, do: `mvn clean install` + +Though it should not be needed often to build the entire repository at once because we are usually concerned with a specific module. + +But if we want to, we can invoke the below command from the root of the repository if we want to build the entire repository with only Unit Tests enabled: + +`mvn clean install -Pdefault-first,default-second,default-heavy` + +or if we want to build the entire repository with Integration Tests enabled, we can do: + +`mvn clean install -Pintegration-lite-first,integration-lite-second,integration-heavy` Building a single module @@ -46,8 +74,16 @@ When you're working with an individual module, there's no need to import all of Running Tests ============= -The command `mvn clean install` will run the unit tests in a module. -To run the integration tests, use the command `mvn clean install -Pintegration-lite-first` +The command `mvn clean install` from within a module will run the unit tests in that module. +To run the integration tests, use the command: + +`mvn clean install -Pintegration-lite-first` or + +`mvn clean install -Pintegration-lite-second` or + +`mvn clean install -Pintegration-heavy` + +depending on the list where our module exists From ad94b4d4b2c60d603fc6b52ba2886690c29a24c0 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sat, 21 Mar 2020 16:07:48 +0530 Subject: [PATCH 2/4] JAVA-60 Mvn Clean Install Profile Issue - Github 8189 - Updated README.md as per the latest profile based segregation that we follow in this repository --- README.md | 16 ++++++++-------- parent-kotlin/pom.xml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 47b9709465..106c5f876a 100644 --- a/README.md +++ b/README.md @@ -33,14 +33,14 @@ Next, they are segregated further on the basis of tests that we want to execute. Therefore, we have a total of 6 profiles: -| Profile | Includes | Type of test enabled | -| ---------------------- | --------------------------- | -------------------- | -| default-first | First set of projects | *UnitTest | -| integration-lite-first | First set of projects | *IntegrationTest | -| default-second | Second set of projects | *UnitTest | -| integration-lite-first | Second set of projects | *IntegrationTest | -| default-heavy | Heavy/long running projects | *UnitTest | -| integration-heavy | Heavy/long running projects | *IntegrationTest | +| Profile | Includes | Type of test enabled | +| ----------------------- | --------------------------- | -------------------- | +| default-first | First set of projects | *UnitTest | +| integration-lite-first | First set of projects | *IntegrationTest | +| default-second | Second set of projects | *UnitTest | +| integration-lite-second | Second set of projects | *IntegrationTest | +| default-heavy | Heavy/long running projects | *UnitTest | +| integration-heavy | Heavy/long running projects | *IntegrationTest | Building the project ==================== diff --git a/parent-kotlin/pom.xml b/parent-kotlin/pom.xml index abc871ca91..6a7d763550 100644 --- a/parent-kotlin/pom.xml +++ b/parent-kotlin/pom.xml @@ -29,7 +29,7 @@ spring-milestone Spring Milestone Repository - http://repo.spring.io/milestone + https://repo.spring.io/milestone From 476270ce54074ca36bd4056ef3eead1ab086856f Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sat, 21 Mar 2020 17:03:32 +0530 Subject: [PATCH 3/4] JAVA-60 Mvn Clean Install Profile Issue - Github 8189 - Updated README.md as per the latest profile based segregation that we follow in this repository --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 106c5f876a..6ed01b1ae6 100644 --- a/README.md +++ b/README.md @@ -33,21 +33,21 @@ Next, they are segregated further on the basis of tests that we want to execute. Therefore, we have a total of 6 profiles: -| Profile | Includes | Type of test enabled | -| ----------------------- | --------------------------- | -------------------- | -| default-first | First set of projects | *UnitTest | -| integration-lite-first | First set of projects | *IntegrationTest | -| default-second | Second set of projects | *UnitTest | -| integration-lite-second | Second set of projects | *IntegrationTest | -| default-heavy | Heavy/long running projects | *UnitTest | -| integration-heavy | Heavy/long running projects | *IntegrationTest | +| Profile | Includes | Type of test enabled | +| ----------------------- | --------------------------- | ---------------------------- | +| default-first | First set of projects | *UnitTest, SpringContextTest | +| integration-lite-first | First set of projects | *IntegrationTest | +| default-second | Second set of projects | *UnitTest, SpringContextTest | +| integration-lite-second | Second set of projects | *IntegrationTest | +| default-heavy | Heavy/long running projects | *UnitTest, SpringContextTest | +| integration-heavy | Heavy/long running projects | *IntegrationTest | Building the project ==================== Though it should not be needed often to build the entire repository at once because we are usually concerned with a specific module. -But if we want to, we can invoke the below command from the root of the repository if we want to build the entire repository with only Unit Tests enabled: +But if we want to, we can invoke the below command from the root of the repository if we want to build the entire repository with only Unit Tests and `SpringContextTest` enabled: `mvn clean install -Pdefault-first,default-second,default-heavy` @@ -74,7 +74,7 @@ When you're working with an individual module, there's no need to import all of Running Tests ============= -The command `mvn clean install` from within a module will run the unit tests in that module. +The command `mvn clean install` from within a module will run the unit tests in that module and additionally `SpringContextTest`. To run the integration tests, use the command: `mvn clean install -Pintegration-lite-first` or From c0e1a3df91af874a32383c005db287430c367340 Mon Sep 17 00:00:00 2001 From: Dhawal Kapil Date: Sat, 21 Mar 2020 17:09:53 +0530 Subject: [PATCH 4/4] JAVA-60 Mvn Clean Install Profile Issue - Github 8189 - Updated README.md as per the latest profile based segregation that we follow in this repository --- README.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6ed01b1ae6..b08a93f23e 100644 --- a/README.md +++ b/README.md @@ -33,21 +33,21 @@ Next, they are segregated further on the basis of tests that we want to execute. Therefore, we have a total of 6 profiles: -| Profile | Includes | Type of test enabled | -| ----------------------- | --------------------------- | ---------------------------- | -| default-first | First set of projects | *UnitTest, SpringContextTest | -| integration-lite-first | First set of projects | *IntegrationTest | -| default-second | Second set of projects | *UnitTest, SpringContextTest | -| integration-lite-second | Second set of projects | *IntegrationTest | -| default-heavy | Heavy/long running projects | *UnitTest, SpringContextTest | -| integration-heavy | Heavy/long running projects | *IntegrationTest | +| Profile | Includes | Type of test enabled | +| ----------------------- | --------------------------- | -------------------- | +| default-first | First set of projects | *UnitTest | +| integration-lite-first | First set of projects | *IntegrationTest | +| default-second | Second set of projects | *UnitTest | +| integration-lite-second | Second set of projects | *IntegrationTest | +| default-heavy | Heavy/long running projects | *UnitTest | +| integration-heavy | Heavy/long running projects | *IntegrationTest | Building the project ==================== Though it should not be needed often to build the entire repository at once because we are usually concerned with a specific module. -But if we want to, we can invoke the below command from the root of the repository if we want to build the entire repository with only Unit Tests and `SpringContextTest` enabled: +But if we want to, we can invoke the below command from the root of the repository if we want to build the entire repository with only Unit Tests enabled: `mvn clean install -Pdefault-first,default-second,default-heavy` @@ -74,7 +74,9 @@ When you're working with an individual module, there's no need to import all of Running Tests ============= -The command `mvn clean install` from within a module will run the unit tests in that module and additionally `SpringContextTest`. +The command `mvn clean install` from within a module will run the unit tests in that module. +For Spring modules this will also run the `SpringContextTest` if present. + To run the integration tests, use the command: `mvn clean install -Pintegration-lite-first` or