Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ Usage
Requires
--------

- Java 7 (8+ does not work)
- MySQL Client + Server
- Java 8+
- MySQL 5 Client + Server
- RabbitMQ

Setup (with Docker)
Expand All @@ -82,6 +82,9 @@ MySQL Server and RabbitMQ installed locally. Instead,
Docker needs to be installed as the script will start
MySQL and RabbitMQ in Docker containers.

If you have Docker Compose installed, you can also start the
containers by running `docker compose up`.

Build
------

Expand All @@ -92,6 +95,9 @@ You can build the project by running:
```

This automatically downloads Gradle and builds the project, including running the tests.
It will also download a Java toolchain that is appropriate
for compiling and running the project, if none can be found
locally.

The Gradle build using Maven repositories was provided by
Michael Andrews (Github michaelajr and Twitter @MichaelAJr).
Expand Down
74 changes: 0 additions & 74 deletions build.gradle

This file was deleted.

7 changes: 7 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
plugins {
`kotlin-dsl`
}

repositories {
mavenCentral()
}
1 change: 1 addition & 0 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// Intentionally empty
37 changes: 37 additions & 0 deletions buildSrc/src/main/kotlin/iddd-conventions.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
plugins {
java
}

dependencies {
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.5.8")
testImplementation(group = "junit", name = "junit", version = "4.8.2")

dependencies {
constraints {
implementation(group = "javax.transaction", name = "jta") {
version {
require("[1.1,2.0[")
prefer("1.1")
}
because(
"Older versions have licensing issues are were removed from Maven Central." +
"See https://central.sonatype.org/faq/cannot-download-javax-transaction/."
)
}
}
}
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
consistentResolution {
useCompileClasspathVersions()
}
}

tasks.withType(Test::class.java).configureEach {
// Workaround for non-English locales, because checks on decimals fail.
jvmArgs("-Duser.language=en -Duser.country=CA")
}
34 changes: 34 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
version: '3.4'
services:
mysql:
container_name: iddd-mysql
image: mysql:5
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
# Files are spread over all components, but need to available in a single location.
# startContainers.sh requires test files to be applied first, so names are mapped to match this policy.
- ./iddd_common/src/main/mysql/test_common.sql:/docker-entrypoint-initdb.d/40_test_common.sql:ro
- ./iddd_common/src/main/mysql/common.sql:/docker-entrypoint-initdb.d/50_common.sql:ro
- ./iddd_identityaccess/src/main/mysql/iam.sql:/docker-entrypoint-initdb.d/60_iam.sql:ro
- ./iddd_collaboration/src/main/mysql/collaboration.sql:/docker-entrypoint-initdb.d/60_collaboration.sql:ro
healthcheck:
test: mysqladmin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
start_period: 5s
interval: 5s
timeout: 10s
retries: 10
rabbitmq:
container_name: iddd-rabbitmq
image: rabbitmq:3-management
ports:
- 5672:5672
- 8080:15672 # management port
healthcheck:
test: rabbitmq-diagnostics -q ping
start_period: 5s
interval: 5s
timeout: 10s
retries: 10
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 3 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#Sat Feb 21 20:13:49 CET 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=5861dcc093556fef71cdde8cbae9887be70a8bf40e0f5856b61181ae92dccf33
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-all.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-all.zip
Loading