refactor: split modules to separate repos
This commit is contained in:
@@ -1,49 +0,0 @@
|
|||||||
# Version Catalogue
|
|
||||||
|
|
||||||
The **Version Catalogue** (Bill of Materials) is a Maven POM file provided by OnixByte to manage
|
|
||||||
dependency versions for the **OnixByte Toolbox**. By incorporating this BOM into your build
|
|
||||||
configuration, you can ensure consistent versioning across all included dependencies without
|
|
||||||
needing to specify versions explicitly in your project files. Published with Gradle metadata,
|
|
||||||
this BOM supports both Maven and Gradle projects, and this document outlines how to integrate
|
|
||||||
and use it effectively in both ecosystems.
|
|
||||||
|
|
||||||
## Using in Maven
|
|
||||||
|
|
||||||
Add the `version-catalogue` to your `pom.xml` under `<dependencyManagement>`:
|
|
||||||
|
|
||||||
```xml
|
|
||||||
<dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.onixbyte</groupId>
|
|
||||||
<artifactId>version-catalogue</artifactId>
|
|
||||||
<version>3.0.0</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</dependencyManagement>
|
|
||||||
```
|
|
||||||
|
|
||||||
Then reference any dependency built by OnixByte without a version.
|
|
||||||
|
|
||||||
## Using in Gradle
|
|
||||||
|
|
||||||
In your `build.gradle[.kts]`, apply the BOM using the `platform` dependency:
|
|
||||||
|
|
||||||
```groovy
|
|
||||||
dependencies {
|
|
||||||
implementation platform('com.onixbyte:version-catalogue:3.0.0')
|
|
||||||
implementation 'com.onixbyte:common-toolbox'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
If you are using Kotlin DSL:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
dependencies {
|
|
||||||
implementation(platform("com.onixbyte:version-catalogue:3.0.0"))
|
|
||||||
implementation("com.onixbyte:common-toolbox")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024-2026 OnixByte
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
|
||||||
* in the Software without restriction, including without limitation the rights
|
|
||||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
* copies of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
* SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import java.net.URI
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
id("java-platform")
|
|
||||||
id("maven-publish")
|
|
||||||
id("signing")
|
|
||||||
}
|
|
||||||
|
|
||||||
val commonToolboxVersion: String by project
|
|
||||||
val identityGeneratorVersion: String by project
|
|
||||||
val cryptoToolboxVersion: String by project
|
|
||||||
val mathToolboxVersion: String by project
|
|
||||||
val tupleVersion: String by project
|
|
||||||
val versionCatalogueVersion: String by project
|
|
||||||
|
|
||||||
version = versionCatalogueVersion
|
|
||||||
val projectUrl: String by project
|
|
||||||
val projectGithubUrl: String by project
|
|
||||||
val licenseName: String by project
|
|
||||||
val licenseUrl: String by project
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
constraints {
|
|
||||||
api("com.onixbyte:common-toolbox:$commonToolboxVersion")
|
|
||||||
api("com.onixbyte:identity-generator:$identityGeneratorVersion")
|
|
||||||
api("com.onixbyte:crypto-toolbox:$cryptoToolboxVersion")
|
|
||||||
api("com.onixbyte:math-toolbox:$mathToolboxVersion")
|
|
||||||
api("com.onixbyte:tuple:$tupleVersion")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
publishing {
|
|
||||||
publications {
|
|
||||||
create<MavenPublication>("versionCatalogue") {
|
|
||||||
groupId = group.toString()
|
|
||||||
artifactId = "version-catalogue"
|
|
||||||
version = versionCatalogueVersion
|
|
||||||
|
|
||||||
pom {
|
|
||||||
name = "OnixByte Version Catalogue"
|
|
||||||
description = "OnixByte DevKit BOM is designed to manage dependency versions centrally."
|
|
||||||
url = projectUrl
|
|
||||||
|
|
||||||
licenses {
|
|
||||||
license {
|
|
||||||
name = licenseName
|
|
||||||
url = licenseUrl
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
scm {
|
|
||||||
connection = "scm:git:git://github.com:onixbyte/onixbyte-toolbox.git"
|
|
||||||
developerConnection = "scm:git:git://github.com:onixbyte/onixbyte-toolbox.git"
|
|
||||||
url = projectGithubUrl
|
|
||||||
}
|
|
||||||
|
|
||||||
developers {
|
|
||||||
developer {
|
|
||||||
id = "zihluwang"
|
|
||||||
name = "Zihlu Wang"
|
|
||||||
email = "really@zihlu.wang"
|
|
||||||
timezone = "Asia/Hong_Kong"
|
|
||||||
}
|
|
||||||
|
|
||||||
developer {
|
|
||||||
id = "siujamo"
|
|
||||||
name = "Siu Jam'o"
|
|
||||||
email = "jamo.siu@outlook.com"
|
|
||||||
timezone = "Asia/Shanghai"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
from(components["javaPlatform"])
|
|
||||||
|
|
||||||
signing {
|
|
||||||
setRequired(project.hasProperty("signing.keyId"))
|
|
||||||
sign(publishing.publications["versionCatalogue"])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
maven {
|
|
||||||
name = "sonatypeNexus"
|
|
||||||
url = URI(providers.gradleProperty("repo.maven-central.host").get())
|
|
||||||
credentials {
|
|
||||||
username = providers.gradleProperty("repo.maven-central.username").get()
|
|
||||||
password = providers.gradleProperty("repo.maven-central.password").get()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user