buildSrc/src/main/kotlin/SourceLicenseChecker.kt
changeset 11 c028b38c3bdf
parent 0 0a13dcabf7d3
child 34 ce299aacc068
equal deleted inserted replaced
10:c32bbf843b92 11:c028b38c3bdf
    77     val kotlin = the<KotlinProjectExtension>()
    77     val kotlin = the<KotlinProjectExtension>()
    78     val taskInfix = ""
    78     val taskInfix = ""
    79     kotlin.sourceSets.configureEach {
    79     kotlin.sourceSets.configureEach {
    80         val kotlinSource = this
    80         val kotlinSource = this
    81         val sourceSetTaskName =
    81         val sourceSetTaskName =
    82             "${LicenseBasePlugin.getLICENSE_TASK_BASE_NAME()}${taskInfix}${name.capitalize(Locale.ROOT)}"
    82             "${LicenseBasePlugin.getLICENSE_TASK_BASE_NAME()}${taskInfix}${name.capitalize()}"
    83         logger.info("Adding $sourceSetTaskName task for sourceSet ${kotlinSource.name}")
    83         logger.info("Adding $sourceSetTaskName task for sourceSet ${kotlinSource.name}")
    84         if (sourceSetTaskName in tasks.names) {
    84         if (sourceSetTaskName in tasks.names) {
    85             // tasks may have already been added by configuration for the Android plugin
    85             // tasks may have already been added by configuration for the Android plugin
    86             logger.info("Tasks $sourceSetTaskName already exists. Skip")
    86             logger.info("Tasks $sourceSetTaskName already exists. Skip")
    87             return@configureEach
    87             return@configureEach
    88         }
    88         }
    89         tasks.register(sourceSetTaskName, LicenseCheck::class.java) {
    89         tasks.register(sourceSetTaskName, LicenseCheck::class.java) {
    90             source(kotlinSource.kotlin)
    90             source(kotlinSource.kotlin)
    91         }
    91         }
    92         val sourceSetFormatTaskName =
    92         val sourceSetFormatTaskName =
    93             "${LicenseBasePlugin.getFORMAT_TASK_BASE_NAME()}${taskInfix}${name.capitalize(Locale.ROOT)}"
    93             "${LicenseBasePlugin.getFORMAT_TASK_BASE_NAME()}${taskInfix}${name.capitalize()}"
    94         tasks.register(sourceSetFormatTaskName, LicenseFormat::class.java) {
    94         tasks.register(sourceSetFormatTaskName, LicenseFormat::class.java) {
    95             source(kotlinSource.kotlin)
    95             source(kotlinSource.kotlin)
    96         }
    96         }
    97     }
    97     }
    98 }
    98 }
   104     val taskInfix = "Android"
   104     val taskInfix = "Android"
   105     android.sourceSets.configureEach {
   105     android.sourceSets.configureEach {
   106         val kotlinSource = kotlin.sourceSets[name]
   106         val kotlinSource = kotlin.sourceSets[name]
   107         logger.info("Adding kotlin sources from sourceSet $name to License plugin tasks")
   107         logger.info("Adding kotlin sources from sourceSet $name to License plugin tasks")
   108         val sourceSetTaskName =
   108         val sourceSetTaskName =
   109             "${LicenseBasePlugin.getLICENSE_TASK_BASE_NAME()}${taskInfix}${name.capitalize(Locale.ROOT)}"
   109             "${LicenseBasePlugin.getLICENSE_TASK_BASE_NAME()}${taskInfix}${name.capitalize()}"
   110         tasks.named(sourceSetTaskName, LicenseCheck::class.java) {
   110         tasks.named(sourceSetTaskName, LicenseCheck::class.java) {
   111             source(kotlinSource.kotlin, manifest.srcFile)
   111             source(kotlinSource.kotlin, manifest.srcFile)
   112         }
   112         }
   113         val sourceSetFormatTaskName =
   113         val sourceSetFormatTaskName =
   114             "${LicenseBasePlugin.getFORMAT_TASK_BASE_NAME()}${taskInfix}${name.capitalize(Locale.ROOT)}"
   114             "${LicenseBasePlugin.getFORMAT_TASK_BASE_NAME()}${taskInfix}${name.capitalize()}"
   115         tasks.named(sourceSetFormatTaskName, LicenseFormat::class.java) {
   115         tasks.named(sourceSetFormatTaskName, LicenseFormat::class.java) {
   116             source(kotlinSource.kotlin, manifest.srcFile)
   116             source(kotlinSource.kotlin, manifest.srcFile)
   117         }
   117         }
   118     }
   118     }
   119 }
   119 }
   161 
   161 
   162         // Default to all source files from SourceSet
   162         // Default to all source files from SourceSet
   163         source = sourceSetSources(sourceSet)
   163         source = sourceSetSources(sourceSet)
   164     }
   164     }
   165 }
   165 }
       
   166 
       
   167 private fun String.capitalize() = replaceFirstChar {
       
   168     if (it.isLowerCase()) it.titlecase(
       
   169         Locale.ROOT
       
   170     ) else it.toString()
       
   171 }