Skip to content

Post Transfer #1

@DatL4g

Description

@DatL4g

Required steps/changes after transferring this repository to Tolgee.

Renaming

The repository name (compose-tolgee) isn't really fitting anymore.
It's no longer a Compose only project but fully Kotlin Multiplatform now.

This means it can be included in any of the following:

  • Kotlin Multiplatform project
  • Java project
  • Swift project

Examples of fitting names:

  • kotlin-sdk
    • Upside: indicates that it's fully Kotlin compatible
    • Downside: Swift users might miss that it supports such
  • mobile-sdk
    • Upside: Swift users are less lightly to miss it
    • Downside: Sounds like it only supports mobile devices (Android/iOS) but supports the whole Kotlin ecosystem (and even C language compatible).

Maven Central

  • Do you (or your organization) own either a OSSRH or Central Portal account?
  • Do you own a proper namespace?
  • Do you own a (separate) gpg key to sign the packages?
  • Publishing configuration

No account yet

OSSRH is in legacy state (read more), so register a Central Portal account.

Registration documentation: https://central.sonatype.org/register/central-portal/

Namespace

A proper namespace is essential!
Since your registered domain is tolgee.io you should choose io.tolgee as namespace.

https://central.sonatype.org/publish/requirements/coordinates/#choose-your-coordinates

The resulting packages would be available like this then:

  • Core: io.tolgee:core:<version>
  • Compose: io.tolgee:compose:<version>
  • Gradle Plugin: io.tolgee:gradle-plugin:<version>
  • Compiler Plugin: io.tolgee:compiler-plugin:<version> (auto loaded from gradle plugin)

GPG Key

Publishing packages to maven central require to be signed with GPG to ensure it's provided by a verifiable person or organization.

https://central.sonatype.org/publish/requirements/gpg/
https://central.sonatype.org/publish/requirements/immutability/

Publishing configuration

Currently the packages are published using a GitHub workflow.
I recommend keeping this as it makes sure to build on a clean system against the correct JDK etc.
Btw macos is required to build apple (ios, macos, tvos, watchos) sourcesets.

Required information for the workflow: https://vanniktech.github.io/gradle-maven-publish-plugin/central/#secrets

Code Changes

After doing the above steps, some code changes are required.

Change package name to match the namespace.

  • Current package name: dev.datlag.tolgee
  • Updated package name (following the above recommendation): io.tolgee

Documentation Changes

The documentation needs a complete revamp!
It's highly outdated and I don't think a single README is enough anymore since it has so many features now.

So either a Wiki here on GitHub or adding it to https://docs.tolgee.io/.

Keep Dokka

Please keep an additional dokka page, currently: https://datl4g.github.io/compose-tolgee/index.html.
This is extremly helpful for Kotlin devs to see which targets are supported and to see the method signature.

A workflow is configured to auto-publish a GitHub page, not sure if the pages settings change on a transfer.
I can assist if it's not working/enabled anymore.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions