diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..461bf48 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,15 @@ +name: 'Publish AG-UI Protocol' +on: + release: + types: [published] +jobs: + deploy-dev: + name: 'Deploy to dev' + runs-on: ubuntu-latest + steps: + - name: 'Checkout' + uses: https://github.com/actions/checkout@v4 + - name: 'Publishing Gradle' + uses: https://git.binom.pw/subochev/devops/publish@main + with: + version: ${{ gitea.ref_name }} diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 56cbd68..1d3c6a7 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.maven.publish) } kotlin { diff --git a/build.gradle.kts b/build.gradle.kts index 886c1ef..1959e40 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.api.publish.maven.MavenPublication + plugins { alias(libs.plugins.kotlin.multiplatform) apply false alias(libs.plugins.kotlin.serialization) apply false @@ -5,5 +7,29 @@ plugins { allprojects { group = "pw.binom.agui" - version = "0.1.0-SNAPSHOT" +} + +subprojects { + plugins.withId("maven-publish") { + extensions.configure("publishing") { + publications.withType().configureEach { + pom { + name.set(project.name) + description.set("AG-UI (Agent-User Interface) protocol implementation") + url.set("https://github.com/ag-ui-protocol/ag-ui") + } + } + repositories { + maven { + name = "caffeine" + url = uri("http://nexus.xx/repository/caffeine/") + isAllowInsecureProtocol = true + credentials { + username = (project.findProperty("binom.repo.user") as String?) ?: System.getenv("BINOM_REPO_USER").orEmpty() + password = (project.findProperty("binom.repo.password") as String?) ?: System.getenv("BINOM_REPO_PASSWORD").orEmpty() + } + } + } + } + } } \ No newline at end of file diff --git a/client/build.gradle.kts b/client/build.gradle.kts index 732cd76..98561e8 100644 --- a/client/build.gradle.kts +++ b/client/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.maven.publish) } kotlin { diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..1704855 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +version=0.1.0-SNAPSHOT diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7168719..3006bce 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,4 +23,5 @@ ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx [plugins] kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } -kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } \ No newline at end of file +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +maven-publish = { id = "maven-publish" } \ No newline at end of file diff --git a/server/build.gradle.kts b/server/build.gradle.kts index 7a18d40..23344c9 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.maven.publish) } kotlin {