-
Notifications
You must be signed in to change notification settings - Fork 7
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
Add multiplatform support via ksp #78
base: main
Are you sure you want to change the base?
Conversation
🧛 Project Code Coverage:
|
File | Coverage |
---|---|
CamelCase.kt |
100.00% |
ClassInspectorUtil.kt |
92.59% |
EnumForSealedEnumTypeSpec.kt |
100.00% |
EnumSealedObjectPropertySpec.kt |
100.00% |
GenSealedEnumHolder.kt |
91.27% |
InvalidSubclassVisibilityException.kt |
100.00% |
KotlinPoetKsp.kt |
86.76% |
KspUtils.kt |
100.00% |
MaybeAddOriginatingElement.kt |
100.00% |
NonObjectSealedSubclassException.kt |
100.00% |
SealedClassExtensions.kt |
100.00% |
SealedClassNode.kt |
100.00% |
SealedEnum.kt |
100.00% |
SealedEnumEnumPropertySpec.kt |
100.00% |
SealedEnumFileSpec.kt |
100.00% |
SealedEnumNamePropertySpec.kt |
100.00% |
SealedEnumOrdinalPropertySpec.kt |
100.00% |
SealedEnumProcessor.kt |
97.49% |
SealedEnumSealedEnumPropertySpec.kt |
100.00% |
SealedEnumTypeSpec.kt |
100.00% |
SealedEnumValueOfFunSpec.kt |
100.00% |
SealedEnumValuesPropertySpec.kt |
100.00% |
SealedEnumWithEnumProvider.kt |
100.00% |
SuperInterfaces.kt |
93.36% |
TreeTraversalOrder.kt |
100.00% |
TreeUtils.kt |
100.00% |
Unique.kt |
100.00% |
Visibility.kt |
100.00% |
WildcardedTypeParameters.kt |
89.13% |
Modified Files Not Found In Coverage Report:
AnnotationErrors.kt
Compilation.kt
Compilation.kt
CompilationAssertions.kt
CreateSealedEnumFromEnumTests.kt
CurrentProcessingType.kt
CurrentProcessingType.kt
Dangerfile
EmptySealedClass.kt
EmptySealedClassCompilationTests.kt
EmptySealedClassTests.kt
EmptySealedInterface.kt
EmptySealedInterfaceCompilationTests.kt
EmptySealedInterfaceTests.kt
EnumForSealedEnumProvider.kt
EnvironmentsSealedEnum.kt
EnvironmentsSealedEnumCompilationTests.kt
EnvironmentsSealedEnumTests.kt
Flag.kt
FlagCompilationTests.kt
FlagTests.kt
GenSealedEnum.kt
GenericSealedClass.kt
GenericSealedClassCompilationTests.kt
GenericSealedClassTests.kt
JavaBaseClasses.kt
JavaBaseClassesTests.kt
JavaFirstBaseClass.java
JavaInterface1.java
JavaInterface2.java
JavaInterface3.java
JavaInterface4.java
JavaInterface5.java
JavaPrivateInterfaceOuterClass.java
JavaPrivateInterfaceSubclass.java
JavaProtectedInterfaceBaseClass.java
JavaProtectedInterfaceBaseClass.java
JavaProtectedInterfaceSubclass.java
JavaProtectedInterfaceSubclass.java
JavaSecondBaseClass.java
MultiInterfaceFlag.kt
MultiInterfaceFlagCompilationTests.kt
MultiInterfaceFlagTests.kt
NestedClass.kt
NestedClassCompilationTests.kt
NestedClassTests.kt
NestedObjectsWithSameName.kt
NestedObjectsWithSameNameCompilationTests.kt
NestedObjectsWithSameNameTests.kt
NonObjectErrors.kt
OneObjectSealedClass.kt
OneObjectSealedClassCompilationTests.kt
OneObjectSealedClassTests.kt
OneObjectSealedInterface.kt
OneObjectSealedInterfaceCompilationTests.kt
OneObjectSealedInterfaceTests.kt
OutsideSealedClass.kt
OutsideSealedClassCompilationTests.kt
OutsideSealedClassTests.kt
PathsUtils.kt
PrivateInterfaceSealedClass.kt
PrivateInterfaceSealedClassTests.kt
ProcessingType.kt
ProtectedInterfaceSealedClass.kt
ProtectedInterfaceSealedClassTests.kt
ProtectedInterfaceSealedClassWithDifferentPackageBaseClass.kt
ProtectedInterfaceSealedClassWithDifferentPackageBaseClassTests.kt
README.md
README.md
README.md
RepeatableContainer.jvm.kt
RepeatableContainer.kt
SealedClassHierarchy.kt
SealedClassHierarchyCompilationTests.kt
SealedClassHierarchyTests.kt
SealedEnumWithAbstractBaseClasses.kt
SealedEnumWithAbstractBaseClassesCompilationTests.kt
SealedEnumWithAbstractBaseClassesTests.kt
SealedEnumWithInterfaces.kt
SealedEnumWithInterfacesCompilationTests.kt
SealedEnumWithInterfacesTests.kt
SealedInterfaceHierarchy.kt
SealedInterfaceHierarchyCompilationTests.kt
SealedInterfaceHierarchyTests.kt
SplitAcrossFilesSealedClass.kt
SplitAcrossFilesSealedClassCompilationTests.kt
SplitAcrossFilesSealedClassTests.kt
SplitAcrossFilesSubclassA.kt
SplitAcrossFilesSubclassB.kt
SplitAcrossFilesSubclassC.kt
TraversalOrder.kt
TraversalOrderCompilationTests.kt
TraversalOrderTests.kt
TreeUtilsTests.kt
TwoObjectSealedClass.kt
TwoObjectSealedClassCompilationTests.kt
TwoObjectSealedClassTests.kt
TwoObjectSealedInterface.kt
TwoObjectSealedInterfaceCompilationTests.kt
TwoObjectSealedInterfaceTests.kt
VisibilitySealedClass.kt
VisibilitySealedClassCompilationTests.kt
VisibilitySealedClassTests.kt
VisibilitySealedClassVisibilityTests.kt
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
ci.yml
com.livefront.sealedenum.detekt.gradle.kts
com.livefront.sealedenum.kotlin.gradle.kts
com.livefront.sealedenum.publish.gradle.kts
detekt.yml
gradle.properties
libs.versions.toml
settings.gradle.kts
yarn.lock
Codebase cunningly covered by count Shroud 🧛
Generated by 🚫 Danger
8c99e84
to
9e8e184
Compare
excellent,
So this will be interesting, I see
Feels like progress =) |
f8fccda
to
75dd212
Compare
Yep, this exploration is roughly tangential to the The key bit is that for The next step here is reworking the test suite, so that it can be run on more than just |
0a6a122
to
1e3bcd4
Compare
a934e0b
to
0392c05
Compare
8360961
to
df49143
Compare
649a0c5
to
c24f074
Compare
c24f074
to
7d53e8c
Compare
7d53e8c
to
e414c48
Compare
e414c48
to
37fead7
Compare
This is ready to review, but if merged will be blocked on switching to mavenCentral publishing (#104) since Jitpack won't be building on macOS. |
37fead7
to
8742bdf
Compare
Adds multiplatform support for converting
sealed-enum
into a multiplatform library usingksp
to generate code.Current progress:
kotlin("multiplatform")
plugin globallyruntime
to multiplatform projectClass
toKClass
for return type ofenumClass
to remove Java dependency Convert Class to KClass #128runtime
tests multiplatform to run on all platformsprocessing-tests
to common codeksp-tests
ksp
to generatecommonMain
code