# Maven Central

Maven Central is a public repository for open-source Java components and libraries, allowing developers to share and consume Java artifacts.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Add sign-in to an Android app with the WorkOS Android SDK

DevFeed: [Add sign-in to an Android app with the WorkOS Android SDK](<https://devfeed.tech/articles/add-sign-in-to-an-android-app-with-the-workos-android-sdk-16062.md>)

Original publisher: [Read original article](<https://workos.com/blog/sign-in-to-an-android-app-with-the-workos-android-sdk>)

Author: WorkOS

Published: 2026-08-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [pkce](<https://devfeed.tech/topics/pkce.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [Security](<https://devfeed.tech/topics/security.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [flow](<https://devfeed.tech/tags/flow.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [security](<https://devfeed.tech/tags/security.md>), [sign-in](<https://devfeed.tech/tags/sign-in.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial shows how to add WorkOS AuthKit sign-in to a Kotlin Android app using the WorkOS Android SDK. It covers the Gradle dependency, Chrome Custom Tab authentication, custom-scheme redirects, PKCE token exchange, session storage and refresh, and logout without embedding a client secret in the APK.

### Source excerpt

Build a complete AuthKit flow in Kotlin, from Gradle dependency to signed-out state, with no client secret in your APK.

## Why Codename One Is Moving Beyond Maven Central

DevFeed: [Why Codename One Is Moving Beyond Maven Central](<https://devfeed.tech/articles/why-codename-one-is-moving-beyond-maven-central-19361.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/maven-central-cloudflare-r2/>)

Author: Shai Almog

Published: 2026-08-04T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [releases](<https://devfeed.tech/tags/releases.md>)

### AI overview

Codename One is moving from Maven Central to a repository operated on Cloudflare R2. The staged migration includes a smaller release payload, dual publishing during the transition, and a planned cutover; the August 28, 2026 update says new releases now go only to the Codename One repository.

### Source excerpt

Codename One is starting a staged move from Maven Central to a free Cloudflare R2 repository, with dual publishing, a smaller release payload, and an explicit cutover plan.

## Versioned Builds Are Back, With Master Builds For Fast Verification

DevFeed: [Versioned Builds Are Back, With Master Builds For Fast Verification](<https://devfeed.tech/articles/versioned-builds-are-back-with-master-builds-for-fast-verification-19660.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/versioned-builds-master/>)

Author: Shai Almog

Published: 2026-07-07T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Development](<https://devfeed.tech/topics/development.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [enterprise](<https://devfeed.tech/tags/enterprise.md>), [master](<https://devfeed.tech/tags/master.md>), [production](<https://devfeed.tech/tags/production.md>), [speed](<https://devfeed.tech/tags/speed.md>), [verification](<https://devfeed.tech/tags/verification.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

### AI overview

Codename One reintroduces versioned cloud builds, allowing developers to pin builds to a specific published release or build against the current development head. The article explains use cases including production stabilization, regression diagnosis, and reproducing older customer environments, while noting that master builds are intended for verification rather than production shipping and that older versions are limited by account level because of support costs.

### Source excerpt

Versioned builds return with a Maven-era model: pin a cloud build to a release, or build against master to verify the current development head.

## Hardwood 1.0: A Fast, Lightweight Apache Parquet Reader for the JVM

DevFeed: [Hardwood 1.0: A Fast, Lightweight Apache Parquet Reader for the JVM](<https://devfeed.tech/articles/hardwood-1-0-a-fast-lightweight-apache-parquet-reader-for-the-jvm-18826.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/hardwood-1-0-fast-lightweight-apache-parquet-reader-for-the-jvm/>)

Published: 2026-06-25T05:30:00Z

Content type: release

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [parquet](<https://devfeed.tech/topics/parquet.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Java](<https://devfeed.tech/topics/java.md>), [Library](<https://devfeed.tech/topics/library.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [apache-parquet](<https://devfeed.tech/tags/apache-parquet.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compression](<https://devfeed.tech/tags/compression.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [library](<https://devfeed.tech/tags/library.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [performance](<https://devfeed.tech/tags/performance.md>), [releases](<https://devfeed.tech/tags/releases.md>)

### AI overview

The article announces Hardwood 1.0, an open-source Apache Parquet library for Java 21 or newer and the JVM. It focuses on fast, multi-threaded reading with no mandatory dependencies, supports local and remote files, and is available from Maven Central.

### Source excerpt

Table of Contents Why Hardwood What's in Hardwood 1.0 Performance The Hardwood CLI Building Open-Source With AI A Big Thank You What's Ahead Hardwood is a new Parquet library for the JVM, written from scratch to do one thing well: read (and soon, write) Apache Parquet files fast, with no mandatory dependencies. It is performance-focused and multi-threaded at its core, fanning page decoding out across all your CPU cores by default. Today, Hardwood reaches 1.0. After five preview releases since the start of the year (Alpha1, Beta1, Beta2, CR1, CR2), we now consider Hardwood ready for production, and its public API will evolve with a strong focus on backwards compatibility going forward. Hardwood targets Java 21 or newer, is open-source (Apache License 2.0), and is available from Maven Central.

## Apollo Kotlin 5 Is Now Available

DevFeed: [Apollo Kotlin 5 Is Now Available](<https://devfeed.tech/articles/apollo-kotlin-5-is-now-available-23201.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/apollo-kotlin-5-is-now-available>)

Author: Martin Bonnin

Published: 2026-05-13T12:00:25Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>)

Tags: [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [cache](<https://devfeed.tech/tags/cache.md>), [changelog](<https://devfeed.tech/tags/changelog.md>), [community](<https://devfeed.tech/tags/community.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>)

### AI overview

Apollo Kotlin 5 is available on Maven Central with GraphQL Golden Path support, a new normalized cache, a modernized Gradle plugin, compiler plugin APIs, and an Apollo Kotlin agent skill. The release includes experimental GraphQL RFC support and provides a migration path from version 4.

### Source excerpt

Apollo Kotlin 5 is now available on Maven Central. GraphQL Golden Path ready, with a new normalized cache, agent skills support, and a modernized Gradle plugin.

## New Maven Central signing key and snapshot location

DevFeed: [New Maven Central signing key and snapshot location](<https://devfeed.tech/articles/new-maven-central-signing-key-and-snapshot-location-29012.md>)

Original publisher: [Read original article](<https://code.cash.app/new-maven-central-signing-key-and-snapshot-location>)

Author: Jake Wharton

Published: 2025-06-13T00:00:00Z

Content type: release

Language: en

Sources: [Cash App Code Blog](<https://devfeed.tech/sources/cash-app-code-blog.md>)

Topics: [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Publishing](<https://devfeed.tech/topics/publishing.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [open-source-artifacts](<https://devfeed.tech/tags/open-source-artifacts.md>), [public-key](<https://devfeed.tech/tags/public-key.md>), [release](<https://devfeed.tech/tags/release.md>), [server-android](<https://devfeed.tech/tags/server-android.md>), [signing](<https://devfeed.tech/tags/signing.md>), [snapshot](<https://devfeed.tech/tags/snapshot.md>), [snapshots](<https://devfeed.tech/tags/snapshots.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

Cash App migrated its open source artifact publishing to Sonatype's new platform after OSSRH reached end of life. The change introduces a company-wide GPG signing key and moves snapshot builds to the Central Portal Snapshot repository.

### Source excerpt

In response to Sonatype announcing the end-of-life for OSSRH, we have migrated to their new publishing platform for our open source artifacts. This is otherwise a transparent change for those who consume these artifacts from Maven Central, but there are two related changes which might affect your builds.

## Lessons Learned Releasing the Markdown Twain Jetpack Compose Library

DevFeed: [Lessons Learned Releasing the Markdown Twain Jetpack Compose Library](<https://devfeed.tech/articles/the-road-less-starred-lessons-learned-from-my-markdown-twain-library-37556.md>)

Original publisher: [Read original article](<https://colintheshots.com/writing/perfectly-imperfect-lessons-learned-from-my-markdown-twain-library/>)

Published: 2024-04-22T15:47:29Z

Content type: opinion

Language: en

Sources: [Colin The Shots](<https://devfeed.tech/sources/colin-the-shots.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Library](<https://devfeed.tech/topics/library.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

A software developer recounts releasing Markdown Twain, a WYSIWYG Markdown editor for Jetpack Compose, as open source. The article explains how rushed packaging and configuration, including Maven publishing and testing against source code instead of Maven Central, obscured errors and provides lessons from the release.

### Source excerpt

Introduction As a seasoned software developer deeply immersed in the world of Android, Kotlin, and Jetpack Compose, I've always been driven by a passion for creating tools that empower developers. My

## Maven Coordinates of the most popular JDBC Drivers

DevFeed: [Maven Coordinates of the most popular JDBC Drivers](<https://devfeed.tech/articles/maven-coordinates-of-the-most-popular-jdbc-drivers-28957.md>)

Original publisher: [Read original article](<https://blog.jooq.org/maven-coordinates-of-the-most-popular-jdbc-drivers/>)

Author: lukaseder

Published: 2023-12-13T11:25:44Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [drivers](<https://devfeed.tech/tags/drivers.md>), [integration](<https://devfeed.tech/tags/integration.md>), [java](<https://devfeed.tech/tags/java.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [jdbc-drivers](<https://devfeed.tech/tags/jdbc-drivers.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

A list of Maven coordinates for popular JDBC drivers used in jOOQ integration tests, with guidance to verify current versions on Maven Central and check driver licenses before downloading.

### Source excerpt

Do you need to add a JDBC driver to your application, and don't know its Maven coordinates? This blog post lists the most popular drivers from the jOOQ integration tests. Look up the latest versions directly on https://central.sonatype.com/ with parameters g:groupId a:artifactId, for example, the H2 database and driver: https://central.sonatype.com/search?q=g%3Acom.h2database+a%3Ah2 The list only includes drivers ... Continue reading Maven Coordinates of the most popular JDBC Drivers ->

## Mastering The Gradle Dependency Tree

DevFeed: [Mastering The Gradle Dependency Tree](<https://devfeed.tech/articles/mastering-the-gradle-dependency-tree-25156.md>)

Original publisher: [Read original article](<https://blog.droidchef.dev/mastering-the-gradle-dependency-tree/>)

Author: Ishan Khanna

Published: 2023-01-11T23:09:51Z

Content type: tutorial

Language: en

Sources: [Ishan Khanna](<https://devfeed.tech/sources/ishan-khanna.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Library](<https://devfeed.tech/topics/library.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [debug](<https://devfeed.tech/tags/debug.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [library](<https://devfeed.tech/tags/library.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [modularization](<https://devfeed.tech/tags/modularization.md>), [modules](<https://devfeed.tech/tags/modules.md>), [resolved](<https://devfeed.tech/tags/resolved.md>), [transitive-dependencies](<https://devfeed.tech/tags/transitive-dependencies.md>)

### AI overview

This tutorial explains Gradle dependencies, transitive dependencies, dependency configurations, and dependency trees. It also presents five ways to generate a dependency tree and discusses managing versions to avoid conflicts and unnecessary project bloat.

### Source excerpt

Learn everything about the Gradle Dependency Tree and Five Different Ways to Generate Them.

## The Evolution of Kotlin Multiplatform Mobile - 2022 Edition - Russell Wolf

DevFeed: [The Evolution of Kotlin Multiplatform Mobile - 2022 Edition - Russell Wolf](<https://devfeed.tech/articles/the-evolution-of-kotlin-multiplatform-mobile-2022-edition-russell-wolf-38328.md>)

Original publisher: [Read original article](<https://touchlab.co/the-evolution-of-kotlin-multiplatform-mobile>)

Published: 2022-10-31T18:13:15Z

Content type: opinion

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [kotlin multiplatform mobile](<https://devfeed.tech/topics/kotlin-multiplatform-mobile.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [Library](<https://devfeed.tech/topics/library.md>), [swift-package-manager](<https://devfeed.tech/topics/swift-package-manager.md>), [swift-package](<https://devfeed.tech/topics/swift-package.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-mobile](<https://devfeed.tech/tags/kotlin-multiplatform-mobile.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>)

### AI overview

This retrospective traces Kotlin Multiplatform Mobile from its early experimental stage, when Kotlin/Native memory management, Gradle configuration, and Xcode integration were difficult, to a more mature state with improved memory management, iOS integration through CocoaPods and Swift Package Manager, and better Kotlin-to-Swift interoperability. It also describes growth in the KMM library ecosystem, from about five published libraries in 2018 to more than 1,000 relevant artifacts on Maven Central.

### Source excerpt

Kotlin Multiplatform has come a long way in the last few years. As someone who was there when the KMP community first formed, I've seen the ecosystem grow from a few developers trying things out experimentally to a growing number of teams using it in their production apps. With the Kotlin Multiplatform Mobile Beta freshly announced, it's a neat moment to look back on how far everything has come. How It Started In the early days, KMP wasn't very easy for new users.

## Automate library publishing to Maven Central with GitHub Actions Workflow Dispatch 🤖

DevFeed: [Automate library publishing to Maven Central with GitHub Actions Workflow Dispatch 🤖](<https://devfeed.tech/articles/automate-library-publishing-to-maven-central-with-github-actions-workflow-dispatch-25700.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/automate-library-publishing-to-maven-central-with-github-actions-workflow-dispatch/>)

Author: Shreyas Patil

Published: 2022-01-21T12:49:26Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Library](<https://devfeed.tech/topics/library.md>), [releases](<https://devfeed.tech/topics/releases.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [ci](<https://devfeed.tech/tags/ci.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [guide](<https://devfeed.tech/tags/guide.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [releases](<https://devfeed.tech/tags/releases.md>), [source](<https://devfeed.tech/tags/source.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

A step-by-step guide to using GitHub Actions Workflow Dispatch to manually build a JVM library, publish it to Maven Central, create a version tag, and create a draft release.

### Source excerpt

Step-by-step guide to automating JVM library publishing to Maven Central using GitHub Actions and Workflow Dispatch for one-click releases.

## The Evolution of Kotlin Multiplatform Mobile - 2022 Edition (OLD) - Russell Wolf

DevFeed: [The Evolution of Kotlin Multiplatform Mobile - 2022 Edition (OLD) - Russell Wolf](<https://devfeed.tech/articles/the-evolution-of-kotlin-multiplatform-mobile-2022-edition-old-russell-wolf-38201.md>)

Original publisher: [Read original article](<https://touchlab.co/evolution-kotlin-multiplatform-mobile-old>)

Published: 2021-11-01T15:31:26Z

Content type: opinion

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [kotlin multiplatform mobile](<https://devfeed.tech/topics/kotlin-multiplatform-mobile.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Library](<https://devfeed.tech/topics/library.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>)

Tags: [evolution](<https://devfeed.tech/tags/evolution.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-mobile](<https://devfeed.tech/tags/kotlin-multiplatform-mobile.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>)

### AI overview

Russell Wolf reviews the evolution of Kotlin Multiplatform Mobile from its early experimental period to broader production use. The article describes improvements in Kotlin/Native memory management, Xcode integration, dependency distribution, Swift interoperability, and the growth of the KMM library ecosystem.

### Source excerpt

Touchlab's Russell Wolf looks at how the evolution of KMM has been playing out since the first introduction of Kotlin Multiplatform to today

## KotlinDL 0.3: поддержка ONNX, Object Detection API, 20+ новых моделей в ModelHub, и много новых слоев

DevFeed: [KotlinDL 0.3: поддержка ONNX, Object Detection API, 20+ новых моделей в ModelHub, и много новых слоев](<https://devfeed.tech/articles/kotlindl-0-3-onnx-object-detection-api-20-modelhub-23937.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/581462/>)

Author: zaleslaw (JetBrains)

Published: 2021-10-04T13:56:53Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [onnx](<https://devfeed.tech/topics/onnx.md>), [object-detection](<https://devfeed.tech/topics/object-detection.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Keras](<https://devfeed.tech/topics/keras.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>)

Tags: [big-data](<https://devfeed.tech/tags/big-data.md>), [central](<https://devfeed.tech/tags/central.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [fine-tuning](<https://devfeed.tech/tags/fine-tuning.md>), [image-recognition](<https://devfeed.tech/tags/image-recognition.md>), [keras](<https://devfeed.tech/tags/keras.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [object-detection](<https://devfeed.tech/tags/object-detection.md>), [onnx](<https://devfeed.tech/tags/onnx.md>), [onnx-runtime](<https://devfeed.tech/tags/onnx-runtime.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [tensorflow](<https://devfeed.tech/tags/tensorflow.md>)

### AI overview

This release article presents KotlinDL 0.3, adding ONNX model support through ONNX Runtime Java API, new ModelHub models, an experimental high-level image-recognition API, additional layers, and Maven Central availability. It also describes object-detection support and fine-tuning limitations for ONNX models.

### Source excerpt

Представляем версию 0.3 библиотеки глубокого обучения KotlinDL! Вас ждет множество новых фич: новые модели в ModelHub (включая модели для обнаружения объектов и распознавания лиц), возможность дообучать модели распознавания изображений, экспортированные из Keras и PyTorch в ONNX, экспериментальный высокоуровневый API для распознавания изображений и множество новых слоев, добавленных контрибьюторами. Также KotlinDL теперь доступен в Maven Central. В этой статье мы коснемся самых главных изменений релиза 0.3. Полный список изменений доступен по ссылке. Узнать больше о релизе

## KotlinDL 0.2: Functional API, зоопарк моделей c ResNet и MobileNet, DSL для обработки изображений

DevFeed: [KotlinDL 0.2: Functional API, зоопарк моделей c ResNet и MobileNet, DSL для обработки изображений](<https://devfeed.tech/articles/kotlindl-0-2-functional-api-c-resnet-mobilenet-dsl-23913.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/558618/>)

Author: zaleslaw (JetBrains)

Published: 2021-05-25T08:54:42Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Deep neural networks](<https://devfeed.tech/topics/deep-neural-networks.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Tensorflow](<https://devfeed.tech/topics/tensorflow.md>), [Keras](<https://devfeed.tech/topics/keras.md>), [ImageNet](<https://devfeed.tech/topics/imagenet.md>)

Tags: [dataset](<https://devfeed.tech/tags/dataset.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [image-processing](<https://devfeed.tech/tags/image-processing.md>), [keras](<https://devfeed.tech/tags/keras.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [tag-00486ebd8d87](<https://devfeed.tech/tags/tag-00486ebd8d87.md>), [tag-9d8cf70dc46c](<https://devfeed.tech/tags/tag-9d8cf70dc46c.md>), [tensorflow](<https://devfeed.tech/tags/tensorflow.md>)

### AI overview

This article presents KotlinDL 0.2, a deep-learning library written in Kotlin with TensorFlow used for low-level computations. The release adds a Functional API for graph-based neural networks, an image-preprocessing DSL, new dataset types, and a model zoo containing ResNet, MobileNet, and VGG models. KotlinDL 0.2 is available on Maven Central.

### Source excerpt

Представляем вам версию 0.2 библиотеки KotlinDL. Это библиотека глубокого обучения, где для низкоуровневых вычислений используется TensorFlow, но с высокоуровневым API и логикой, написанными на Kotlin. KotlinDL 0.2 теперь доступен на Maven Central (до этого он лежал на bintray, но закатилось солнышко земли опенсорсной). Появилось столько всего нового: новые слои, специальный DSL для препроцессинга изображений, новые типы датасетов, зоопарк моделей с несколькими моделями из семейства ResNet, MobileNet и старой доброй моделью VGG (рабочая лошадка, впрочем). В этой статье мы коснемся самых главных изменений релиза 0.2. Полный список изменений доступен по ссылке. Читать далее

## Building Codename One From Source - Maven Edition

DevFeed: [Building Codename One From Source - Maven Edition](<https://devfeed.tech/articles/building-codename-one-from-source-maven-edition-19232.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/building-codename-one-from-source-maven-edition/>)

Author: Steve Hannah

Published: 2021-04-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [building](<https://devfeed.tech/tags/building.md>), [contribute](<https://devfeed.tech/tags/contribute.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [learn](<https://devfeed.tech/tags/learn.md>), [local](<https://devfeed.tech/tags/local.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [projects](<https://devfeed.tech/tags/projects.md>)

### AI overview

A tutorial on building Codename One from source with Maven, installing it in the local Maven repository, and using that local version in Codename One projects.

### Source excerpt

Learn how to build Codename One from source and use this "local" version in your Codename One projects.

## Publishing Codename One Libraries on Maven Central

DevFeed: [Publishing Codename One Libraries on Maven Central](<https://devfeed.tech/articles/publishing-codename-one-libraries-on-maven-central-19453.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/publishing-codename-one-libraries-on-maven-central/>)

Author: Steve Hannah

Published: 2021-04-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Publishing](<https://devfeed.tech/topics/publishing.md>), [Java](<https://devfeed.tech/topics/java.md>), [XML](<https://devfeed.tech/topics/xml.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developers](<https://devfeed.tech/tags/developers.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [java](<https://devfeed.tech/tags/java.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

This tutorial explains how to publish Codename One libraries to Maven Central so app developers can use them through Maven dependency snippets. It describes the previous .cn1lib distribution process, the Maven-based alternative, continued Codename One Settings support, and manual installation for libraries not yet on Maven Central.

### Source excerpt

One of the cool things about Maven is Maven Central - the repository that contains every version of every Java library (that has been published on Maven central at least). Once your library is published, it can be used by other projects by copying and pasting an XML snippet into their pom.xml file. In this article, I describe how to publish your Codename One libraries to Maven central so that app developers can use them in their projects.

## Building Kotlin/Multiplatform with Github Actions

DevFeed: [Building Kotlin/Multiplatform with Github Actions](<https://devfeed.tech/articles/building-kotlin-multiplatform-with-github-actions-22859.md>)

Original publisher: [Read original article](<https://medium.com/kodein-koders/building-kotlin-multiplatform-with-github-actions-2478801d6d46?source=rss----f311f45ef54---4>)

Author: Romain Boisselle

Published: 2021-04-15T11:44:49Z

Content type: tutorial

Language: en

Sources: [Kodein Koders - Medium](<https://devfeed.tech/sources/kodein-koders-medium.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [kotlin-multiplatform-libraries](<https://devfeed.tech/topics/kotlin-multiplatform-libraries.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [http](<https://devfeed.tech/tags/http.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-libraries](<https://devfeed.tech/tags/kotlin-multiplatform-libraries.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>)

### AI overview

This tutorial explains how to automate Kotlin Multiplatform library publishing with GitHub Actions. It covers publishing snapshots to Maven Central, building across Linux, macOS, and Windows, and managing a shared Sonatype staging repository for stable releases.

### Source excerpt

In a previous tutorial, I showed you how to configure your Kotlin/Multiplatform libraries to be published on Maven Central. To go beyond a publication process we now need to automate things with a good CI/CD workflow. Let's see how to do this with Github Actions. As the Kodein Open Source Initiative libraries are hosted on Github, we felt that it was the best choice to use the Github Actions pipelines to test, build and deploy our libraries, as it is entirely integrated with every other part of Github. Let's start with the snapshot publication process, as it is fairly straightforward. Publishing snapshots on Maven Central has no more constraints than just being authenticated with your Sonatype account, and having your artifacts file names ending with the uppercased word SNAPSHOT. This means that you could literally upload anything in your staging repositories. Here is a Github Actions script to upload a snapshot of a Kotlin/Multiplatform project: https://medium.com/media/41c7ac097f1ff802076f92acc8243077/href In that example, we run the task publishAllPublicationToOss on Linux, Mac & Windows, literally saying to publish every available targets onto the oss repository, which is the name we gave to it in our maven-publish configuration in our Gradle build script. This is not optimal, as every platform could upload shared targets like JVM, JS or even the Kotlin Multiplatform Metadata, but it's simple, and it works! Let's now see how to deploy stable releases. We have to discuss how we will be managing the unique staging repository we need. In fact, this is quite simple, and it is resume by this image: What we need is to create a staging repository, by using the sonatype API over HTTP. This step will generate a repository ID, that we use in later steps. In the build-upload matrix, we upload every artifact onto the same staging repository. Finally, In the drop-or-release job, depending on the success or failure of the build-upload matrix, we drop or release the staging re

## Migrating Your Project to Maven

DevFeed: [Migrating Your Project to Maven](<https://devfeed.tech/articles/migrating-your-project-to-maven-19372.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/migrating-your-project-to-maven/>)

Author: Steve Hannah

Published: 2021-04-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Java](<https://devfeed.tech/topics/java.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [java](<https://devfeed.tech/tags/java.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [migration](<https://devfeed.tech/tags/migration.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

This tutorial explains how to migrate existing Codename One Ant application and library projects to Maven. It introduces the Codename One Migration tool, describes its Java 8 or later requirement and lack of dependencies beyond Java, and outlines how to download and open it.

### Source excerpt

As you may know, we are moving to Maven for our build tool. As part of this transition, we are moving towards a single Maven project structure, and away from separate structures for each IDE. This will be easier to maintain, and will also make it easier to collaborate on projects with other developers who use a different IDE (or no IDE at all).

## Holi: A library of colors, gradients and utils for Jetpack Compose

DevFeed: [Holi: A library of colors, gradients and utils for Jetpack Compose](<https://devfeed.tech/articles/holi-a-library-of-colors-gradients-and-utils-for-jetpack-compose-28390.md>)

Original publisher: [Read original article](<https://siddroid.com/post/projects/holi-a-library-of-colors-for-jetpack-compose/>)

Author: Siddhesh Patil

Published: 2021-03-30T07:52:25Z

Content type: tutorial

Language: en

Sources: [Sid Patil - Android Engineer and Kotlin Advocate](<https://devfeed.tech/sources/sid-patil-android-engineer-and-kotlin-advocate.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Library](<https://devfeed.tech/topics/library.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-library](<https://devfeed.tech/tags/android-library.md>), [color-picker-android](<https://devfeed.tech/tags/color-picker-android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [dracula-colors](<https://devfeed.tech/tags/dracula-colors.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [jetpack-compose-gradients](<https://devfeed.tech/tags/jetpack-compose-gradients.md>), [jetpack-compose-library](<https://devfeed.tech/tags/jetpack-compose-library.md>), [material-color-library-for-android](<https://devfeed.tech/tags/material-color-library-for-android.md>), [material-colors-for-jetpack-compose](<https://devfeed.tech/tags/material-colors-for-jetpack-compose.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

Holi is an open-source MIT-licensed library for Jetpack Compose on Android. It provides predefined colors from multiple palettes, gradient-building utilities, and related helper functions, and is available through Maven Central.

### Source excerpt

An open-source library of colors, gradients and utils built using Jetpack Compose for Android. Licenced under MIT and available on Maven central.

## Publishing your Kotlin Multiplatform library to Maven Central

DevFeed: [Publishing your Kotlin Multiplatform library to Maven Central](<https://devfeed.tech/articles/publishing-your-kotlin-multiplatform-library-to-maven-central-22983.md>)

Original publisher: [Read original article](<https://dev.to/kotlin/how-to-build-and-publish-a-kotlin-multiplatform-library-going-public-4a8k>)

Author: Ekaterina Petrova

Published: 2021-03-25T12:40:40Z

Content type: tutorial

Language: en

Sources: [Kotlin](<https://devfeed.tech/sources/kotlin-2.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Library](<https://devfeed.tech/topics/library.md>), [Publishing](<https://devfeed.tech/topics/publishing.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

A tutorial on publishing a Kotlin Multiplatform library to Maven Central. It covers Sonatype account registration, group ID ownership verification, GPG key setup, Gradle publication configuration, metadata and Javadocs, and signing artifacts.

### Source excerpt

Now when we've built our first Kotlin Multiplatform library and learned about multiplatform library publishing format nothing can stop us from going public and releasing our library to MavenCentral! Registering a Sonatype account If this is your first library, or you've only ever used Bintray to do this before, you will need to first register a Sonatype account. There are many articles describing the registration process on the internet. The one from GetStream is exhaustive and up to date. You can start by following the first four steps, including "Generating a GPG key pair": Register a Jira account with Sonatype (you can use my issue as an example). ✅ Verify your ownership of the group ID you want to use to publish your artifact by creating a GitHub repo. ✅ Generate a GPG key pair for signing your artifacts. ✅ Publish your public key. ✅ Export your private key. ✅ When the Maven repository and signing keys for your library are prepared, we are ready to move forward and set up our build to upload the library artifacts to a staging repository and then release them! Setting up publication Now we need to tell Gradle how to publish our libraries. Most of the work is already done by maven-publish and Kotlin Gradle Plugins - all the required publications are created automatically. We've already seen the result when we published our library to the local Maven repository. But for publishing it to Maven Central we need to take some additional steps: Configure public Maven repository URL and credentials. Provide a description and javadocs for all library components. Sign publications. Let's handle all of these tasks by writing some Gradle scripts! I suggest extracting all the publication-related logic from our library module build.script, so you can easily reuse it for other modules in the future. The most idiomatic and flexible way to do that is to use Gradle's precompiled script plugins. Our build logic will be provided as a precompiled script plugin and could be applied by

## Migrate existing library artifacts from JCenter to Maven Central

DevFeed: [Migrate existing library artifacts from JCenter to Maven Central](<https://devfeed.tech/articles/migrate-existing-library-artifacts-from-jcenter-to-maven-central-28697.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2021/03/24/migrate-artifacts-mavencentral/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2021-03-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [blogs](<https://devfeed.tech/tags/blogs.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jcenter](<https://devfeed.tech/tags/jcenter.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [mavencentral](<https://devfeed.tech/tags/mavencentral.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [migration](<https://devfeed.tech/tags/migration.md>), [private-key](<https://devfeed.tech/tags/private-key.md>), [script](<https://devfeed.tech/tags/script.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [sonatype](<https://devfeed.tech/tags/sonatype.md>)

### AI overview

A tutorial for migrating existing library artifacts from JCenter to Maven Central. It covers enumerating versions, configuring GPG signing, setting up Sonatype credentials, downloading artifacts, adding missing metadata, and signing and uploading each version.

### Source excerpt

With JCenter shutting down, many are migrating to Maven Central. And while there are many posts on how to publish new artifacts, also all existing artifacts should be migrated away from JCenter.

## Publish a Kotlin/Multiplatform library on Maven Central

DevFeed: [Publish a Kotlin/Multiplatform library on Maven Central](<https://devfeed.tech/articles/publish-a-kotlin-multiplatform-library-on-maven-central-22865.md>)

Original publisher: [Read original article](<https://medium.com/kodein-koders/publish-a-kotlin-multiplatform-library-on-maven-central-6e8a394b7030?source=rss----f311f45ef54---4>)

Author: Romain Boisselle

Published: 2021-03-09T15:02:47Z

Content type: tutorial

Language: en

Sources: [Kodein Koders - Medium](<https://devfeed.tech/sources/kodein-koders-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [maven-plugin](<https://devfeed.tech/tags/maven-plugin.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sonatype](<https://devfeed.tech/tags/sonatype.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to publish a Kotlin Multiplatform library to Maven Central. It covers migrating from Bintray and JCenter, Maven Central's requirements for sources, documentation, POM files, and signatures, and the staging-repository complications that arise in multiplatform builds.

### Source excerpt

https://medium.com/media/1f069bfe70a66ec0f8528588ae5ee209/href In our last tutorial, Salomon showed you how to create a Kotlin Multiplatform Mobile library. Now that we have some code ready to be used by the community, let me show you how to publish your future releases to Maven Central. Before going into details about how to deploy your libs to Maven Central, I want to adress library developers who already have a library published on JCenter. This tutorial is also for you! Publishing on Bintray and JCenter was a choice most of us made, because it had less constraints and more flexibility. Now that they will be shutting down quite soon, we must migrate our publication workflow. Maven Central seems to be the right choice these days, but we need to deal with new requirements. Where Bintray was giving us some latitude on what we could upload and publish, Maven Central has always been more restrictive. Indeed, every uploaded artifact needs to be accompanied at least by the following items: A bundle of the sources of the artifact The documentation that goes with the artifact, in the JVM world this is the Javadoc. A well formatted POM file. For those who are not familiar with Maven, this is the description of your project, with its name, its version, its dependencies, etc, in an XML format And finally, every item needs to be signed to be accepted. Actually, these requirements are not that hard to fulfill, and Gradle provides almost everything we need to publish our artifacts smoothly, with 2 official plugins, maven-publish and signing. But... I told you : almost! When performing a publication, before being available on Maven Central, all your uploaded artifacts with maven-publish are generally stored and referenced in one staging repository that you need to validate as the final step of publishing. While this is true for standard JVM projects, this is not the case for Kotlin/Multiplatform ones. As Kotlin/Multiplatform developers, you may know that you need two machines to b

## Migrating away from JCenter

DevFeed: [Migrating away from JCenter](<https://devfeed.tech/articles/migrating-away-from-jcenter-28695.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2021/02/04/migratingjcenter/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2021-02-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Jfrog](<https://devfeed.tech/topics/jfrog.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [bintray](<https://devfeed.tech/tags/bintray.md>), [blogs](<https://devfeed.tech/tags/blogs.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jcenter](<https://devfeed.tech/tags/jcenter.md>), [jfrog](<https://devfeed.tech/tags/jfrog.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [repository](<https://devfeed.tech/tags/repository.md>), [transitive-dependencies](<https://devfeed.tech/tags/transitive-dependencies.md>)

### AI overview

A practical guide to migrating Gradle dependencies and published artifacts away from Bintray/JCenter after JFrog announced the repository shutdown. It explains replacing JCenter with Maven Central, testing clean builds, and restricting remaining dependencies to explicit repository declarations.

### Source excerpt

This week JFrog - out of nowhere - announced to completely remove their Maven repository. Since they'll pull it offline already by May 2021 (!!!) it's time to urgently migrate away.

## Android library development - Getting started

DevFeed: [Android library development - Getting started](<https://devfeed.tech/articles/android-library-development-getting-started-28690.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2020/10/28/library-gettingstarted/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2020-10-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [Android Library](<https://devfeed.tech/topics/android-library.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Library](<https://devfeed.tech/topics/library.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [LineageOS](<https://devfeed.tech/topics/lineageos.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-library](<https://devfeed.tech/tags/android-library.md>), [blogs](<https://devfeed.tech/tags/blogs.md>), [development](<https://devfeed.tech/tags/development.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [maven-repository](<https://devfeed.tech/tags/maven-repository.md>)

### AI overview

This tutorial introduces Android library development and explains how it differs from app development. It covers a typical SDK project structure, building an Android Archive with Gradle, publishing libraries as Maven dependencies, and the implications of external dependencies.

### Source excerpt

Having switched to Android SDK development over the past year, I've run into quite a few interesting and unexpected challenges. So how does library development differ from app development?

[Next page](<https://devfeed.tech/topics/maven-central.md?cursor=WyIyMDIwLTEwLTI4VDAwOjAwOjAwKzAwOjAwIiwgIjQ2MjBlNTM1LWVhODItNDk1ZS05MDkwLTRjMDMyODMyMzJmNyJd>)