-
Notifications
You must be signed in to change notification settings - Fork 7
Add multiplatform support via ksp #78
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
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-enuminto a multiplatform library usingkspto generate code.Current progress:
kotlin("multiplatform")plugin globallyruntimeto multiplatform projectClasstoKClassfor return type ofenumClassto remove Java dependency Convert Class to KClass #128runtimetests multiplatform to run on all platformsprocessing-teststo common codeksp-testskspto generatecommonMaincode