Skip to content

Commit

Permalink
Merge pull request #22 from teogor/release/1.0.0-alpha02
Browse files Browse the repository at this point in the history
Release Drifter v1.0.0-alpha02
  • Loading branch information
teogor authored Feb 27, 2024
2 parents 9c2cda2 + de0f96d commit a10b9b8
Show file tree
Hide file tree
Showing 24 changed files with 345 additions and 181 deletions.
160 changes: 74 additions & 86 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,81 +1,105 @@
import com.vanniktech.maven.publish.SonatypeHost
import dev.teogor.winds.api.MavenPublish
import dev.teogor.winds.api.getValue
import dev.teogor.winds.api.model.DependencyType
import dev.teogor.winds.api.model.Developer
import dev.teogor.winds.api.model.LicenseType
import dev.teogor.winds.api.model.createVersion
import dev.teogor.winds.api.provider.Scm
import dev.teogor.winds.gradle.utils.afterWindsPluginConfiguration
import dev.teogor.winds.gradle.utils.attachTo
import dev.teogor.winds.api.ArtifactIdFormat
import dev.teogor.winds.api.License
import dev.teogor.winds.api.NameFormat
import dev.teogor.winds.api.Person
import dev.teogor.winds.api.Scm
import dev.teogor.winds.api.TicketSystem
import dev.teogor.winds.ktx.createVersion
import org.jetbrains.dokka.gradle.DokkaPlugin
import dev.teogor.winds.ktx.scm
import dev.teogor.winds.ktx.ticketSystem
import dev.teogor.winds.ktx.person

plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.jetbrains.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.jvm) apply true

alias(libs.plugins.ceres.android.application) apply false
alias(libs.plugins.ceres.android.application.compose) apply false
alias(libs.plugins.ceres.android.library) apply false
alias(libs.plugins.ceres.android.library.compose) apply false

alias(libs.plugins.winds) apply true
alias(libs.plugins.teogor.winds) apply true

alias(libs.plugins.vanniktech.maven) apply true
alias(libs.plugins.dokka) apply true
alias(libs.plugins.spotless) apply true
alias(libs.plugins.api.validator) apply true
}

winds {
buildFeatures {
mavenPublish = true

docsGenerator = true
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(11))
}
}
tasks.withType<JavaCompile>().configureEach {
sourceCompatibility = JavaVersion.VERSION_11.toString()
targetCompatibility = JavaVersion.VERSION_11.toString()
}

