Skip to content

Commit

Permalink
updated README.MD
Browse files Browse the repository at this point in the history
  • Loading branch information
Kashif-E committed Sep 28, 2024
1 parent 33e6a02 commit fb03303
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 29 deletions.
64 changes: 36 additions & 28 deletions README.MD
Original file line number Diff line number Diff line change
@@ -1,43 +1,51 @@

# Voyant

Kotlin Multiplatform Library
<p align="center">
<a href="https://github.com/Kashif-E/Voyant/releases/tag/0.0.1">
<img src="https://img.shields.io/github/v/release/kashif-e/voyant" alt="Version">
</a>
</p>

## Overview


The **Voyant** is an extension library for **Voyager** it enables developers to use native ios navigation for **Apple** platforms.


## Installation

```Kotlin
implementation("io.github.kashif-mehmood-km:voyant:+")
```

## Supported Platforms

### Publish to MavenCentral
- Android
- IOS
- WasmJS
- JVM

1) Registering a Sonatype account as described here:
https://dev.to/kotlin/how-to-build-and-publish-a-kotlin-multiplatform-library-going-public-4a8k
2) Add developer id, name, email and the project url to
`/convention-plugins/src/main/kotlin/convention.publication.gradle.kts`
3) Add the secrets to `local.properties`:
## Usage

```
signing.keyId=...
signing.password=...
signing.secretKeyRingFile=...
ossrhUsername=...
ossrhPassword=...
```
Instead of using methods of voyager library like `push` use `pushX` instead. Similary for `BottomSheetNavigator` use `showX` instead of `show`

4) Run `./gradlew :voyagerX:publishAllPublicationsToSonatypeRepository`

### Build platform artifacts
You can check the `composeApp` for more details.

#### Android aar
The library is in an experimental stage, APIs can change/break.

- Run `./gradlew :voyagerX:assembleRelease`
- Output: `/voyagerX/build/outputs/aar/voyagerX-release.aar`

#### JVM jar
**Contributions**

- Run `./gradlew :voyagerX:jvmJar`
- Output: `/voyagerX/build/libs/voyagerX-jvm-1.0.jar`
We welcome contributions! Before submitting a pull request, please open an issue so we can discuss the proposed changes and collaborate on improving the project.

#### iOS Framework
**Feature Requests**
Feature requests are encouraged, and I’ll do my best to address them as quickly as possible.

- Run `./gradlew :voyagerX:linkReleaseFrameworkIosArm64`
- Output: `/voyagerX/build/bin/iosArm64/releaseFramework/voyagerX.framework`

#### Wasm binary file
## License

- Run `./gradlew :voyagerX:wasmJsBrowserDistribution`
- Output: `/voyagerX/build/dist/wasmJs/productionExecutable/voyagerX-wasm-js.wasm`
```
MIT License
```
59 changes: 58 additions & 1 deletion voyagerX/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.multiplatform)
alias(libs.plugins.android.library)
id("convention.publication")
//\\\\\\\\\\\\\\\\\\\\\\\\id("convention.publication")
alias(libs.plugins.compose.compiler)
alias(libs.plugins.compose)
id("com.vanniktech.maven.publish") version "0.28.0"
}

group = "com.kashif.voyant"
Expand Down Expand Up @@ -72,4 +75,58 @@ android {
defaultConfig {
minSdk = 21
}

publishing {
singleVariant("release") {
withJavadocJar()
withSourcesJar()
}

// For debug variant, we exclude Javadoc and sources to prevent conflicts
singleVariant("debug") {
// Exclude Javadoc and sources JARs for debug variant
}
}
}

mavenPublishing {
coordinates(
groupId = "io.github.kashif-mehmood-km",
artifactId = "voyant",
version = "0.0.1"
)



pom {
name.set("Voyant")
description.set("Voyant is an extension library for Voyager (navigation compose will be added later) to use native navigation on apple platforms..")
inceptionYear.set("2024")
url.set("https://github.com/kashif-e/voyant")

licenses {
license {
name.set("MIT")
url.set("https://opensource.org/licenses/MIT")
}
}

developers {
developer {
id.set("Kashif-E")
name.set("Kashif")
email.set("kashismails@gmail.com")
}
}

scm {
url.set("https://github.com/kashif-e/voyant")
}
}

// Configure publishing to Maven Central
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)

// Enable GPG signing for all publications
signAllPublications()
}

0 comments on commit fb03303

Please sign in to comment.