All Projects → orangy → multiplatform-lib

orangy / multiplatform-lib

Licence: other
Sample multiplatform library in Kotlin with tests and publishing

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to multiplatform-lib

vatsinator-legacy
An open-source Vatsim monitor
Stars: ✭ 12 (-70.73%)
Mutual labels:  multiplatform
normcap
OCR powered screen-capture tool to capture information instead of images
Stars: ✭ 441 (+975.61%)
Mutual labels:  multiplatform
Kotlin-Everywhere
Kotrlin Programming Language Cross-Platform Development which includes Android, iOS and Backend. Pretty much everwhere.
Stars: ✭ 30 (-26.83%)
Mutual labels:  multiplatform
Multiplatform-Log
Kotlin Multi Platform Logger, for android an ios : Logcat & print
Stars: ✭ 49 (+19.51%)
Mutual labels:  multiplatform
combatris
A "perfect" implementation of an old classic
Stars: ✭ 20 (-51.22%)
Mutual labels:  multiplatform
Brick
🧱 Brick - Multiplatform navigation library for Compose.
Stars: ✭ 33 (-19.51%)
Mutual labels:  multiplatform
Portable-WebDAV-Library
Moved to codeberg.org - https://codeberg.org/DecaTec/Portable-WebDAV-Library - The Portable WebDAV Library is a strongly typed, async WebDAV client library which is fully compliant to RFC 4918, RFC 4331 and "Additional WebDAV Collection Properties". It is implemented as .NETStandard 1.1 library in oder to be used on any platform supporting .NETS…
Stars: ✭ 45 (+9.76%)
Mutual labels:  multiplatform
gits
A Fast CLI Git manager for multiple repositories
Stars: ✭ 39 (-4.88%)
Mutual labels:  multiplatform
kon
Kotlin Object Notation - Lightweight DSL to build fluid JSON trees
Stars: ✭ 40 (-2.44%)
Mutual labels:  multiplatform
Multiplatform-LiveData
Multiplatorm implementation of LiveDatas / MVVM in kotlin android & native ios
Stars: ✭ 95 (+131.71%)
Mutual labels:  multiplatform
ErpNet.FP
ErpNet.FP is a light-weight cross-platform Http server facilitating printing to fiscal printers through simple JSON Api.
Stars: ✭ 75 (+82.93%)
Mutual labels:  multiplatform
me
A Jetpack Compose Kotlin Multiplatform WYSIWYG blog editor
Stars: ✭ 62 (+51.22%)
Mutual labels:  multiplatform
kotlin-simple-architecture
Kotlin Simple Architecture
Stars: ✭ 35 (-14.63%)
Mutual labels:  multiplatform
PopKorn
DI can be simple. Forget about modules and components. Just use it!
Stars: ✭ 139 (+239.02%)
Mutual labels:  multiplatform
Konf
Kotlin Multiplatform conference app template
Stars: ✭ 15 (-63.41%)
Mutual labels:  multiplatform
kmp-web-wizard
Wizard for Kotlin Multiplatform
Stars: ✭ 164 (+300%)
Mutual labels:  multiplatform
kotlin-multiplatform-example
A barebones Kotlin multiplatform project with JVM and JS targets
Stars: ✭ 15 (-63.41%)
Mutual labels:  multiplatform
PaintCode2Skia
Convert your PaintCode app drawings (Android java export) to SkiaSharp C# code
Stars: ✭ 39 (-4.88%)
Mutual labels:  multiplatform
tmdb-api
This Kotlin Multiplatform library is for accessing the TMDB API to get movie and TV show content. Using for Android, iOS, and JS projects.
Stars: ✭ 31 (-24.39%)
Mutual labels:  multiplatform
ToDometer Multiplatform
WIP Kotlin Multiplatform project: A meter to-do list built with Android Jetpack, Compose UI Multiplatform, Wear Compose, SQLDelight, Koin Multiplatform, SwiftUI, Ktor Server / Client, Exposed...
Stars: ✭ 145 (+253.66%)
Mutual labels:  multiplatform

Kotlin Multiplatform Library

This project contains a no-op multiplatform library targeting JVM, JS and Native, along with tests and publishing set up. It has a common module with expect declarations and common tests, platform-specific actual implementations and tests and corresponding Gradle build files.

You can use it as a reference for how one can do some tasks that are not ready out of the box with Kotlin Multiplatform Technology, namely:

  • Run JavaScript tests with Mocha
  • Publish multiplatform libraries to Bintray

Not implemented yet:

  • Integrate with dokka to produce JavaDoc artifacts for JVM
  • Publish sources jar

Using in your library project

Add dependencies and repositories to the buildscript section:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven { url "https://dl.bintray.com/jetbrains/kotlin-native-dependencies" }
    }
    dependencies {
        classpath "com.moowork.gradle:gradle-node-plugin:$gradle_node_version"
        classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$bintray_plugin_version"
    }
}

Apply maven-publish plugin

apply plugin: 'maven-publish'

Copy these files from gradle directory of this project to your project

  • node-js.gradle – installs node and sets up node_modules directory
  • pom.gradle – configures pom.xml for publishing
  • publish.gradle – creates publishing tasks
  • test-mocha-js.gradle – creates tasks for running JS tests with Mocha

Import these files into your Gradle file after the kotlin section with targets and source sets:

apply from: rootProject.file("gradle/publish.gradle")
apply from: rootProject.file('gradle/node-js.gradle')
apply from: rootProject.file('gradle/test-mocha-js.gradle')

Enable Gradle Metadata (experimental feature) in settings.gradle:

enableFeaturePreview('GRADLE_METADATA')

Consult gradle.properties file in this project for what you need to configure for testing and publishing. Pay special attention to a section about local.properties at the end of it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].