mavenPublish {
displayName = "Drifter"
name = "drifter"

canBePublished = false

description =
"\uD83C\uDFAE Drifter simplifies the integration between Unity and Android, enhancing performance seamlessly and effortlessly."

groupId = "dev.teogor.drifter"
artifactIdElements = 1
url = "https://source.teogor.dev/drifter"
winds {
windsFeatures {
mavenPublishing = true
}

version = createVersion(1, 0, 0) {
alphaRelease(1)
moduleMetadata {
name = "Drifter"
description = "\uD83C\uDFAE Drifter simplifies the integration between Unity and Android, enhancing performance seamlessly and effortlessly."
yearCreated = 2023
websiteUrl = "https://source.teogor.dev/drifter/"
apiDocsUrl = "https://source.teogor.dev/drifter/html/"

artifactDescriptor {
group = "dev.teogor.drifter"
name = "Drifter"
version = createVersion(1, 0, 0) {
alphaRelease(2)
}
nameFormat = NameFormat.FULL
artifactIdFormat = ArtifactIdFormat.MODULE_NAME_ONLY
}

// TODO winds
// required by dokka
project.version = version!!.toString()

inceptionYear = 2023
// Providing SCM (Source Control Management)
scm<Scm.GitHub> {
owner = "teogor"
repository = "drifter"
}

sourceControlManagement(
Scm.Git(
owner = "teogor",
repo = "drifter",
),
)
// Providing Ticket System
ticketSystem<TicketSystem.GitHub> {
owner = "teogor"
repository = "drifter"
}

addLicense(LicenseType.APACHE_2_0)
// Providing Licenses
licensedUnder(License.Apache2())

// Providing Persons
person<Person.DeveloperContributor> {
id = "teogor"
name = "Teodor Grigor"
email = "open-source@teogor.dev"
url = "https://teogor.dev"
roles = listOf("Code Owner", "Developer", "Designer", "Maintainer")
timezone = "UTC+2"
organization = "Teogor"
organizationUrl = "https://github.com/teogor"
}
}

addDeveloper(TeogorDeveloper())
publishingOptions {
publish = false
enablePublicationSigning = true
optInForVanniktechPlugin = true
cascadePublish = true
sonatypeHost = SonatypeHost.S01
}

docsGenerator {
name = "Drifter"
identifier = "drifter"
alertOnDependentModules = true
dependencyGatheringType = DependencyType.LOCAL
documentationBuilder {
htmlPath = "html/"
}
}

Expand All @@ -84,38 +108,6 @@ val excludedModulesForWinds = listOf(
":app",
":module-unity",
)
afterWindsPluginConfiguration { winds ->
if (!excludedModulesForWinds.contains(path)) {
val mavenPublish: MavenPublish by winds
if (mavenPublish.canBePublished) {
mavenPublishing {
publishToMavenCentral(SonatypeHost.S01)
signAllPublications()

@Suppress("UnstableApiUsage")
pom {
coordinates(
groupId = mavenPublish.groupId!!,
artifactId = mavenPublish.artifactId!!,
version = mavenPublish.version!!.toString(),
)
mavenPublish attachTo this
}
}
}
}
}

data class TeogorDeveloper(
override val id: String = "teogor",
override val name: String = "Teodor Grigor",
override val email: String = "open-source@teogor.dev",
override val url: String = "https://teogor.dev",
override val roles: List<String> = listOf("Code Owner", "Developer", "Designer", "Maintainer"),
override val timezone: String = "UTC+2",
override val organization: String = "Teogor",
override val organizationUrl: String = "https://github.com/teogor",
) : Developer

val ktlintVersion = "0.50.0"

Expand All @@ -133,10 +125,10 @@ subprojects {
target("**/*.kt")
targetExclude("**/build/**/*.kt")
ktlint(ktlintVersion)
.userData(
.editorConfigOverride(
mapOf(
"android" to "true",
"ktlint_code_style" to "android",
"ktlint_code_style" to "intellij_idea",
"ij_kotlin_allow_trailing_comma" to "true",
// These rules were introduced in ktlint 0.46.0 and should not be
// enabled without further discussion. They are disabled for now.
Expand Down Expand Up @@ -197,7 +189,3 @@ subprojects {
apply<DokkaPlugin>()
}
}

tasks.dokkaHtmlMultiModule {
dependsOn(":unity:dokkaHtmlMultiModule")
}
9 changes: 5 additions & 4 deletions codegen/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
plugins {
id("java-library")
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.winds)
alias(libs.plugins.teogor.winds)
}

java {
Expand All @@ -38,8 +38,9 @@ dependencies {
}

winds {
mavenPublish {
displayName = "Codegen"
name = "codegen"
moduleMetadata {
artifactDescriptor {
name = "Codegen"
}
}
}
43 changes: 43 additions & 0 deletions docs/reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Reference

Welcome to the comprehensive API documentation for our project, meticulously crafted to empower you
to effectively utilize its capabilities. This guide provides detailed information about the
project's structure, API, and usage, enabling you to navigate the project with ease and unlock its
full potential.

### Project Overview

Our project encompasses a suite of modules, each designed to address specific functionalities and
enhance the overall developer experience. To delve into the intricacies of each module, refer to the
dedicated documentation pages:

### API Reference

* [`dev.teogor.drifter`](../html/){:target="_blank"}
* [`dev.teogor.drifter:drifter-bom`](../html/drifter-bom){:target="_blank"}
* [`dev.teogor.drifter:drifter-codegen`](../html/drifter-codegen){:target="_blank"}
* [`dev.teogor.drifter:drifter-common`](../html/drifter-common){:target="_blank"}
* [`dev.teogor.drifter:drifter-compose`](../html/drifter-compose){:target="_blank"}
* [`dev.teogor.drifter:drifter-integration`](../html/drifter-integration){:target="_blank"}
* [`dev.teogor.drifter:drifter-ksp`](../html/drifter-ksp){:target="_blank"}
* [`dev.teogor.drifter:drifter-plugin`](../html/drifter-plugin){:target="_blank"}
* [`dev.teogor.drifter:drifter-runtime`](../html/drifter-runtime){:target="_blank"}
* [`dev.teogor.drifter:drifter-wallpaper`](../html/drifter-wallpaper){:target="_blank"}
* [`dev.teogor.drifter:drifter-unity-common`](../html/unity/common){:target="_blank"}
* [`dev.teogor.drifter:drifter-unity-v2022-3-7f1`](../html/unity/v2022-3-7f1){:target="_blank"}

### Contributions and Support

We welcome your valuable feedback and contributions to the project. Your insights are crucial for
shaping the project's future and ensuring it continues to meet the needs of our community. If you
encounter any issues or have questions, please feel free to raise them on
the [GitHub Issues 🔗](https://github.com/teogor/drifter/issues) page. Our team is dedicated to
assisting you and continuously improving the project's overall quality.

### Embark on Your Coding Journey

With this extensive documentation as your guide, you are now well-equipped to embark on your coding
journey with our project. We hope you find the documentation informative and helpful as you explore
the project's capabilities and bring your ideas to life.

Happy coding!
20 changes: 20 additions & 0 deletions docs/releases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[//]: # (This file was automatically generated - do not edit)

# Drifter

---

### API Reference

* [`dev.teogor.drifter`](../html/){:target="_blank"}
* [`dev.teogor.drifter:drifter-bom`](../html/drifter-bom){:target="_blank"}
* [`dev.teogor.drifter:drifter-codegen`](../html/drifter-codegen){:target="_blank"}
* [`dev.teogor.drifter:drifter-common`](../html/drifter-common){:target="_blank"}
* [`dev.teogor.drifter:drifter-compose`](../html/drifter-compose){:target="_blank"}
* [`dev.teogor.drifter:drifter-integration`](../html/drifter-integration){:target="_blank"}
* [`dev.teogor.drifter:drifter-ksp`](../html/drifter-ksp){:target="_blank"}
* [`dev.teogor.drifter:drifter-plugin`](../html/drifter-plugin){:target="_blank"}
* [`dev.teogor.drifter:drifter-runtime`](../html/drifter-runtime){:target="_blank"}
* [`dev.teogor.drifter:drifter-wallpaper`](../html/drifter-wallpaper){:target="_blank"}
* [`dev.teogor.drifter:drifter-unity-common`](../html/unity/common){:target="_blank"}
* [`dev.teogor.drifter:drifter-unity-v2022-3-7f1`](../html/unity/v2022-3-7f1){:target="_blank"}
17 changes: 10 additions & 7 deletions docs/releases/changelog/1.0.0-alpha01.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@

## Latest SDK versions

| Status | Service or Product | Gradle dependency | Latest version |
|:------:|:-------------------------------------:|:---------------------------:|:--------------:|
| | [Drifter Compose](../../../reference/drifter-compose) | dev.teogor.drifter:compose | 1.0.0-alpha01 |
| | [Drifter Core](../../../reference/drifter-core) | dev.teogor.drifter:core | 1.0.0-alpha01 |
| | [Drifter Integration](../../../reference/drifter-integration) | dev.teogor.drifter:integration | 1.0.0-alpha01 |
| | [Drifter](../../../reference/drifter-plugin) | dev.teogor.drifter:drifter | 1.0.0-alpha01 |
| | [Drifter Wallpaper](../../../reference/drifter-wallpaper) | dev.teogor.drifter:wallpaper | 1.0.0-alpha01 |
| Status | Service or Product | Gradle dependency | Latest version |
|:------:|:-------------------------------------------------------------:|:--------------------------------------:|:--------------:|
| 🧪 | [Drifter Codegen](../../../reference/codegen) | dev.teogor.drifter:drifter-codegen | 1.0.0-alpha01 |
| 🧪 | [Drifter Common](../../../reference/drifter-common) | dev.teogor.drifter:drifter-common | 1.0.0-alpha01 |
| 🧪 | [Drifter Compose](../../../reference/drifter-compose) | dev.teogor.drifter:drifter-compose | 1.0.0-alpha01 |
| 🧪 | [Drifter Integration](../../../reference/drifter-integration) | dev.teogor.drifter:drifter-integration | 1.0.0-alpha01 |
| 🧪 | [Drifter](../../../reference/drifter-plugin) | dev.teogor.drifter:drifter | 1.0.0-alpha01 |
| 🧪 | [Drifter Wallpaper](../../../reference/drifter-wallpaper) | dev.teogor.drifter:drifter-wallpaper | 1.0.0-alpha01 |
| 🧪 | [Drifter KSP](../../../reference/ksp) | dev.teogor.drifter:drifter-ksp | 1.0.0-alpha01 |
| 🧪 | [Drifter Runtime](../../../reference/runtime) | dev.teogor.drifter:drifter-runtime | 1.0.0-alpha01 |
18 changes: 18 additions & 0 deletions docs/releases/changelog/1.0.0-alpha02.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[//]: # (This file was automatically generated - do not edit)

# Version 1.0.0-alpha02

## Latest SDK versions

| Status | Service or Product | Gradle dependency | Latest version |
|:------:|:----------------------------------------------------------------:|:-------------------------------------------:|:--------------:|
| 🧪 | [Drifter Codegen](../../../reference/codegen) | dev.teogor.drifter:drifter-codegen | 1.0.0-alpha02 |
| 🧪 | [Drifter Common](../../../reference/drifter-common) | dev.teogor.drifter:drifter-common | 1.0.0-alpha02 |
| 🧪 | [Drifter Compose](../../../reference/drifter-compose) | dev.teogor.drifter:drifter-compose | 1.0.0-alpha02 |
| 🧪 | [Drifter Integration](../../../reference/drifter-integration) | dev.teogor.drifter:drifter-integration | 1.0.0-alpha02 |
| 🧪 | [Drifter Gradle Plugin](../../../reference/drifter-plugin) | dev.teogor.drifter:drifter | 1.0.0-alpha02 |
| 🧪 | [Drifter Wallpaper](../../../reference/drifter-wallpaper) | dev.teogor.drifter:drifter-wallpaper | 1.0.0-alpha02 |
| 🧪 | [Drifter KSP](../../../reference/ksp) | dev.teogor.drifter:drifter-ksp | 1.0.0-alpha02 |
| 🧪 | [Drifter Runtime](../../../reference/runtime) | dev.teogor.drifter:drifter-runtime | 1.0.0-alpha02 |
| 🧪 | [Drifter Unity Common](../../../reference/unity/common) | dev.teogor.drifter:drifter-unity-common | 1.0.0-alpha01 |
| 🧪 | [Drifter Unity 2022.3.7f1](../../../reference/unity/v2022-3-7f1) | dev.teogor.drifter:drifter-unity-2022-3-7f1 | 1.0.0-alpha01 |
Loading

0 comments on commit a10b9b8

Please sign in to comment.