Skip to content

Commit

Permalink
Initial Login page
Browse files Browse the repository at this point in the history
  • Loading branch information
Sheikah45 committed Jul 9, 2023
1 parent 07db5cb commit a6c9782
Show file tree
Hide file tree
Showing 62 changed files with 2,428 additions and 2,399 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ out/

### VS Code ###
.vscode/
/frontend/generated/
/frontend/index.html
164 changes: 58 additions & 106 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,128 +1,80 @@
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage

plugins {
val kotlinVersion = "1.8.21"

kotlin("jvm") version kotlinVersion
kotlin("kapt") version kotlinVersion
kotlin("plugin.allopen") version kotlinVersion
id("com.github.johnrengelman.shadow") version "8.1.1"
id("io.micronaut.application") version "3.5.3"

// /****** Additional tooling *****/
// // OpenAPI code generation
// id("org.openapi.generator") version "4.3.1"
// Code formatting
id("com.diffplug.spotless") version "6.19.0"
id("io.quarkus") version "3.1.2.Final"
id("com.vaadin") version "24.1.2"
}

val version: String by project
group = "com.faforever"
java.sourceCompatibility = JavaVersion.VERSION_17
defaultTasks("build")

val kotlinVersion = project.properties.get("kotlinVersion")
repositories {
mavenCentral()
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

dependencies {
kapt("io.micronaut:micronaut-http-validation")
kapt("io.micronaut.data:micronaut-data-processor")
kapt("io.micronaut.openapi:micronaut-openapi")
kapt("io.micronaut.security:micronaut-security-annotations")
implementation("io.micronaut:micronaut-http-client")
implementation("io.micronaut:micronaut-jackson-databind")
implementation("org.springframework.security:spring-security-crypto:6.1.0")
implementation("io.micronaut:micronaut-management")
implementation("io.micronaut:micronaut-runtime")
implementation("io.micronaut.security:micronaut-security-jwt")
implementation("io.micronaut.data:micronaut-data-r2dbc")
// Workaround for https://github.com/micronaut-projects/micronaut-r2dbc/issues/377
implementation("io.r2dbc:r2dbc-pool")
implementation("io.micronaut.kotlin:micronaut-kotlin-runtime")
implementation("io.micronaut.views:micronaut-views-thymeleaf")
implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.2.1")
implementation("io.micronaut.micrometer:micronaut-micrometer-core")
implementation("io.micronaut.micrometer:micronaut-micrometer-registry-prometheus")
implementation("io.micronaut.tracing:micronaut-tracing-jaeger")
implementation("io.swagger.core.v3:swagger-annotations")
implementation("jakarta.annotation:jakarta.annotation-api")
implementation("io.projectreactor.kotlin:reactor-kotlin-extensions:1.2.2")
runtimeOnly("ch.qos.logback:logback-classic")
runtimeOnly("org.mariadb:r2dbc-mariadb")
runtimeOnly("io.r2dbc:r2dbc-h2")
implementation("io.micronaut:micronaut-validation")

runtimeOnly("com.fasterxml.jackson.module:jackson-module-kotlin")

testImplementation("io.projectreactor:reactor-test:3.5.6")
val mockitoVersion = "5.3.1"
testImplementation("org.mockito:mockito-core:$mockitoVersion")
testImplementation("org.mockito:mockito-junit-jupiter:$mockitoVersion")
testImplementation("org.mockito.kotlin:mockito-kotlin:5.0.0")
val mockserverVersion = "5.15.0"
testImplementation("org.mock-server:mockserver-netty:$mockserverVersion")
testImplementation("org.mock-server:mockserver-client-java:$mockserverVersion")
}
val quarkusVersion: String by project
val vaadinVersion: String by project
val vaadinQuarkusVersion: String by project

application {
mainClass.set("com.faforever.userservice.ApplicationKt")
repositories {
mavenCentral()
maven { setUrl("https://maven.vaadin.com/vaadin-prereleases") }
mavenLocal()
}

tasks {
compileKotlin {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "17"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "17"
}
}

named<DockerBuildImage>("dockerBuild") {
images.empty()
images.add("faforever/faf-user-service")
}
dependencies {
implementation(enforcedPlatform("com.vaadin:vaadin-bom:${vaadinVersion}"))
implementation(enforcedPlatform("io.quarkus.platform:quarkus-bom:${quarkusVersion}"))

implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("io.quarkus:quarkus-rest-client-reactive-jackson")
implementation("io.quarkus:quarkus-config-yaml")
implementation("io.quarkus:quarkus-hibernate-validator")
implementation("io.quarkus:quarkus-resteasy-reactive-qute")
implementation("io.quarkus:quarkus-resteasy-reactive-jackson")
implementation("io.quarkus:quarkus-hibernate-orm-panache-kotlin")
implementation("io.quarkus:quarkus-qute")
implementation("io.quarkus:quarkus-csrf-reactive")
implementation("io.quarkus:quarkus-jdbc-mariadb")
implementation("io.quarkus:quarkus-kotlin")
implementation("io.quarkus:quarkus-container-image-jib")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("io.quarkus:quarkus-arc")
implementation("io.quarkus:quarkus-hibernate-orm")
implementation("io.quarkus:quarkus-resteasy-reactive")
implementation("com.vaadin:vaadin-core")
implementation("com.vaadin:vaadin-core-jandex")
implementation("com.vaadin:vaadin-quarkus:${vaadinQuarkusVersion}")
implementation("org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final")

testImplementation("io.quarkus:quarkus-junit5")
testImplementation("io.rest-assured:rest-assured")
}

graalvmNative.toolchainDetection.set(false)
micronaut {
runtime("netty")
testRuntime("junit5")
processing {
incremental(true)
annotations("com.faforever.*")
}
tasks.withType<Test> {
systemProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager")
}

docker {
registryCredentials {
val envUsername = System.getenv("DOCKER_USERNAME")
val envPassword = System.getenv("DOCKER_PASSWORD")

if (envUsername != null && envPassword != null) {
println("Setting up Docker registry login")
username.set(envUsername)
password.set(envPassword)
} else {
println("No docker credentials defined")
}
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
kotlinOptions.javaParameters = true
}

spotless {
val ktlintVersion = "0.49.1"
kotlin {
ktlint(ktlintVersion)
}
kotlinGradle {
target("*.gradle.kts")

ktlint(ktlintVersion)
}
/**
* Open Kotlin (data) classes and provide no-args constructor for Java compatibility
*/
allOpen {
// Quarkus
annotation("jakarta.ws.rs.Path")
annotation("jakarta.enterprise.context.ApplicationScoped")
annotation("io.quarkus.test.junit.QuarkusTest")

// Hibernate Causes issues with no default constructor
// annotation("jakarta.persistence.Entity")
// annotation("jakarta.persistence.MappedSuperclass")
// annotation("jakarta.persistence.Embeddable")
}

tasks.withType<Test> {
Expand Down
Loading

0 comments on commit a6c9782

Please sign in to comment.