From 90b7041002bef847c14261ff325194ee3e63f551 Mon Sep 17 00:00:00 2001
From: Dirk Dittert
- Take a look at the variants example
+ Take a look at the variants example
project to see an actual example using variants and BuildConfig
.
+// LineCountPlugin.kt package com.beust.kobalt.plugin.linecount import com.beust.kobalt.api.* -public class Main : BasePlugin() { +class LineCountPlugin : BasePlugin() { override val name = "kobalt-line-count" override fun apply(project: Project, context: KobaltContext) { @@ -162,22 +163,25 @@ bintray {-// Main.kt +// LineCountPlugin.kt @Task(name = "lineCount", description = "Count the lines", runBefore = arrayOf("compile")) fun lineCount(project: Project): TaskResult { var fileCount = 0 var lineCount : Long = 0 val matcher = FileSystems.getDefault().getPathMatcher("glob:**.kt") project.sourceDirectories.forEach { - Files.walkFileTree(Paths.get(it), object: SimpleFileVisitor<Path>() { - override public fun visitFile(path: Path, attrs: BasicFileAttributes): FileVisitResult { - if (matcher.matches(path)) { - fileCount++ - lineCount += Files.lines(path).count() + val path = Paths.get(it) + if (Files.isDirectory(path)) { + Files.walkFileTree(path, object : SimpleFileVisitor<Path>() { + override fun visitFile(path: Path, attrs: BasicFileAttributes): FileVisitResult { + if (matcher.matches(path)) { + fileCount++ + lineCount += Files.lines(path).count() + } + return FileVisitResult.CONTINUE } - return FileVisitResult.CONTINUE - } - }) + }) + } } log(1, "Found $lineCount lines in $fileCount files") return TaskResult() @@ -189,7 +193,7 @@ fun lineCount(project: Project): TaskResult {From 75332fdb995b898e7fc5a22c62661a3216fa34a7 Mon Sep 17 00:00:00 2001 From: Dirk Dittert-public class Main : BasePlugin() { +class LineCountPlugin : BasePlugin() {@@ -276,7 +280,7 @@ fun main(argv: Array<String>) { com.beust.kobalt.main(argv) } -public class Main : BasePlugin() { +class LineCountPlugin : BasePlugin() { // ...
Date: Sat, 25 Mar 2017 16:22:53 +0100 Subject: [PATCH 3/3] Add missing dash. --- documentation/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/index.html b/documentation/index.html index 373a433..079d51d 100644 --- a/documentation/index.html +++ b/documentation/index.html @@ -959,7 +959,7 @@ Now, all you need to do is to upload your package: Finally, you invoke ./kobaltw
with the--profiles
parameter followed by the profiles you want to activate, separated by a comma:- ./kobaltw -profiles experimental,premium assemble + ./kobaltw --profiles experimental,premium assembleKeep in mind that since your build file is a real Kotlin source file,