Class KspConfigurations

  • All Implemented Interfaces:

    
    public final class KspConfigurations
    
                        

    Creates and retrieves ksp-related configurations.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      KspConfigurations(Project project)
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Set<Configuration> find(KotlinCompilation<?> compilation) Returns the user-facing configurations involved in the given compilation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • KspConfigurations

        KspConfigurations(Project project)
    • Method Detail

      • find

         final Set<Configuration> find(KotlinCompilation<?> compilation)

        Returns the user-facing configurations involved in the given compilation. We use KotlinCompilation.kotlinSourceSets, not KotlinCompilation.allKotlinSourceSets for a few reasons:

        • consistency with how we created the configurations. For example, all* can return user-defined sets that don't belong to any compilation, like user-defined intermediate source sets (e.g. iosMain). These do not currently have their own ksp configuration.

        • all* can return sets belonging to other KotlinCompilations

        See test: SourceSetConfigurationsTest.configurationsForMultiplatformApp_doesNotCrossCompilationBoundaries