Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ concurrency:
env:
JAVA_VERSION: 17
JAVA_DISTRIBUTION: 'corretto'
JAVA_OPTS: "-Xms8g -Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g"
JAVA_OPTS: "-Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g"

jobs:
compilation:
Expand All @@ -48,6 +48,7 @@ jobs:
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v5
with:
cache: gradle
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}

Expand All @@ -56,11 +57,18 @@ jobs:
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5

- name: Assemble with Gradle Wrapper
run: ./gradlew assemble ktlintCheck

- name: TestClasses with Gradle Wrapper
run: ./gradlew jvmTestClasses jsTestClasses
- name: Assemble and Checks
run: |-
./gradlew assemble jvmTestClasses jsTestClasses detekt ktlintCheck \
--no-daemon --parallel --max-workers 3

- name: Collect reports
if: always()
uses: actions/upload-artifact@v6
with:
name: reports-compilation
path: |
**/build/reports/

docs:
runs-on: ubuntu-latest
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
.gradle
**/.kotlin
.idea
!.idea/detekt.xml
!.idea/externalDependencies.xml
build
**/.claude/settings.local.json
env.properties
Expand Down
14 changes: 14 additions & 0 deletions .idea/detekt.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/externalDependencies.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 25 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ai.koog.gradle.fixups.DisableDistTasks.disableDistTasks
import ai.koog.gradle.plugins.CheckSplitPackagesExtension
import ai.koog.gradle.plugins.CheckSplitPackagesPlugin
import io.gitlab.arturbosch.detekt.Detekt
import okhttp3.MultipartBody
import okhttp3.OkHttpClient
import okhttp3.Request
Expand Down Expand Up @@ -88,6 +89,7 @@ plugins {
id("ai.kotlin.dokka")
alias(libs.plugins.kotlinx.kover)
alias(libs.plugins.ktlint)
alias(libs.plugins.detekt)
}

allprojects {
Expand All @@ -99,18 +101,36 @@ allprojects {

disableDistTasks()

// Apply Kover and ktlint to all subprojects
subprojects {
apply(plugin = "org.jetbrains.kotlinx.kover")
apply(plugin = "org.jlleitschuh.gradle.ktlint")
}

subprojects {
apply {
plugin("org.jetbrains.kotlinx.kover")
plugin("org.jlleitschuh.gradle.ktlint")
plugin("io.gitlab.arturbosch.detekt")
}

extensions.configure<KtlintExtension> {
outputToConsole = true
coloredOutput = true
}

detekt {
buildUponDefaultConfig = true
config.from(rootProject.files("config/detekt.yml"))
basePath = rootProject.projectDir.absolutePath
parallel = true
ignoreFailures = true // TODO: fix issues and re-enable
}

tasks.withType<Detekt>().configureEach {
reports {
html.required = true
sarif.required = false
txt.required = false
xml.required = true
}
}

tasks.withType<Test> {
testLogging {
showStandardStreams = true
Expand Down
7 changes: 7 additions & 0 deletions config/detekt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
build:
maxIssues: 0

config:
validation: true
warningsAsErrors: false
excludes: ''
2 changes: 2 additions & 0 deletions convention-plugin-ai/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
rootProject.name = "convention-plugin-ai"

dependencyResolutionManagement {
versionCatalogs {
create("libs") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ tasks.withType<JavaCompile>().configureEach {
}

configurations.all {
if (name.startsWith("detekt")) return@all
resolutionStrategy {
eachDependency {
/*
Expand Down
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ annotations = "26.0.2-1"
assertj = "3.27.6"
awaitility = "4.3.0"
aws-sdk-kotlin = "1.5.16"
detekt = "1.23.8"
dokka = "2.1.0"
exposed = "0.61.0"
h2 = "2.4.240"
Expand Down Expand Up @@ -130,6 +131,7 @@ spring-boot-core = [

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
knit = { id = "org.jetbrains.kotlinx.knit", version.ref = "knit" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
Expand Down
2 changes: 2 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ pluginManagement {
}
}

enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")

include(":agents:agents-core")
include(":agents:agents-ext")
include(":agents:agents-planner")
Expand Down