163 lines
4.3 KiB
Groovy
Raw Normal View History

apply plugin: "org.gradle.playframework"
2019-08-31 20:51:14 -07:00
// Change this to listen on a different port
project.ext.httpPort = 9001
project.ext.playBinaryBaseName = "datahub-frontend"
tasks.withType(PlayRun) {
httpPort = project.ext.httpPort
}
configurations {
assets
play
2019-08-31 20:51:14 -07:00
}
dependencies {
assets project(path: ':datahub-web-react', configuration: 'assets')
constraints {
play(externalDependency.springCore)
play(externalDependency.springBeans)
play(externalDependency.springContext)
play(externalDependency.jacksonDataBind)
play('com.nimbusds:oauth2-oidc-sdk:8.36.2')
play('com.nimbusds:nimbus-jose-jwt:8.18')
play('com.typesafe.akka:akka-actor_2.12:2.6.20')
play('net.minidev:json-smart:2.4.8')
play('io.netty:netty-all:4.1.85.Final')
implementation(externalDependency.commonsText) {
because("previous versions are vulnerable to CVE-2022-42889")
}
}
compile project(":metadata-service:restli-client")
compile project(":metadata-service:auth-api")
implementation externalDependency.jettyJaas
implementation externalDependency.graphqlJava
implementation externalDependency.antlr4Runtime
implementation externalDependency.antlr4
implementation externalDependency.akkaHttp
implementation externalDependency.jerseyCore
implementation externalDependency.jerseyGuava
2022-06-03 17:32:54 -05:00
implementation(externalDependency.pac4j) {
exclude group: "net.minidev", module: "json-smart"
exclude group: "com.nimbusds", module: "nimbus-jose-jwt"
2022-06-03 17:32:54 -05:00
}
implementation 'com.nimbusds:nimbus-jose-jwt:8.18'
2022-06-03 17:32:54 -05:00
implementation externalDependency.jsonSmart
implementation externalDependency.playPac4j
implementation externalDependency.shiroCore
implementation externalDependency.playCache
implementation externalDependency.playEhcache
implementation externalDependency.playWs
implementation externalDependency.playServer
implementation externalDependency.playAkkaHttpServer
implementation externalDependency.playFilters
implementation externalDependency.kafkaClients
implementation externalDependency.awsMskIamAuth
testImplementation externalDependency.mockito
testImplementation externalDependency.playTest
testImplementation 'no.nav.security:mock-oauth2-server:0.3.1'
testImplementation 'org.junit-pioneer:junit-pioneer:1.9.1'
testImplementation externalDependency.junitJupiterApi
testRuntime externalDependency.junitJupiterEngine
implementation externalDependency.slf4jApi
compileOnly externalDependency.lombok
runtime externalDependency.guice
runtime (externalDependency.playDocs) {
exclude group: 'com.typesafe.akka', module: 'akka-http-core_2.12'
}
runtime externalDependency.playGuice
implementation externalDependency.log4j2Api
implementation externalDependency.logbackClassic
annotationProcessor externalDependency.lombok
}
dist.dependsOn(':datahub-web-react:copyAssets')
test.dependsOn(':datahub-frontend:testResources')
play {
platform {
playVersion = '2.8.18'
scalaVersion = '2.12'
javaVersion = JavaVersion.VERSION_11
}
injectedRoutesGenerator = true
2019-08-31 20:51:14 -07:00
}
model {
components {
play {
platform play: '2.8.18', scala: '2.12', java: '11'
2019-08-31 20:51:14 -07:00
injectedRoutesGenerator = true
binaries.all {
tasks.withType(PlatformScalaCompile) {
scalaCompileOptions.forkOptions.jvmArgs = ['-Xms1G', '-Xmx1G', '-Xss2M']
}
}
binaries.all { binary ->
binary.assets.addAssetDir moveAssets.destinationDir
binary.assets.builtBy moveAssets
}
}
}
}
test {
useJUnitPlatform()
}
sourceSets {
test {
resources {
srcDirs = ['test/resources']
}
}
}
// minimal files for low-level tests
task testResources {
copy {
from '../datahub-web-react/public'
into 'test/resources/public'
}
}
task unzipAssets(type: Copy, dependsOn: [configurations.assets, ':datahub-web-react:yarnBuild']) {
2019-08-31 20:51:14 -07:00
into "${buildDir}/assets"
from {
configurations.assets.collect { zipTree(it) }
}
}
// move assets/assets into assets
task moveAssets(type: Copy, dependsOn: unzipAssets) {
into "${buildDir}/assets"
from ("${buildDir}/assets/assets")
}
clean {
delete 'public/platforms'
delete 'public/static'
delete 'public/asset-manifest.json'
delete 'public/manifest.json'
delete 'public/robots.txt'
delete 'public/logo.png'
delete 'public/index.html'
delete 'public/favicon.ico'
delete 'test/resources/public'
}