Skip to content

Commit

Permalink
ref #277
Browse files Browse the repository at this point in the history
  • Loading branch information
Foxcapades committed Apr 23, 2024
1 parent e7066c4 commit 8c41d3c
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 16 deletions.
38 changes: 38 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
Expand Down Expand Up @@ -107,6 +110,41 @@ tasks.create("generate-raml-docs") {
}
}

tasks.create("compose") {
doLast {
val base = arrayOf(
"docker", "compose",
"-f", "docker-compose.yml",
"-f", "docker-compose.dev.yml",
"-f", "docker-compose.ssh.yml",
)

val command = when (findProperty("compose-target") as String?) {
"up" -> arrayOf(*base, "up", "-d")
"down" -> arrayOf(*base, "down", "-v")
"start" -> arrayOf(*base, "start")
"stop" -> arrayOf(*base, "stop")
else -> arrayOf(*base,
"build",
"--build-arg=GITHUB_USERNAME=${extra["github-user"]}",
"--build-arg=GITHUB_TOKEN=${extra["github-pass"]}"
)
}

with(ProcessBuilder(*command).start()) {
runBlocking(Dispatchers.IO) {
launch { inputStream.bufferedReader().use { it.lines().forEach(logger::quiet) } }
launch { errorStream.bufferedReader().use {
it.lineSequence().filter { !it.contains("level=warning") }
.forEach(logger::quiet)
} }
}
if (waitFor() != 0)
throw RuntimeException("docker compose command failed")
}
}
}

dependencies {
implementation(project(":service:bootstrap"))
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,9 @@ class RabbitMQEventSource<T>(
RabbitMQEventIterator(config.queueName, rChan, config.messagePollingInterval, shutdownSignal, mappingFunction)

override fun close() {
rChan.close()
rCon.close()
try { rChan.close() }
catch(e: Throwable) { log.error("error encountered while attempting to shut down rabbitmq channel", e)}
try { rCon.close() }
catch(e: Throwable) { log.error("error encountered while attempting to shut down rabbitmq connection", e)}
}
}
23 changes: 11 additions & 12 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,13 @@ default:

.PHONY: build
build:
@docker compose \
-f docker-compose.yml \
-f docker-compose.dev.yml \
build \
--build-arg=GITHUB_USERNAME=${GITHUB_USERNAME} \
--build-arg=GITHUB_TOKEN=${GITHUB_TOKEN}
@./gradlew -q compose -Pcompose-target=build

.PHONY: raml-gen
raml-gen:
@which node || (echo 'NodeJS not found on $$PATH'; exit 1)
@gradle :service:daemon:rest-service:generate-jaxrs --rerun-tasks
@gradle generate-raml-docs --rerun-tasks
@./gradlew -q :service:daemon:rest-service:generate-jaxrs --rerun-tasks
@./gradlew -q generate-raml-docs --rerun-tasks


####
Expand All @@ -32,19 +27,19 @@ raml-gen:

.PHONY: up
up: env-file-test
@docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ssh.yml up -d
@./gradlew -q compose -Pcompose-target=up

.PHONY: down
down: env-file-test
@docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ssh.yml down -v
@./gradlew -q compose -Pcompose-target=down

.PHONY: start
start: env-file-test
@docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ssh.yml start
@./gradlew -q compose -Pcompose-target=start

.PHONY: stop
stop: env-file-test
@docker compose -f docker-compose.yml -f docker-compose.dev.yml -f docker-compose.ssh.yml stop
@./gradlew -q compose -Pcompose-target=stop


####
Expand Down Expand Up @@ -87,6 +82,10 @@ log-kafka:
log-minio:
@docker logs -f vdi-service-minio-external-1

.PHONY: log-rabbit
log-rabbit:
@docker logs -f vdi-service-rabbit-external-1


####
## Console Shortcuts
Expand Down
7 changes: 5 additions & 2 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ pluginManagement {
}
}

extra["github-user"] = requireNonBlankGitHubCred("gpr.user", "GITHUB_USERNAME")
extra["github-pass"] = requireNonBlankGitHubCred("gpr.key", "GITHUB_TOKEN")

repositories {
mavenLocal()
mavenCentral()
Expand All @@ -28,8 +31,8 @@ pluginManagement {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/veupathdb/maven-packages")
credentials {
username = requireNonBlankGitHubCred("gpr.user", "GITHUB_USERNAME")
password = requireNonBlankGitHubCred("gpr.key", "GITHUB_TOKEN")
username = extra["github-user"] as String
password = extra["github-pass"] as String
}
}
}
Expand Down

0 comments on commit 8c41d3c

Please sign in to comment.