Skip to content

Commit

Permalink
EY-4328: Samkøyre implementasjonane, rydd i konfig, forenkle oppsett (#…
Browse files Browse the repository at this point in the history
…327)

* EY-4328: Tar bort unødig import

* Tar bort konfig som ikkje slår til, og som uansett er definert også i pluginane

* Vi genererer ikkje java-kode, så tar bort konfigen for det

* cutterslade-analyze-pluginen har vi ikkje brukt dei siste par åra, iallfall, så da klarer vi oss nok utan han også framover

* Oppdaterer syntaks for å spesifisere kompileringsversjon

* Flyttar deklareringa av kotlin-versjon, fint å ha alt av versjonering i build-filene

* Tar plugin-buildsrc-konfig for common-modulen inn i common. Per no er det det einaste biblioteket vi har her, vi har ingen umiddelbare planar om å ta inn fleire (som er gradle-konfigurert), så da er det fint å ha det samla, så kan vi heller generalisere igjen ved behov

* Tweakar litt på kva som byggjast når, sånn at vi kan bruke Gradle configuration cache også her

* Bruker setup gradle-action, som er tilrådd frå Gradle-teamet, heller enn setup java-actionen for caching. Skrur med det samme på Gradle configuration cache for byggejobbane

* Slår samna readme-ene ordentleg
  • Loading branch information
madsop-nav authored Sep 17, 2024
1 parent 4d8684b commit b8c5ade
Show file tree
Hide file tree
Showing 13 changed files with 62 additions and 118 deletions.
1 change: 0 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ updates:
groups:
backend:
patterns:
- "ca.cutterslade.analyze"
- "io.ktor*"
- "org.jetbrains.kotlinx*"
- "no.nav.security:token*"
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/.build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,17 @@ jobs:
with:
distribution: temurin
java-version: 21
cache: gradle
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v4
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-encryption-key: ${{ secrets.gradlekey }}
dependency-graph: generate-and-submit
- name: Gradle test and build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew :apps:${{ github.workflow }}:build
run: ./gradlew :apps:${{ github.workflow }}:build --configuration-cache

- name: Build and publish docker image
uses: nais/docker-build-push@v0
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/.test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ jobs:
with:
distribution: temurin
java-version: 21
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Gradle test and build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,15 @@ jobs:
with:
distribution: temurin
java-version: 21
cache: gradle

- name: Setup Gradle
uses: gradle/gradle-build-action@v3
uses: gradle/actions/setup-gradle@v4
with:
cache-encryption-key: ${{ secrets.gradlekey }}
dependency-graph: generate-and-submit

- name: Assemble
run: ./gradlew assemble --no-build-cache --no-configuration-cache
run: ./gradlew assemble -Dorg.gradle.jvmargs="-Dkotlin.daemon.jvmargs=-Xmx16g" --configuration-cache
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

# Build
- name: Test and build
run: ./gradlew :common:build
run: ./gradlew :common:build --configuration-cache

release-dev:
name: Create Release - Dev
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/verify-branches.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,16 @@ jobs:
with:
distribution: temurin
java-version: 21
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
cache-encryption-key: ${{ secrets.gradlekey }}
dependency-graph: generate-and-submit

