Skip to content

Commit 020d95b

Browse files
authored
Update README.md
1 parent e76332b commit 020d95b

File tree

1 file changed

+52
-82
lines changed

1 file changed

+52
-82
lines changed

README.md

Lines changed: 52 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,28 @@
1-
# ZodKmp: Kotlin Multiplatform Validation Library
1+
# ZodKmp: Kotlin Multiplatform Validation
22

3-
[![License](https://img.shields.io/github/license/colinhacks/zod)](LICENSE)
3+
4+
[![Maven Central](https://img.shields.io/maven-central/v/io.github.piashcse/zodkmp.svg)](https://search.maven.org/artifact/io.github.piashcse/zodkmp)
45
[![Kotlin Version](https://img.shields.io/badge/kotlin-2.2.20-blue.svg?logo=kotlin)](http://kotlinlang.org)
5-
[![Platform](https://img.shields.io/badge/platform-android%20|%20ios-lightgrey)](#)
6+
![badge-Android](https://img.shields.io/badge/Platform-Android-brightgreen)
7+
![badge-iOS](https://img.shields.io/badge/Platform-iOS-lightgray)
8+
![badge-desktop](http://img.shields.io/badge/Platform-Desktop-4D76CD.svg?style=flat)
9+
![badge-web](https://img.shields.io/badge/Platform-Web-blueviolet.svg?style=flat)
10+
[![License](https://img.shields.io/github/license/colinhacks/zod)](LICENSE)
11+
<a href="https://github.com/piashcse"><img alt="License" src="https://img.shields.io/static/v1?label=GitHub&message=piashcse&color=C51162"/></a>
612

713
ZodKmp is a Kotlin Multiplatform implementation of the popular [Zod](https://zod.dev/) TypeScript validation library. It provides a declarative, type-safe way to validate data in your Kotlin Multiplatform projects.
814

15+
16+
## Platform Support
17+
18+
ZodKmp supports the following platforms:
19+
20+
- Android (JVM)
21+
- iOS (Native)
22+
- JVM
23+
- JS (JavaScript)
24+
- Native (Linux, Windows, macOS)
25+
926
## Table of Contents
1027

1128
- [Features](#features)
@@ -454,16 +471,6 @@ when (result) {
454471
}
455472
```
456473

457-
## Platform Support
458-
459-
ZodKmp supports the following platforms:
460-
461-
- Android (JVM)
462-
- iOS (Native)
463-
- JVM
464-
- JS (JavaScript)
465-
- Native (Linux, Windows, macOS)
466-
467474
## Contributing
468475

469476
Contributions are welcome! Please feel free to submit a Pull Request.
@@ -473,79 +480,42 @@ Contributions are welcome! Please feel free to submit a Pull Request.
473480
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
474481
4. Push to the branch (`git push origin feature/AmazingFeature`)
475482
5. Open a Pull Request
483+
## 👨 Developed By
476484

477-
## Publishing to Maven Central
478-
479-
ZodKmp is published to Maven Central. The library is configured to be published using the vanniktech Maven Publish plugin.
485+
<a href="https://twitter.com/piashcse" target="_blank">
486+
<img src="https://avatars.githubusercontent.com/piashcse" width="90" align="left">
487+
</a>
480488

481-
### Prerequisites for Publishing
489+
**Mehedi Hassan Piash**
482490

483-
1. **Sonatype Account**: You need an account on Sonatype OSSRH (OSS Repository Hosting)
484-
2. **GPG Key**: Set up GPG signing keys for artifact signing
485-
3. **GitHub Secrets**: For automated publishing, configure the following secrets in your GitHub repository:
491+
[![Twitter](https://img.shields.io/badge/-Twitter-1DA1F2?logo=x&logoColor=white&style=for-the-badge)](https://twitter.com/piashcse)
492+
[![Medium](https://img.shields.io/badge/-Medium-00AB6C?logo=medium&logoColor=white&style=for-the-badge)](https://medium.com/@piashcse)
493+
[![Linkedin](https://img.shields.io/badge/-LinkedIn-0077B5?logo=linkedin&logoColor=white&style=for-the-badge)](https://www.linkedin.com/in/piashcse/)
494+
[![Web](https://img.shields.io/badge/-Web-0073E6?logo=appveyor&logoColor=white&style=for-the-badge)](https://piashcse.github.io/)
495+
[![Blog](https://img.shields.io/badge/-Blog-0077B5?logo=readme&logoColor=white&style=for-the-badge)](https://piashcse.blogspot.com)
486496

487-
```bash
488-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
489-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
490-
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
491-
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
492-
GPG_KEY_CONTENTS: ${{ secrets.GPG_KEY_CONTENTS }}
493-
```
494-
495-
4. **Library Version**: The version is managed in `gradle.properties`:
496-
497-
```properties
498-
library.version=1.x.y
499-
```
500-
501-
### Automated Release Process
502-
503-
The library uses GitHub Actions for automated releases and publishing. For detailed instructions, see the [RELEASING.md](RELEASING.md) document.
504-
505-
#### Creating a New Release
506-
507-
1. **Via GitHub UI**: Create a new release in the GitHub releases page with a tag in the format `vX.Y.Z` (e.g., `v1.0.0`)
508-
2. **The workflow** `.github/workflows/publish.yml` will automatically trigger and publish to Maven Central
509-
510-
### Verification
511-
512-
To verify artifacts locally before publishing to Maven Central:
513-
514-
```bash
515-
./gradlew publishToMavenCentral --no-configuration-cache
516-
```
517-
518-
### Manual Publishing
519-
520-
For manual publishing (if needed):
521-
522-
1. **Build Artifacts**: Run the build to ensure everything is working:
497+
## License
523498

524-
```bash
525-
./gradlew build
526499
```
527-
528-
2. **Publish**: Publish to Sonatype OSSRH:
529-
530-
```bash
531-
./gradlew publishToMavenCentral --no-configuration-cache
500+
MIT License
501+
502+
Copyright (c) 2025 Mehedi Hassan Piash
503+
504+
Permission is hereby granted, free of charge, to any person obtaining a copy
505+
of this software and associated documentation files (the "Software"), to deal
506+
in the Software without restriction, including without limitation the rights
507+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
508+
copies of the Software, and to permit persons to whom the Software is
509+
furnished to do so, subject to the following conditions:
510+
511+
The above copyright notice and this permission notice shall be included in all
512+
copies or substantial portions of the Software.
513+
514+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
515+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
516+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
517+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
518+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
519+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
520+
SOFTWARE.
532521
```
533-
534-
The vanniktech plugin handles publishing automatically to Maven Central.
535-
536-
### Required Properties
537-
538-
The following properties are required for Maven Central compliance and are defined in `gradle.properties`:
539-
540-
- `GROUP` - The Maven group ID (e.g., `io.github.piashcse`)
541-
- `POM_ARTIFACT_ID` - The artifact ID (e.g., `zodkmp`)
542-
- `POM_NAME` - The display name of the library
543-
- `POM_DESCRIPTION` - A description of the library
544-
- `POM_URL` - The project URL
545-
- `POM_LICENSE_NAME`, `POM_LICENSE_URL` - License information
546-
- `POM_DEVELOPER_ID`, `POM_DEVELOPER_NAME`, `POM_DEVELOPER_EMAIL` - Developer information
547-
- `POM_SCM_URL`, `POM_SCM_CONNECTION`, `POM_SCM_DEV_CONNECTION` - Source code management information
548-
549-
## License
550-
551-
Distributed under the MIT License. See `LICENSE` for more information.

0 commit comments

Comments
 (0)