Skip to content

Instantly share code, notes, and snippets.

@Deviad
Created March 26, 2020 11:54
Show Gist options
  • Save Deviad/a63d8e9b18205eda09efeaa19e53fa19 to your computer and use it in GitHub Desktop.
Save Deviad/a63d8e9b18205eda09efeaa19e53fa19 to your computer and use it in GitHub Desktop.
How can I get a fatjar?
import com.moowork.gradle.node.yarn.YarnTask
/*
* This file was generated by the Gradle 'init' task.
*/
buildscript {
repositories {
mavenCentral()
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:1.6.1"
classpath "net.ltgt.gradle:gradle-apt-plugin:0.21"
classpath "com.moowork.gradle:gradle-node-plugin:1.3.1"
}
}
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'com.moowork.node'
description = "agrilinkresource"
mainClassName = "com.agrilink.agrilinkresource.AgrilinkResourceServer"
archivesBaseName = "agrilinkresource"
assert System.properties["java.specification.version"] == "1.8" || "11" || "12" | "13"
ext {
mapstructVersion = '1.3.1.Final'
micronautVersion = '1.3.3'
micronautKafka = '1.2.0'
micronautSecurityJwt = '1.3.1'
micronautTestJunit = '1.1.5'
}
dependencies {
compile project(":agrilinkshared")
implementation 'io.opentracing.brave:brave-opentracing:0.34.2'
compile "org.keycloak:keycloak-admin-client:9.0.0"
compile "org.keycloak:keycloak-core:9.0.0"
compile "org.jboss.resteasy:resteasy-multipart-provider:3.9.3.Final"
compile "org.jboss.resteasy:resteasy-jackson2-provider:3.9.3.Final"
compile("io.micronaut.configuration:micronaut-security-oauth2:1.3.1")
compile("io.micronaut:micronaut-security:1.3.1")
compile "io.micronaut:micronaut-tracing:${micronautVersion}"
compile "io.micronaut:micronaut-security-jwt:${micronautSecurityJwt}"
compile "io.micronaut:micronaut-discovery-client:${micronautVersion}"
compile "javax.annotation:javax.annotation-api:1.3.2"
compile "io.micronaut:micronaut-http-client:${micronautVersion}"
compile "io.micronaut:micronaut-inject:${micronautVersion}"
compile "io.micronaut:micronaut-validation:${micronautVersion}"
compile "io.micronaut:micronaut-runtime:${micronautVersion}"
// compile "io.micronaut.configuration:micronaut-kafka:${micronautKafka}"
// compile "io.micronaut.configuration:micronaut-kafka-streams:${micronautKafka}"
compile "io.micronaut:micronaut-http-server-netty:${micronautVersion}"
compile "org.jooq:jool:0.9.14"
compile "net.jodah:failsafe:2.3.1"
compile "io.projectreactor:reactor-core:3.2.11.RELEASE"
compile "an.awesome:pipelinr:0.3"
// runtime "io.zipkin.brave:brave-instrumentation-http:5.6.5"
// runtime "io.zipkin.reporter2:zipkin-reporter:2.10.0"
runtime "ch.qos.logback:logback-classic:1.2.3"
compile "com.google.guava:guava:28.1-jre"
testCompile "org.junit.jupiter:junit-jupiter-api:5.5.0"
testCompile "org.junit.jupiter:junit-jupiter-engine:5.5.0"
testCompile "io.micronaut.test:micronaut-test-junit5:${micronautTestJunit}"
compile "org.mapstruct:mapstruct:${mapstructVersion}"
compileOnly "org.projectlombok:lombok:1.18.8"
annotationProcessor "org.projectlombok:lombok:1.18.8"
compile "org.mapstruct:mapstruct:${mapstructVersion}"
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
compile "io.micronaut:micronaut-inject-java:${micronautVersion}"
annotationProcessor "io.micronaut:micronaut-inject-java:${micronautVersion}"
compile "io.micronaut:micronaut-validation:${micronautVersion}"
annotationProcessor "io.micronaut:micronaut-validation:${micronautVersion}"
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
tasks.withType(JavaCompile) {
options.compilerArgs = [
'-Amapstruct.suppressGeneratorTimestamp=true'
]
}
tasks.register("agrilinkresource:copyReactAppToTarget")
tasks.register("agrilinkresource:copyReactAppToTargetResources")
task "copyReactAppToTarget"(type: Copy) {
from("src/main/app")
into("target/app-src")
}
task "bundle" (type: YarnTask) {
dependsOn(yarn)
setWorkingDir(file("target/app-src"))
args = ["build"]
}
task "copyReactAppToTargetResources"(type: Copy) {
dependsOn(bundle)
from("target/app-src/build")
into("target/resources/main/app")
}
yarn {
dependsOn(copyReactAppToTarget)
}
run {
dependsOn(copyReactAppToTargetResources)
main = "com.agrilink.agrilinkresource.AgrilinkResourceServer"
// args("--spring.profiles.active=demo")
}
assemble {
dependsOn(jar)
dependsOn(copyReactAppToTargetResources)
}
node {
version = "12.16.1"
yarnVersion = "1.22.4"
download = true
buildDir = file("target")
distBaseUrl = "https://nodejs.org/dist"
// yarnWorkDir = file("${project.buildDir}/yarn")
workDir = file("$buildDir/app/nodejs")
yarnWorkDir = file("$buildDir/app/yarn")
// nodeModulesDir = file("${project.buildDir}/resources/main/react-app")
nodeModulesDir = file("$buildDir/app-src")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment