Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change package structure for Kotlin code under buildSrc #524

Open
alexander-yevsyukov opened this issue Oct 27, 2024 · 3 comments
Open

Change package structure for Kotlin code under buildSrc #524

alexander-yevsyukov opened this issue Oct 27, 2024 · 3 comments
Assignees
Labels
/Build Build tasks

Comments

@alexander-yevsyukov
Copy link
Contributor

alexander-yevsyukov commented Oct 27, 2024

The package structure for the dependency objects we use instead of Gradle Version Catalog is mouthful, e.g., io.spine.internal.dependencies.spine.Spine. We still have not decided on migrating to Version Catalog for dependencies and we do have other code. Let's improve the code structure under buildSrc before it's exposed to wider audience.

Suggested repackaging (jupdated after comments and discussions):

  • io.spine.internal.dependency -> io.spine.dependency with the sub-packages compile, test, and lib.
  • io.spine.internal.dependency.spine -> io.spine.dependency.local.
  • io.spine.internal.gradle -> io.spine.gradle.
  • io.spine.internal.markup -> io.spine.docs.
@alexander-yevsyukov
Copy link
Contributor Author

alexander-yevsyukov commented Oct 27, 2024

Another aspect to discuss is separation of compile-time dependencies, libraries, and test frameworks and libraries. So, it could be:

io.spine.build.dependency.compile
io.spine.build.dependency.lib
io.spine.build.dependency.test

Some of the dependencies we have are transitive from the build-time tools (e.g. Plexus). They are still libraries by their nature and should go into the lib package.

@alexander-yevsyukov
Copy link
Contributor Author

alexander-yevsyukov commented Oct 27, 2024

Alternative names for io.spine.build.dependency.internal:

  • io.spine.dependency.module — modules of the Spine SDK.
  • io.spine.dependency.artifact — artifacts of the Spine SDK.
  • io.spine.dependency.local — dependencies within the SDK.

I've removed the build infix in the list above deliberately to see how it would look.

@alexander-yevsyukov
Copy link
Contributor Author

The package io.spine.internal.markup should be renamed to io.spine.docs.

The only class currently in the package is MarkdownDocument. It's a bit surprising to see a Markdown-something in the markup package.

Also, we may have other utilities related to the documentation (in a non-Gradle way) coming to this package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
/Build Build tasks
Projects
Status: No status
Development

No branches or pull requests

1 participant