Drop cli-parser, use simple reflection-based parser instead

The main reason of this change is that major changes are required in how
command line arguments are parsed in kotlinc, and it's much easier to
make them in our own codebase (given that the code is short and simple
enough) than in a third-party library
This commit is contained in:
Alexander Udalov
2017-04-05 12:20:29 +03:00
parent 007408c792
commit 78c0111c6e
16 changed files with 225 additions and 857 deletions
@@ -17,20 +17,19 @@
package org.jetbrains.kotlin.generators.arguments
import org.jetbrains.kotlin.cli.common.arguments.*
import org.jetbrains.kotlin.cli.common.parser.com.sampullara.cli.Argument
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.utils.Printer
import java.io.File
import java.io.PrintStream
import kotlin.reflect.KAnnotatedElement
import kotlin.reflect.KProperty1
import kotlin.reflect.declaredMemberProperties
import kotlin.reflect.full.declaredMemberProperties
// Additional properties that should be included in interface
@Suppress("unused")
interface AdditionalGradleProperties {
@GradleOption(EmptyList::class)
@Argument(description = "A list of additional compiler arguments")
@Argument(value = "", description = "A list of additional compiler arguments")
var freeCompilerArgs: List<String>
object EmptyList : DefaultValues("emptyList()")