# Build
- name: Run Gradle Check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
chmod +x ./gradlew
./gradlew check
./gradlew check --configuration-cache
63 changes: 9 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,17 @@ Proxy for å tillate kommunikasjon mellom GCP og On-Prem.
[ey-pdfgen](apps/ey-pdfgen) \
Enkel app for opprettelse av PDF til journalføring. Benytter seg av [pdfgen](https://github.com/navikt/pdfgen)

[ey-slackbot](apps/ey-slackbot) \
Konfigurasjon av slackbot for teamet.

# Libs

- [common](common)


# Kom i gang

Noen avhengigheter i prosjektet ligger i Github Package Registry som krever autentisering. Det enkleste er å lage en [PAT (Personal Access Token)](https://github.com/settings/tokens).
Common-biblioteket i prosjektet blir released til Github Package Registry som krever autentisering. For å ta dem i bruk som dependencies i et annet prosjekt er det enkleste er å lage et [PAT (Personal Access Token)](https://github.com/settings/tokens).

1. Opprett [PAT](https://github.com/settings/tokens). I tilfelle lenken ikke fungerer går man til `Github -> Settings -> Developer settings -> Personal access tokens`
2. Huk av `read:packages`. Ikke legg til flere scopes enn nødvendig.
Expand All @@ -49,15 +56,6 @@ En app bygges og deployes automatisk når en endring legges til i `main`.
For å trigge **manuell deploy** kan du gå til `Actions -> (velg workflow) -> Run workflow from <branch>`


# Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub.


## For NAV-ansatte

Interne henvendelser kan sendes via Slack i kanalen [#po-pensjon-team-etterlatte](https://nav-it.slack.com/archives/C01KJ597UAU).

# Utviklerhåndbok
## Pakkestruktur
Alle filer under samme source-root skal ha en pakkestruktur som er konsekvent relativt til hverandre
Expand Down Expand Up @@ -85,7 +83,7 @@ feilen kastes/logges

## Felles kode (common / utils)
* Bruk av common er OK. Vurder å dele opp common etter domener og/eller integrasjoner.
* Bruk pensjon-etterlatte-libs for ting som er felles på tvers av apper.
* Bruk common-biblioteket for ting som er felles på tvers av apper.

## Lagring av dato i DB
Vi har en egen klasse for håndtering av tidspunkt. Den heter Tidspunkt
Expand Down Expand Up @@ -134,49 +132,6 @@ Fant ikke ressurs -> 404 eller 204?
Noe feilet -> 500
```



-----
# pensjon-etterlatte-libs

Felles biblioteker for Team Etterlatte.


# Libs

- [common](common)


# Kom i gang

Pakkene som produseres ved release her lagres i Github Package Registry, som krever autentisering.
For å ta de i bruk som dependencies i et annet prosjekt er det enkleste er å lage et
[PAT (Personal Access Token)](https://github.com/settings/tokens).

1. [Opprett PAT her](https://github.com/settings/tokens). I tilfelle lenken ikke fungerer går man til `Github -> Settings -> Developer settings -> Personal access tokens`
2. Huk av `read:packages`. Ikke legg til flere scopes enn nødvendig.
3. Autoriser navikt-organisasjonen for SSO ved å velge "Configure SSO" på tokenet
4. Tokenet legges i `.zshrc` med `export GITHUB_TOKEN=<token>`


# Felles apper

Alle apper som er felles for Team Etterlatte ligger i [etterlatte-pensjon-felles](https://github.com/navikt/pensjon-etterlatte-felles).


# Kafka / Rapids & Rivers

Topic.yaml-filer er flyttet til [etterlatte-pensjon-felles](https://github.com/navikt/pensjon-etterlatte-felles).


# Bygg og release


En app bygges og deployes automatisk når en endring legges til i `main`.

For å trigge **manuell deploy** kan du gå til `Actions -> (velg workflow) -> Run workflow from <branch>`


# Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub.
Expand Down
25 changes: 5 additions & 20 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import ca.cutterslade.gradle.analyze.AnalyzeDependenciesTask
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
kotlin("jvm") version "2.0.20"
`kotlin-dsl`
alias(libs.plugins.cutterslade.analyze) apply true
}

group = "no.nav.etterlatte"
Expand All @@ -29,22 +27,9 @@ tasks {
gradleVersion = "8.10"
}

withType<Test> {
useJUnitPlatform()
testLogging {
events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED)
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_21)
}
}

withType<KotlinCompile> {
kotlinOptions.jvmTarget = JavaVersion.VERSION_21.toString()
}
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
withType<AnalyzeDependenciesTask> {
warnUsedUndeclared = true
warnUnusedDeclared = true
}
}
15 changes: 12 additions & 3 deletions buildSrc/src/main/kotlin/etterlatte.common.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import org.gradle.api.tasks.testing.logging.TestLogEvent
import org.gradle.accessors.dm.LibrariesForLibs
import org.gradle.api.tasks.testing.logging.TestLogEvent

val libs = the<LibrariesForLibs>()

Expand Down Expand Up @@ -46,9 +46,18 @@ tasks {
}
}

val configuration =
configurations.runtimeClasspath.get().map {
it.toPath().toFile()
}
val buildDirectory = layout.buildDirectory
doLast {
configurations.runtimeClasspath.get().forEach {
val file = layout.buildDirectory.file("libs/${it.name}").get().asFile
configuration.forEach {
val file =
buildDirectory
.file("libs/${it.name}")
.get()
.asFile
if (!file.exists()) {
it.copyTo(file)
}
Expand Down
22 changes: 0 additions & 22 deletions buildSrc/src/main/kotlin/etterlatte.gradle.kts

This file was deleted.

17 changes: 16 additions & 1 deletion common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
import org.gradle.api.tasks.testing.logging.TestLogEvent

plugins {
kotlin("jvm")
id("maven-publish")
id("etterlatte")
}

repositories {
mavenCentral()
}

dependencies {
Expand All @@ -16,6 +22,15 @@ dependencies {
testImplementation(libs.mockk)
}

tasks {
withType<Test> {
useJUnitPlatform()
testLogging {
events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED)
}
}
}

publishing {
repositories {
maven {
Expand Down
4 changes: 0 additions & 4 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
[plugins]
cutterslade-analyze = { id = "ca.cutterslade.analyze", version = "1.10.0" }


[versions]
ktor-version = "2.3.12"
jupiter-version = "5.11.0"
Expand Down
4 changes: 0 additions & 4 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
rootProject.name = "pensjon-etterlatte-felles"

plugins {
kotlin("jvm") version "2.0.20" apply false
}

include(
"apps:etterlatte-proxy",
"apps:etterlatte-notifikasjoner",
Expand Down

0 comments on commit b8c5ade

Please sign in to comment.