Coder Social home page Coder Social logo

arrow-kt / arrow-gradle-config Goto Github PK

View Code? Open in Web Editor NEW
15.0 12.0 2.0 303 KB

Kotlin Gradle plugins for conveniently setting up Kotlin projects (JVM/MPP), publishing, Dokka, etc

License: Apache License 2.0

Kotlin 100.00%
gradle arrow-kt kotlin gradle-plugin gradle-kotlin-dsl kotlin-library kotlin-multiplatform

arrow-gradle-config's Introduction

Arrow Gradle config

Add basic config to a Kotlin Multiplatform project

In an Arrow KMP project, just add to the plugin block:

plugins {
    kotlin("multiplatform") version "$version"
    id("io.arrow-kt.arrow-gradle-config-kotlin")
    // ...
}

// ...

Publish Arrow projects

Add to the root build.gradle.kts the next plugin to the plugin block if it is not there yet:

plugins {
    id("io.arrow-kt.arrow-gradle-config-nexus") version "$version"
    // ...
}

Add the POM Gradle properties for the project (modify with the real value):

pom.name=Sample name
pom.description=Sample description
pom.url=https://github.com/arrow-kt/sample-repo
pom.license.name=The Apache License, Version 2.0
pom.license.url=https://www.apache.org/licenses/LICENSE-2.0.txt
pom.developer.id=arrow-kt
pom.developer.name=The Arrow Authors
pom.smc.url=https://github.com/arrow-kt/sample-repo
pom.smc.connection=scm:git:[email protected]:arrow-kt/sample-repo.git
pom.smc.developerConnection=scm:git:[email protected]:arrow-kt/sample-repo.git

And add the next Gradle properties and/or environment variables for signing the artifacts (they must not be exposed publicly):

  • Gradle properties
signing.gnupg.keyId=[keyId]
signing.gnupg.key=[key]
signing.gnupg.passphrase=[passphrase]
oss.user=[user]
oss.token=[token]
oss.stagingProfileId=[stagingProfileId]
  • Environment variables
SIGNING_KEY_ID=[keyId]
SIGNING_KEY=[key]
SIGNING_KEY_PASSPHRASE=[passphrase]
OSS_USER=[user]
OSS_TOKEN=[token]
OSS_STAGING_PROFILE_ID=[stagingProfileId]

Remember to replace the different properties with the real values

Remember to replace the signing.gnupg.key or SIGNING_KEY line breaks with \n

Publish projects

plugins {
    id("io.arrow-kt.arrow-gradle-config-publish") version "$version"
    // ...
}

// ...

Add the next properties to gradle.properties file

projects.group=[group]
projects.version=[version]

Remember to replace the different properties with the real values

if the project is a Gradle plugin

gradlePlugin {
    plugins {
        named("[pluginId]") {
            id = "[pluginId]"
            displayName = "[pluginName]"
            description = "[pluginDescription]"
        }
    }
}

// ...

Add the next Gradle properties (they must not be exposed publicly):

gradle.publish.key=[key]
gradle.publish.secret=[secret]

Remember to replace the different properties with the real values

arrow-gradle-config's People

Contributors

franciscodr avatar i-walker avatar javiersegoviacordoba avatar myuwono avatar nomisrev avatar raulraja avatar renovate[bot] avatar serras avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

myuwono apatrida

arrow-gradle-config's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • Update all dependencies (gradle, org.jetbrains.kotlin.jvm, org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded, org.jetbrains.kotlin:kotlin-gradle-plugin, org.jetbrains.kotlinx:kotlinx-coroutines-core, com.android.tools.build:gradle)
  • Update all dependencies (major) (crazy-max/ghaction-import-gpg, io.github.gradle-nexus:publish-plugin, org.jetbrains.kotlin.jvm, org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded, org.jetbrains.kotlin:kotlin-gradle-plugin, com.gradle.publish:plugin-publish-plugin)

Detected dependencies

github-actions
.github/workflows/build.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
.github/workflows/generate-tag.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
.github/workflows/publish.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • gradle/gradle-build-action v3
  • crazy-max/ghaction-import-gpg v5
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
arrow-gradle-config-formatter/build.gradle.kts
arrow-gradle-config-formatter/src/main/kotlin/io.arrow-kt.arrow-gradle-config-formatter.gradle.kts
arrow-gradle-config-kotlin/build.gradle.kts
arrow-gradle-config-kotlin/src/main/kotlin/io.arrow-kt.arrow-gradle-config-kotlin.gradle.kts
arrow-gradle-config-nexus/build.gradle.kts
arrow-gradle-config-nexus/src/main/kotlin/io.arrow-kt.arrow-gradle-config-nexus.gradle.kts
arrow-gradle-config-publish/build.gradle.kts
arrow-gradle-config-publish/src/main/kotlin/io.arrow-kt.arrow-gradle-config-publish.gradle.kts
arrow-gradle-config-versioning/build.gradle.kts
arrow-gradle-config-versioning/src/main/kotlin/io.arrow-kt.arrow-gradle-config-versioning.gradle.kts
build-src/settings.gradle.kts
build-src/build.gradle.kts
build-src/src/main/kotlin/nexus.gradle.kts
build-src/src/main/kotlin/publish-gradle-plugin.gradle.kts
gradle/libs.versions.toml
  • com.android.tools.build:gradle 8.3.2
  • io.arrow-kt:arrow-core 1.2.4
  • io.arrow-kt:arrow-fx-coroutines 1.2.4
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.0
  • org.jetbrains.dokka:dokka-base 1.9.20
  • org.jetbrains.dokka:dokka-core 1.9.20
  • org.jetbrains.dokka:dokka-test-api 1.9.20
  • org.jetbrains.dokka:dokka-base-test-utils 1.9.20
  • org.jetbrains.dokka:gfm-plugin 1.9.20
  • org.jetbrains.dokka:dokka-gradle-plugin 1.9.20
  • com.gradle.publish:plugin-publish-plugin 0.21.0
  • io.github.gradle-nexus:publish-plugin 1.3.0
  • com.javiersc.semver:semver-gradle-plugin 0.5.1
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.9.23
  • org.jetbrains.kotlin:kotlin-scripting-jsr223-unshaded 1.9.23
  • com.diffplug.spotless:spotless-plugin-gradle 6.25.0
  • io.arrow-kt.arrow-gradle-config-formatter 0.11.0
  • io.arrow-kt.arrow-gradle-config-versioning 0.11.0
  • org.jetbrains.dokka 1.9.20
  • org.jetbrains.kotlin.jvm 1.9.23
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.