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

👷 New samples Gradle plugin using source sets #641

Closed
12 tasks done
LVMVRQUXL opened this issue Apr 13, 2024 · 0 comments
Closed
12 tasks done

👷 New samples Gradle plugin using source sets #641

LVMVRQUXL opened this issue Apr 13, 2024 · 0 comments
Assignees
Labels
automation Automating things.
Milestone

Comments

@LVMVRQUXL
Copy link
Contributor

LVMVRQUXL commented Apr 13, 2024

📝 Description

We want to move our Kotlin and Java samples from the samples Gradle subproject to dedicated source sets, named *Samples, in the types and the types-kotlinx-serialization subprojects.

The new Gradle plugin should provide the following tasks:

  • checkSampleSources that checks the content of sample sources
  • extractSamples that extracts samples for KDoc
  • checkSampleReferences that checks sample references from KDoc
  • backupMainSources that copies main sources into the build directory
  • inlineSamples that inlines KDoc samples
  • restoreMainSources that restores main sources from the build directory

Finally, all tasks provided by this plugin should support Kotlin and Java samples.

✅ Checklist

  • 👷 Add org.kotools.samples Gradle plugin that should create source sets suffixed by Sample for Kotlin Multiplatform projects.
  • 👷 Add checkSampleSources task in the new plugin.
  • 👷 Add extractSamples task in the new plugin.
  • 👷 Add checkSampleReferences task in the new plugin.
  • 👷 Add backupMainSources task in the new plugin.
  • 👷 Add restoreMainSources task in the new plugin.
  • 👷 Add inlineSamples task in the new plugin.
  • 👷 Configure integration of new plugin with Dokka and Kotlin.
  • 👷 Use the new plugin in types-kotlinx-serialization Gradle subproject.
  • 👷 Use the new plugin in types Gradle subproject.
  • 🔥 Remove the org.kotools.types.samples Gradle plugin.
  • 🔥 Remove the samples Gradle subproject, GitHub workflows and run configurations using it, then update the documentation referencing it in some way.
@LVMVRQUXL LVMVRQUXL added the automation Automating things. label Apr 13, 2024
@LVMVRQUXL LVMVRQUXL added this to the 4.6.0 milestone Jun 11, 2024
@LVMVRQUXL LVMVRQUXL self-assigned this Jun 18, 2024
LVMVRQUXL added a commit that referenced this issue Jun 18, 2024
This new plugin configures automatically source sets dedicated to samples for Kotlin Multiplatform projects.
LVMVRQUXL added a commit that referenced this issue Jun 18, 2024
Improves the source sets configuration for Kotlin Multiplatform projects.
LVMVRQUXL added a commit that referenced this issue Jun 19, 2024
Introduces a private `mainSourceSetSuffix` property for Kotlin Multiplatform projects.
LVMVRQUXL added a commit that referenced this issue Jun 19, 2024
Introduces this type for the `org.kotools.types.samples.v2` Gradle plugin.
LVMVRQUXL added a commit that referenced this issue Jun 19, 2024
This task type is used in the `org.kotools.types.samples.v2` plugin.
LVMVRQUXL added a commit that referenced this issue Jun 19, 2024
Starting from this commit, the plugin only creates tasks for source sets having at least one file.
LVMVRQUXL added a commit that referenced this issue Jun 19, 2024
The `types-kotlinx-serialization` Gradle subproject now uses the new samples plugin for testing purposes.
@LVMVRQUXL LVMVRQUXL changed the title 🚚 Moving samples to dedicated source sets in specific Gradle subprojects 👷 New samples Gradle plugin using source sets Jun 20, 2024
LVMVRQUXL pushed a commit that referenced this issue Jun 20, 2024
This commit replaces the `@sample` tokens from the `KotoolsTypesSerializers` type's documentation by `INLINE:` for allowing additional documentation after samples.
LVMVRQUXL pushed a commit that referenced this issue Jun 20, 2024
This commit introduces a Gradle task type for checking sample resolutions.

Ref: #641
LVMVRQUXL added a commit that referenced this issue Jun 20, 2024
This new plugin configures automatically source sets dedicated to samples for Kotlin Multiplatform projects.
LVMVRQUXL added a commit that referenced this issue Jun 20, 2024
Improves the source sets configuration for Kotlin Multiplatform projects.
LVMVRQUXL added a commit that referenced this issue Jun 20, 2024
Introduces a private `mainSourceSetSuffix` property for Kotlin Multiplatform projects.
LVMVRQUXL added a commit that referenced this issue Jun 20, 2024
Introduces this type for the `org.kotools.types.samples.v2` Gradle plugin.
LVMVRQUXL added a commit that referenced this issue Jul 3, 2024
This commit fixes samples of the `notEmptySetOf` and the `toNotEmptySet` functions.
LVMVRQUXL added a commit that referenced this issue Jul 6, 2024
It is now recommended to use the `org.kotools.samples` Gradle plugin instead.
LVMVRQUXL added a commit that referenced this issue Jul 16, 2024
Removes outdated entries from the unreleased changelog and another one for the issue #641.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automation Automating things.
Projects
None yet
Development

No branches or pull requests

1 participant