livefront / sealed-enum

A Kotlin annotation processor that makes writing normal enum classes obsolete.
Apache License 2.0
149 stars 7 forks source link

Update to Kotlin 1.7.0 and fix declaration ordering #107

Closed alexvanyo closed 2 years ago

alexvanyo commented 2 years ago

This updates to Kotlin 1.6.21 (requiring just minor changes) and then to 1.7.0.

The update to 1.7.0 is more problematic, due to #106 . As a result, this PR more strictly defines the ordering of sealed subclasses, primarily to ensure the main use case is preserved (where ordering remains fixed for sealed subclasses declared inside of the sealed class). This new specified order is also documented on the README.

github-actions[bot] commented 2 years ago

🧛 Project Code Coverage: 97.78%

Coverage of Modified Files:

File Coverage
KotlinPoetKsp.kt 89.02%
SealedEnumProcessor.kt 98.01%

Modified Files Not Found In Coverage Report:

EnvironmentsSealedEnum.kt GenericSealedClass.kt JavaBaseClasses.kt NestedObjectsWithSameName.kt OutsideSealedClass.kt OutsideSealedClassTests.kt ProtectedInterfaceSealedClass.kt ProtectedInterfaceSealedClassWithDifferentPackageBaseClass.kt README.md SealedClassHierarchy.kt SealedClassHierarchyTests.kt SealedEnumWithAbstractBaseClasses.kt SealedEnumWithInterfaces.kt TraversalOrder.kt VisibilitySealedClass.kt build.gradle.kts com.livefront.sealedenum.kotlin.gradle.kts detekt.yml gradle-wrapper.properties libs.versions.toml

Codebase cunningly covered by count Shroud 🧛

Generated by :no_entry_sign: Danger

alexvanyo commented 2 years ago

Thanks @cdflynn !